@nosana/node 1.0.0-rc
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +92 -0
- package/dist/.env +7 -0
- package/dist/.env.dev +5 -0
- package/dist/.env.prd +4 -0
- package/dist/NodeManager/client/index.d.ts +4 -0
- package/dist/NodeManager/client/index.js +14 -0
- package/dist/NodeManager/configs/NodeConfigs.d.ts +14 -0
- package/dist/NodeManager/configs/NodeConfigs.js +32 -0
- package/dist/NodeManager/configs/__tests__/NodeConfigs.spec.d.ts +1 -0
- package/dist/NodeManager/configs/__tests__/NodeConfigs.spec.js +161 -0
- package/dist/NodeManager/configs/configs.d.ts +21 -0
- package/dist/NodeManager/configs/configs.js +23 -0
- package/dist/NodeManager/db/__tests__/index.spec.d.ts +1 -0
- package/dist/NodeManager/db/__tests__/index.spec.js +65 -0
- package/dist/NodeManager/db/index.d.ts +50 -0
- package/dist/NodeManager/db/index.js +64 -0
- package/dist/NodeManager/errors/NodeAlreadyActiveError.d.ts +3 -0
- package/dist/NodeManager/errors/NodeAlreadyActiveError.js +6 -0
- package/dist/NodeManager/index.d.ts +24 -0
- package/dist/NodeManager/index.js +317 -0
- package/dist/NodeManager/jobs/index.d.ts +6 -0
- package/dist/NodeManager/jobs/index.js +45 -0
- package/dist/NodeManager/monitoring/LogMonitoringRegistry.d.ts +9 -0
- package/dist/NodeManager/monitoring/LogMonitoringRegistry.js +23 -0
- package/dist/NodeManager/monitoring/log/NodeLog.d.ts +56 -0
- package/dist/NodeManager/monitoring/log/NodeLog.js +1357 -0
- package/dist/NodeManager/monitoring/log/console/ConsoleLogger.d.ts +20 -0
- package/dist/NodeManager/monitoring/log/console/ConsoleLogger.js +290 -0
- package/dist/NodeManager/monitoring/ping/PingHandler.d.ts +13 -0
- package/dist/NodeManager/monitoring/ping/PingHandler.js +68 -0
- package/dist/NodeManager/monitoring/proxy/loggingProxy.d.ts +15 -0
- package/dist/NodeManager/monitoring/proxy/loggingProxy.js +145 -0
- package/dist/NodeManager/monitoring/state/NodeState.d.ts +29 -0
- package/dist/NodeManager/monitoring/state/NodeState.js +680 -0
- package/dist/NodeManager/monitoring/state/classifyState.d.ts +14 -0
- package/dist/NodeManager/monitoring/state/classifyState.js +57 -0
- package/dist/NodeManager/monitoring/streaming/LogStreamer.d.ts +14 -0
- package/dist/NodeManager/monitoring/streaming/LogStreamer.js +58 -0
- package/dist/NodeManager/monitoring/streaming/StateStreamer.d.ts +15 -0
- package/dist/NodeManager/monitoring/streaming/StateStreamer.js +59 -0
- package/dist/NodeManager/node/Node.d.ts +44 -0
- package/dist/NodeManager/node/Node.js +321 -0
- package/dist/NodeManager/node/abort/NodeAbortController.d.ts +6 -0
- package/dist/NodeManager/node/abort/NodeAbortController.js +12 -0
- package/dist/NodeManager/node/abort/abortControllerSelector.d.ts +3 -0
- package/dist/NodeManager/node/abort/abortControllerSelector.js +13 -0
- package/dist/NodeManager/node/api/ApiEventEmitter.d.ts +8 -0
- package/dist/NodeManager/node/api/ApiEventEmitter.js +13 -0
- package/dist/NodeManager/node/api/ApiHandler.d.ts +28 -0
- package/dist/NodeManager/node/api/ApiHandler.js +193 -0
- package/dist/NodeManager/node/api/eventsource/index.d.ts +6 -0
- package/dist/NodeManager/node/api/eventsource/index.js +35 -0
- package/dist/NodeManager/node/api/middlewares/index.d.ts +5 -0
- package/dist/NodeManager/node/api/middlewares/index.js +7 -0
- package/dist/NodeManager/node/api/middlewares/rest/verifyBackendSignatureMiddleware.d.ts +3 -0
- package/dist/NodeManager/node/api/middlewares/rest/verifyBackendSignatureMiddleware.js +20 -0
- package/dist/NodeManager/node/api/middlewares/rest/verifyJobOwnerSignatureMiddleware.d.ts +5 -0
- package/dist/NodeManager/node/api/middlewares/rest/verifyJobOwnerSignatureMiddleware.js +28 -0
- package/dist/NodeManager/node/api/middlewares/ws/verifyWSJobOwnerSignatureMiddleware.d.ts +6 -0
- package/dist/NodeManager/node/api/middlewares/ws/verifyWSJobOwnerSignatureMiddleware.js +30 -0
- package/dist/NodeManager/node/api/middlewares/ws/verifyWSMiddleware.d.ts +6 -0
- package/dist/NodeManager/node/api/middlewares/ws/verifyWSMiddleware.js +20 -0
- package/dist/NodeManager/node/api/middlewares/ws/verifyWSNodeOrJobOwnerSignatureMiddleware.d.ts +6 -0
- package/dist/NodeManager/node/api/middlewares/ws/verifyWSNodeOrJobOwnerSignatureMiddleware.js +33 -0
- package/dist/NodeManager/node/api/routes/get/index.d.ts +6 -0
- package/dist/NodeManager/node/api/routes/get/index.js +6 -0
- package/dist/NodeManager/node/api/routes/get/job-definition.d.ts +5 -0
- package/dist/NodeManager/node/api/routes/get/job-definition.js +16 -0
- package/dist/NodeManager/node/api/routes/get/job-info/buildInfoObject.d.ts +17 -0
- package/dist/NodeManager/node/api/routes/get/job-info/buildInfoObject.js +15 -0
- package/dist/NodeManager/node/api/routes/get/job-info/job-info.d.ts +5 -0
- package/dist/NodeManager/node/api/routes/get/job-info/job-info.js +18 -0
- package/dist/NodeManager/node/api/routes/get/job-info/pollActiveJob.d.ts +6 -0
- package/dist/NodeManager/node/api/routes/get/job-info/pollActiveJob.js +42 -0
- package/dist/NodeManager/node/api/routes/get/job-operation-info.d.ts +28 -0
- package/dist/NodeManager/node/api/routes/get/job-operation-info.js +53 -0
- package/dist/NodeManager/node/api/routes/get/job-results.d.ts +5 -0
- package/dist/NodeManager/node/api/routes/get/job-results.js +15 -0
- package/dist/NodeManager/node/api/routes/get/node-info.d.ts +3 -0
- package/dist/NodeManager/node/api/routes/get/node-info.js +23 -0
- package/dist/NodeManager/node/api/routes/get/service-url.d.ts +5 -0
- package/dist/NodeManager/node/api/routes/get/service-url.js +27 -0
- package/dist/NodeManager/node/api/routes/index.d.ts +3 -0
- package/dist/NodeManager/node/api/routes/index.js +3 -0
- package/dist/NodeManager/node/api/routes/post/index.d.ts +4 -0
- package/dist/NodeManager/node/api/routes/post/index.js +4 -0
- package/dist/NodeManager/node/api/routes/post/job-definition.d.ts +6 -0
- package/dist/NodeManager/node/api/routes/post/job-definition.js +15 -0
- package/dist/NodeManager/node/api/routes/post/job-operation-actions.d.ts +24 -0
- package/dist/NodeManager/node/api/routes/post/job-operation-actions.js +79 -0
- package/dist/NodeManager/node/api/routes/post/node-validation.d.ts +4 -0
- package/dist/NodeManager/node/api/routes/post/node-validation.js +1783 -0
- package/dist/NodeManager/node/api/routes/post/service-stop.d.ts +5 -0
- package/dist/NodeManager/node/api/routes/post/service-stop.js +13 -0
- package/dist/NodeManager/node/api/routes/wss/index.d.ts +2 -0
- package/dist/NodeManager/node/api/routes/wss/index.js +2 -0
- package/dist/NodeManager/node/api/routes/wss/log.d.ts +14 -0
- package/dist/NodeManager/node/api/routes/wss/log.js +34 -0
- package/dist/NodeManager/node/api/routes/wss/status.d.ts +8 -0
- package/dist/NodeManager/node/api/routes/wss/status.js +11 -0
- package/dist/NodeManager/node/api/types/index.d.ts +12 -0
- package/dist/NodeManager/node/api/types/index.js +1 -0
- package/dist/NodeManager/node/balance/balanceHandler.d.ts +12 -0
- package/dist/NodeManager/node/balance/balanceHandler.js +52 -0
- package/dist/NodeManager/node/expiry/expiryHandler.d.ts +24 -0
- package/dist/NodeManager/node/expiry/expiryHandler.js +99 -0
- package/dist/NodeManager/node/grid/gridHandler.d.ts +19 -0
- package/dist/NodeManager/node/grid/gridHandler.js +168 -0
- package/dist/NodeManager/node/health/healthHandler.d.ts +16 -0
- package/dist/NodeManager/node/health/healthHandler.js +69 -0
- package/dist/NodeManager/node/job/JobRegistry.d.ts +14 -0
- package/dist/NodeManager/node/job/JobRegistry.js +48 -0
- package/dist/NodeManager/node/job/defination/JobDefinitionStrategy.d.ts +13 -0
- package/dist/NodeManager/node/job/defination/JobDefinitionStrategy.js +21 -0
- package/dist/NodeManager/node/job/defination/strategy/ApiJobDefinitionStrategy.d.ts +8 -0
- package/dist/NodeManager/node/job/defination/strategy/ApiJobDefinitionStrategy.js +40 -0
- package/dist/NodeManager/node/job/defination/strategy/ApiListenJobDefinitionStrategy.d.ts +9 -0
- package/dist/NodeManager/node/job/defination/strategy/ApiListenJobDefinitionStrategy.js +16 -0
- package/dist/NodeManager/node/job/defination/strategy/IpfsJobDefinitionStrategy.d.ts +7 -0
- package/dist/NodeManager/node/job/defination/strategy/IpfsJobDefinitionStrategy.js +13 -0
- package/dist/NodeManager/node/job/jobExternalUtil.d.ts +10 -0
- package/dist/NodeManager/node/job/jobExternalUtil.js +82 -0
- package/dist/NodeManager/node/job/jobHandler.d.ts +43 -0
- package/dist/NodeManager/node/job/jobHandler.js +193 -0
- package/dist/NodeManager/node/job/result/ResultReturnStrategy.d.ts +13 -0
- package/dist/NodeManager/node/job/result/ResultReturnStrategy.js +21 -0
- package/dist/NodeManager/node/job/result/startegy/ApiListenResultReturnStrategy.d.ts +8 -0
- package/dist/NodeManager/node/job/result/startegy/ApiListenResultReturnStrategy.js +22 -0
- package/dist/NodeManager/node/job/result/startegy/ApiResultReturnStrategy.d.ts +8 -0
- package/dist/NodeManager/node/job/result/startegy/ApiResultReturnStrategy.js +42 -0
- package/dist/NodeManager/node/key/keyHandler.d.ts +16 -0
- package/dist/NodeManager/node/key/keyHandler.js +74 -0
- package/dist/NodeManager/node/market/marketHandler.d.ts +30 -0
- package/dist/NodeManager/node/market/marketHandler.js +137 -0
- package/dist/NodeManager/node/register/index.d.ts +16 -0
- package/dist/NodeManager/node/register/index.js +88 -0
- package/dist/NodeManager/node/resource/definition/index.d.ts +2 -0
- package/dist/NodeManager/node/resource/definition/index.js +2 -0
- package/dist/NodeManager/node/resource/helpers/createHFArgs.d.ts +6 -0
- package/dist/NodeManager/node/resource/helpers/createHFArgs.js +26 -0
- package/dist/NodeManager/node/resource/helpers/createOllamaArgs.d.ts +2 -0
- package/dist/NodeManager/node/resource/helpers/createOllamaArgs.js +20 -0
- package/dist/NodeManager/node/resource/helpers/createResourceName.d.ts +2 -0
- package/dist/NodeManager/node/resource/helpers/createResourceName.js +18 -0
- package/dist/NodeManager/node/resource/helpers/createS3Args.d.ts +7 -0
- package/dist/NodeManager/node/resource/helpers/createS3Args.js +32 -0
- package/dist/NodeManager/node/resource/helpers/hasDockerVolume.d.ts +2 -0
- package/dist/NodeManager/node/resource/helpers/hasDockerVolume.js +3 -0
- package/dist/NodeManager/node/resource/helpers/hoursSunceDate.d.ts +1 -0
- package/dist/NodeManager/node/resource/helpers/hoursSunceDate.js +3 -0
- package/dist/NodeManager/node/resource/helpers/repoTagsContainsImage.d.ts +1 -0
- package/dist/NodeManager/node/resource/helpers/repoTagsContainsImage.js +13 -0
- package/dist/NodeManager/node/resource/image/imageManager.d.ts +13 -0
- package/dist/NodeManager/node/resource/image/imageManager.js +66 -0
- package/dist/NodeManager/node/resource/resourceManager.d.ts +21 -0
- package/dist/NodeManager/node/resource/resourceManager.js +57 -0
- package/dist/NodeManager/node/resource/volume/volumeManager.d.ts +20 -0
- package/dist/NodeManager/node/resource/volume/volumeManager.js +228 -0
- package/dist/NodeManager/node/run/runHandler.d.ts +18 -0
- package/dist/NodeManager/node/run/runHandler.js +139 -0
- package/dist/NodeManager/node/specs/specsHandler.d.ts +17 -0
- package/dist/NodeManager/node/specs/specsHandler.js +135 -0
- package/dist/NodeManager/node/specs/type.d.ts +15 -0
- package/dist/NodeManager/node/specs/type.js +1 -0
- package/dist/NodeManager/node/stake/StakeHandler.d.ts +22 -0
- package/dist/NodeManager/node/stake/StakeHandler.js +111 -0
- package/dist/NodeManager/node/task/TaskManager.d.ts +267 -0
- package/dist/NodeManager/node/task/TaskManager.js +480 -0
- package/dist/NodeManager/node/task/TaskManagerRegistry.d.ts +49 -0
- package/dist/NodeManager/node/task/TaskManagerRegistry.js +68 -0
- package/dist/NodeManager/node/task/executions/createDependencyMap.d.ts +18 -0
- package/dist/NodeManager/node/task/executions/createDependencyMap.js +32 -0
- package/dist/NodeManager/node/task/executions/createExecutionPlan.d.ts +14 -0
- package/dist/NodeManager/node/task/executions/createExecutionPlan.js +36 -0
- package/dist/NodeManager/node/task/executions/createOperationMap.d.ts +11 -0
- package/dist/NodeManager/node/task/executions/createOperationMap.js +34 -0
- package/dist/NodeManager/node/task/executions/validateExecutionPlan.d.ts +12 -0
- package/dist/NodeManager/node/task/executions/validateExecutionPlan.js +48 -0
- package/dist/NodeManager/node/task/globalStore/finalizeEnv.d.ts +2 -0
- package/dist/NodeManager/node/task/globalStore/finalizeEnv.js +30 -0
- package/dist/NodeManager/node/task/globalStore/getByPath.d.ts +2 -0
- package/dist/NodeManager/node/task/globalStore/getByPath.js +12 -0
- package/dist/NodeManager/node/task/globalStore/index.d.ts +9 -0
- package/dist/NodeManager/node/task/globalStore/index.js +9 -0
- package/dist/NodeManager/node/task/globalStore/interpolate.d.ts +2 -0
- package/dist/NodeManager/node/task/globalStore/interpolate.js +16 -0
- package/dist/NodeManager/node/task/globalStore/interpolateOperation.d.ts +3 -0
- package/dist/NodeManager/node/task/globalStore/interpolateOperation.js +221 -0
- package/dist/NodeManager/node/task/globalStore/resolveLiteralsInString.d.ts +2 -0
- package/dist/NodeManager/node/task/globalStore/resolveLiteralsInString.js +7 -0
- package/dist/NodeManager/node/task/globalStore/setDefaults.d.ts +4 -0
- package/dist/NodeManager/node/task/globalStore/setDefaults.js +65 -0
- package/dist/NodeManager/node/task/globalStore/setHost.d.ts +2 -0
- package/dist/NodeManager/node/task/globalStore/setHost.js +9 -0
- package/dist/NodeManager/node/task/globalStore/setResult.d.ts +2 -0
- package/dist/NodeManager/node/task/globalStore/setResult.js +10 -0
- package/dist/NodeManager/node/task/globalStore/setResults.d.ts +2 -0
- package/dist/NodeManager/node/task/globalStore/setResults.js +9 -0
- package/dist/NodeManager/node/task/globalStore/stanatizeArrays.d.ts +2 -0
- package/dist/NodeManager/node/task/globalStore/stanatizeArrays.js +14 -0
- package/dist/NodeManager/node/task/globalStore/transformCollections.d.ts +13 -0
- package/dist/NodeManager/node/task/globalStore/transformCollections.js +152 -0
- package/dist/NodeManager/node/task/helpers/createDefaultOpState.d.ts +2 -0
- package/dist/NodeManager/node/task/helpers/createDefaultOpState.js +20 -0
- package/dist/NodeManager/node/task/helpers/createInitialFlow.d.ts +8 -0
- package/dist/NodeManager/node/task/helpers/createInitialFlow.js +24 -0
- package/dist/NodeManager/node/task/loggers/logManager.d.ts +8 -0
- package/dist/NodeManager/node/task/loggers/logManager.js +54 -0
- package/dist/NodeManager/node/task/operations/getOperationsInfos.d.ts +6 -0
- package/dist/NodeManager/node/task/operations/getOperationsInfos.js +33 -0
- package/dist/NodeManager/node/task/operations/moveTaskManagerGroupOperation.d.ts +2 -0
- package/dist/NodeManager/node/task/operations/moveTaskManagerGroupOperation.js +65 -0
- package/dist/NodeManager/node/task/operations/restartTaskManagerGroupOperation.d.ts +10 -0
- package/dist/NodeManager/node/task/operations/restartTaskManagerGroupOperation.js +37 -0
- package/dist/NodeManager/node/task/operations/restartTaskManagerOperation.d.ts +14 -0
- package/dist/NodeManager/node/task/operations/restartTaskManagerOperation.js +117 -0
- package/dist/NodeManager/node/task/operations/runTaskManagerOperation.d.ts +21 -0
- package/dist/NodeManager/node/task/operations/runTaskManagerOperation.js +488 -0
- package/dist/NodeManager/node/task/operations/stopAllTaskManagerOperations.d.ts +21 -0
- package/dist/NodeManager/node/task/operations/stopAllTaskManagerOperations.js +54 -0
- package/dist/NodeManager/node/task/operations/stopTaskManagerGroupOperation.d.ts +10 -0
- package/dist/NodeManager/node/task/operations/stopTaskManagerGroupOperation.js +43 -0
- package/dist/NodeManager/node/task/operations/stopTaskManagerOperation.d.ts +14 -0
- package/dist/NodeManager/node/task/operations/stopTaskManagerOperation.js +137 -0
- package/dist/NodeManager/node/utils/convertFromBytes.d.ts +4 -0
- package/dist/NodeManager/node/utils/convertFromBytes.js +11 -0
- package/dist/NodeManager/node/utils/extractLogsAndResultsFromLogBuffer.d.ts +7 -0
- package/dist/NodeManager/node/utils/extractLogsAndResultsFromLogBuffer.js +34 -0
- package/dist/NodeManager/node/utils/extractResultsFromLogs.d.ts +18 -0
- package/dist/NodeManager/node/utils/extractResultsFromLogs.js +37 -0
- package/dist/NodeManager/node/utils/generateRandomId.d.ts +1 -0
- package/dist/NodeManager/node/utils/generateRandomId.js +3 -0
- package/dist/NodeManager/node/utils/multiProgressBarReporter.d.ts +16 -0
- package/dist/NodeManager/node/utils/multiProgressBarReporter.js +22 -0
- package/dist/NodeManager/node/utils/poll.d.ts +5 -0
- package/dist/NodeManager/node/utils/poll.js +25 -0
- package/dist/NodeManager/node/utils/progressBarReporter.d.ts +9 -0
- package/dist/NodeManager/node/utils/progressBarReporter.js +28 -0
- package/dist/NodeManager/provider/ContainerStateManager.d.ts +24 -0
- package/dist/NodeManager/provider/ContainerStateManager.js +122 -0
- package/dist/NodeManager/provider/ExposedPortHealthCheck.d.ts +29 -0
- package/dist/NodeManager/provider/ExposedPortHealthCheck.js +183 -0
- package/dist/NodeManager/provider/Provider.d.ts +70 -0
- package/dist/NodeManager/provider/Provider.js +457 -0
- package/dist/NodeManager/provider/__tests__/Provider.spec.d.ts +1 -0
- package/dist/NodeManager/provider/__tests__/Provider.spec.js +337 -0
- package/dist/NodeManager/provider/containerOrchestration/docker/dockerExtended/index.d.ts +6 -0
- package/dist/NodeManager/provider/containerOrchestration/docker/dockerExtended/index.js +45 -0
- package/dist/NodeManager/provider/containerOrchestration/docker/index.d.ts +43 -0
- package/dist/NodeManager/provider/containerOrchestration/docker/index.js +366 -0
- package/dist/NodeManager/provider/containerOrchestration/docker/utils/createServerObject.d.ts +5 -0
- package/dist/NodeManager/provider/containerOrchestration/docker/utils/createServerObject.js +15 -0
- package/dist/NodeManager/provider/containerOrchestration/docker/utils/deadline.d.ts +1 -0
- package/dist/NodeManager/provider/containerOrchestration/docker/utils/deadline.js +15 -0
- package/dist/NodeManager/provider/containerOrchestration/docker/utils/repoTagsContainsImage.d.ts +1 -0
- package/dist/NodeManager/provider/containerOrchestration/docker/utils/repoTagsContainsImage.js +13 -0
- package/dist/NodeManager/provider/containerOrchestration/interface.d.ts +53 -0
- package/dist/NodeManager/provider/containerOrchestration/interface.js +1 -0
- package/dist/NodeManager/provider/containerOrchestration/podman/index.d.ts +11 -0
- package/dist/NodeManager/provider/containerOrchestration/podman/index.js +69 -0
- package/dist/NodeManager/provider/containerOrchestration/podman/utils/createPodmanRunOptions.d.ts +103 -0
- package/dist/NodeManager/provider/containerOrchestration/podman/utils/createPodmanRunOptions.js +66 -0
- package/dist/NodeManager/provider/containerOrchestration/selectContainerOrchestration.d.ts +2 -0
- package/dist/NodeManager/provider/containerOrchestration/selectContainerOrchestration.js +11 -0
- package/dist/NodeManager/provider/types.d.ts +18 -0
- package/dist/NodeManager/provider/types.js +1 -0
- package/dist/NodeManager/provider/utils/parseBuffer.d.ts +4 -0
- package/dist/NodeManager/provider/utils/parseBuffer.js +19 -0
- package/dist/NodeManager/repository/NodeRepository.d.ts +53 -0
- package/dist/NodeManager/repository/NodeRepository.js +153 -0
- package/dist/NodeManager/sdk/index.d.ts +9 -0
- package/dist/NodeManager/sdk/index.js +146 -0
- package/dist/NodeManager/types/index.d.ts +27 -0
- package/dist/NodeManager/types/index.js +1 -0
- package/dist/NodeManager/utils/convertFromBytes.d.ts +4 -0
- package/dist/NodeManager/utils/convertFromBytes.js +11 -0
- package/dist/NodeManager/utils/expose-util.d.ts +14 -0
- package/dist/NodeManager/utils/expose-util.js +88 -0
- package/dist/NodeManager/utils/jobDefinitionParser.d.ts +12 -0
- package/dist/NodeManager/utils/jobDefinitionParser.js +31 -0
- package/dist/NodeManager/utils/ops-util.d.ts +3 -0
- package/dist/NodeManager/utils/ops-util.js +19 -0
- package/dist/NodeManager/utils/timeoutPromiseWrapper.d.ts +1 -0
- package/dist/NodeManager/utils/timeoutPromiseWrapper.js +27 -0
- package/dist/NodeManager/utils/utils.d.ts +39 -0
- package/dist/NodeManager/utils/utils.js +107 -0
- package/dist/NodeManager/utils/wslCheck.d.ts +14 -0
- package/dist/NodeManager/utils/wslCheck.js +54 -0
- package/dist/cli/address/__tests__/command.spec.d.ts +1 -0
- package/dist/cli/address/__tests__/command.spec.js +33 -0
- package/dist/cli/address/action.d.ts +4 -0
- package/dist/cli/address/action.js +4 -0
- package/dist/cli/address/command.d.ts +2 -0
- package/dist/cli/address/command.js +9 -0
- package/dist/cli/createNosanaCli.d.ts +2 -0
- package/dist/cli/createNosanaCli.js +32 -0
- package/dist/cli/index.d.ts +1 -0
- package/dist/cli/index.js +16 -0
- package/dist/cli/node/__tests__/index.spec.d.ts +1 -0
- package/dist/cli/node/__tests__/index.spec.js +10 -0
- package/dist/cli/node/index.d.ts +5 -0
- package/dist/cli/node/index.js +12 -0
- package/dist/cli/node/prune/action.d.ts +4 -0
- package/dist/cli/node/prune/action.js +18 -0
- package/dist/cli/node/prune/command.d.ts +2 -0
- package/dist/cli/node/prune/command.js +10 -0
- package/dist/cli/node/run/__tests__/command.spec.d.ts +1 -0
- package/dist/cli/node/run/__tests__/command.spec.js +38 -0
- package/dist/cli/node/run/action.d.ts +3 -0
- package/dist/cli/node/run/action.js +82 -0
- package/dist/cli/node/run/command.d.ts +3 -0
- package/dist/cli/node/run/command.js +17 -0
- package/dist/cli/node/run/generateDeploymentEndpointsTable.d.ts +2 -0
- package/dist/cli/node/run/generateDeploymentEndpointsTable.js +45 -0
- package/dist/cli/node/start/__tests__/command.spec.d.ts +1 -0
- package/dist/cli/node/start/__tests__/command.spec.js +39 -0
- package/dist/cli/node/start/action.d.ts +4 -0
- package/dist/cli/node/start/action.js +48 -0
- package/dist/cli/node/start/command.d.ts +3 -0
- package/dist/cli/node/start/command.js +19 -0
- package/dist/cli/sharedOptions/--api.d.ts +2 -0
- package/dist/cli/sharedOptions/--api.js +2 -0
- package/dist/cli/sharedOptions/--format.d.ts +2 -0
- package/dist/cli/sharedOptions/--format.js +4 -0
- package/dist/cli/sharedOptions/--gpu.d.ts +2 -0
- package/dist/cli/sharedOptions/--gpu.js +12 -0
- package/dist/cli/sharedOptions/--network.d.ts +2 -0
- package/dist/cli/sharedOptions/--network.js +4 -0
- package/dist/cli/sharedOptions/--port.d.ts +2 -0
- package/dist/cli/sharedOptions/--port.js +2 -0
- package/dist/cli/sharedOptions/--rpc.d.ts +2 -0
- package/dist/cli/sharedOptions/--rpc.js +2 -0
- package/dist/cli/sharedOptions/--timeout.d.ts +2 -0
- package/dist/cli/sharedOptions/--timeout.js +12 -0
- package/dist/cli/sharedOptions/--verbose.d.ts +2 -0
- package/dist/cli/sharedOptions/--verbose.js +2 -0
- package/dist/cli/sharedOptions/--wallet.d.ts +2 -0
- package/dist/cli/sharedOptions/--wallet.js +2 -0
- package/dist/cli/sharedOptions/index.d.ts +7 -0
- package/dist/cli/sharedOptions/index.js +8 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +7 -0
- package/dist/output-formatter/OutputFormatter.d.ts +61 -0
- package/dist/output-formatter/OutputFormatter.js +58 -0
- package/dist/output-formatter/OutputFormatterFactory.d.ts +4 -0
- package/dist/output-formatter/OutputFormatterFactory.js +18 -0
- package/dist/output-formatter/__mocks__/outputEvents.mock.d.ts +42 -0
- package/dist/output-formatter/__mocks__/outputEvents.mock.js +45 -0
- package/dist/output-formatter/__mocks__/outputFormatter.mock.d.ts +0 -0
- package/dist/output-formatter/__mocks__/outputFormatter.mock.js +21 -0
- package/dist/output-formatter/__tests__/OutputFormatter.spec.d.ts +1 -0
- package/dist/output-formatter/__tests__/OutputFormatter.spec.js +34 -0
- package/dist/output-formatter/__tests__/OutputFormatterFactory.spec.d.ts +1 -0
- package/dist/output-formatter/__tests__/OutputFormatterFactory.spec.js +26 -0
- package/dist/output-formatter/__tests__/outputFormatSelector.spec.d.ts +1 -0
- package/dist/output-formatter/__tests__/outputFormatSelector.spec.js +21 -0
- package/dist/output-formatter/json/JsonOutputEventHandlers.d.ts +8 -0
- package/dist/output-formatter/json/JsonOutputEventHandlers.js +191 -0
- package/dist/output-formatter/json/JsonOutputFormatter.d.ts +47 -0
- package/dist/output-formatter/json/JsonOutputFormatter.js +12 -0
- package/dist/output-formatter/json/__tests__/JsonOutputFormatter.spec.d.ts +1 -0
- package/dist/output-formatter/json/__tests__/JsonOutputFormatter.spec.js +36 -0
- package/dist/output-formatter/outputEvents.d.ts +213 -0
- package/dist/output-formatter/outputEvents.js +63 -0
- package/dist/output-formatter/outputFormatArgumentParser.d.ts +1 -0
- package/dist/output-formatter/outputFormatArgumentParser.js +10 -0
- package/dist/output-formatter/outputFormatSelector.d.ts +15 -0
- package/dist/output-formatter/outputFormatSelector.js +23 -0
- package/dist/output-formatter/text/TextOutputEventHandlers.d.ts +7 -0
- package/dist/output-formatter/text/TextOutputEventHandlers.js +128 -0
- package/dist/output-formatter/text/TextOutputFormatter.d.ts +6 -0
- package/dist/output-formatter/text/TextOutputFormatter.js +7 -0
- package/dist/output-formatter/text/VerboseTextOutputEventHandlers.d.ts +7 -0
- package/dist/output-formatter/text/VerboseTextOutputEventHandlers.js +138 -0
- package/dist/output-formatter/text/VerboseTextOutputFormatter.d.ts +6 -0
- package/dist/output-formatter/text/VerboseTextOutputFormatter.js +7 -0
- package/dist/output-formatter/text/__tests__/TextOutputFormatter.spec.d.ts +1 -0
- package/dist/output-formatter/text/__tests__/TextOutputFormatter.spec.js +25 -0
- package/dist/static/index.d.ts +7 -0
- package/dist/static/index.js +12 -0
- package/dist/version/index.d.ts +1 -0
- package/dist/version/index.js +47 -0
- package/npm-shrinkwrap.json +9928 -0
- package/package.json +102 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import '../__mocks__/outputFormatter.mock.js';
|
|
2
|
+
import { JsonOutputFormatter } from '../json/JsonOutputFormatter.js';
|
|
3
|
+
import { OutputFormatter } from '../OutputFormatter.js';
|
|
4
|
+
import { OutputFormatterFactory } from '../OutputFormatterFactory.js';
|
|
5
|
+
import { TextOutputFormatter } from '../text/TextOutputFormatter.js';
|
|
6
|
+
beforeEach(() => {
|
|
7
|
+
vi.clearAllMocks();
|
|
8
|
+
vi.resetModules();
|
|
9
|
+
});
|
|
10
|
+
describe('OutputFormatterFactory', () => {
|
|
11
|
+
it('should create a JSON formatter', () => {
|
|
12
|
+
const formatter = OutputFormatterFactory.createFormatter('json');
|
|
13
|
+
expect(formatter).toBeInstanceOf(OutputFormatter);
|
|
14
|
+
expect(JsonOutputFormatter).toHaveBeenCalled();
|
|
15
|
+
});
|
|
16
|
+
it('should create a Text formatter by default', () => {
|
|
17
|
+
const formatter = OutputFormatterFactory.createFormatter('text');
|
|
18
|
+
expect(formatter).toBeInstanceOf(OutputFormatter);
|
|
19
|
+
expect(TextOutputFormatter).toHaveBeenCalled();
|
|
20
|
+
});
|
|
21
|
+
it('should create a Text formatter for unknown format', () => {
|
|
22
|
+
const formatter = OutputFormatterFactory.createFormatter('unknown');
|
|
23
|
+
expect(formatter).toBeInstanceOf(OutputFormatter);
|
|
24
|
+
expect(TextOutputFormatter).toHaveBeenCalled();
|
|
25
|
+
});
|
|
26
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import '../__mocks__/outputFormatter.mock.js';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import '../__mocks__/outputFormatter.mock.js';
|
|
2
|
+
import { JsonOutputFormatter } from '../json/JsonOutputFormatter.js';
|
|
3
|
+
import { outputFormatSelector } from '../outputFormatSelector.js';
|
|
4
|
+
describe('outputFormatSelector', () => {
|
|
5
|
+
beforeEach(() => {
|
|
6
|
+
vi.clearAllMocks();
|
|
7
|
+
vi.resetModules();
|
|
8
|
+
outputFormatSelector.instance = null;
|
|
9
|
+
});
|
|
10
|
+
it('should return the same instance for multiple calls with JSON format', () => {
|
|
11
|
+
const formatter1 = outputFormatSelector('json');
|
|
12
|
+
const formatter2 = outputFormatSelector('json');
|
|
13
|
+
expect(formatter1).toBe(formatter2);
|
|
14
|
+
expect(JsonOutputFormatter).toHaveBeenCalledTimes(1);
|
|
15
|
+
});
|
|
16
|
+
it('should not create a new instance if called again with a different format', () => {
|
|
17
|
+
const formatter1 = outputFormatSelector('json');
|
|
18
|
+
const formatter2 = outputFormatSelector('text');
|
|
19
|
+
expect(formatter1).toBe(formatter2);
|
|
20
|
+
});
|
|
21
|
+
});
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { OutputEventParams } from '../outputEvents.js';
|
|
2
|
+
import { JsonResponseType } from './JsonOutputFormatter.js';
|
|
3
|
+
type EventHandler<T extends keyof OutputEventParams> = (response: JsonResponseType, param: OutputEventParams[T]) => void;
|
|
4
|
+
type OutputEventHandlers = {
|
|
5
|
+
[K in keyof OutputEventParams]: EventHandler<K>;
|
|
6
|
+
};
|
|
7
|
+
export declare const jsonOutputEventHandlers: OutputEventHandlers;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { OUTPUT_EVENTS, } from '../outputEvents.js';
|
|
2
|
+
export const jsonOutputEventHandlers = {
|
|
3
|
+
[OUTPUT_EVENTS.READ_KEYFILE]: (response, param) => {
|
|
4
|
+
response.keypair_path = param.keyfile;
|
|
5
|
+
},
|
|
6
|
+
[OUTPUT_EVENTS.EMPTY_KEYFILE]: (response, param) => {
|
|
7
|
+
response.keypair_path = param.keyfile;
|
|
8
|
+
},
|
|
9
|
+
[OUTPUT_EVENTS.CREATE_KEYFILE]: (response, param) => {
|
|
10
|
+
response.keypair_path = param.keyfile;
|
|
11
|
+
},
|
|
12
|
+
[OUTPUT_EVENTS.OUTPUT_BALANCES]: (response, param) => {
|
|
13
|
+
response.balances = {
|
|
14
|
+
SOL: `${param.sol} SOL`,
|
|
15
|
+
NOS: `${param.nos} NOS`,
|
|
16
|
+
};
|
|
17
|
+
},
|
|
18
|
+
[OUTPUT_EVENTS.OUTPUT_NETWORK]: (response, param) => {
|
|
19
|
+
response.network = param.network;
|
|
20
|
+
},
|
|
21
|
+
[OUTPUT_EVENTS.OUTPUT_WALLET]: (response, param) => {
|
|
22
|
+
response.wallet = param.publicKey;
|
|
23
|
+
},
|
|
24
|
+
[OUTPUT_EVENTS.OUTPUT_IPFS_UPLOADED]: (response, param) => {
|
|
25
|
+
response.ipfs_uploaded = param.ipfsHash;
|
|
26
|
+
},
|
|
27
|
+
[OUTPUT_EVENTS.OUTPUT_SERVICE_URL]: (response, param) => {
|
|
28
|
+
response.service_url = param.url.split(',');
|
|
29
|
+
},
|
|
30
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_SERVICE_URL]: (response, param) => {
|
|
31
|
+
response.service_url = param.url.split(',');
|
|
32
|
+
},
|
|
33
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_INVALID]: (response) => {
|
|
34
|
+
response.isError = true;
|
|
35
|
+
response.msg = 'Invalid Job';
|
|
36
|
+
response.errors = ['Invalid Job Entered'];
|
|
37
|
+
response.service_url = undefined;
|
|
38
|
+
},
|
|
39
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_URL_EXPIRED]: (response, param) => {
|
|
40
|
+
response.isError = true;
|
|
41
|
+
response.msg = 'Job expired';
|
|
42
|
+
response.errors = [
|
|
43
|
+
`Job exposed URL is expired since Job has been ${param.state}`,
|
|
44
|
+
];
|
|
45
|
+
response.service_url = undefined;
|
|
46
|
+
},
|
|
47
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_URL_NOT_READY]: (response) => {
|
|
48
|
+
response.isError = true;
|
|
49
|
+
response.msg = 'Job exposed URL is not ready yet';
|
|
50
|
+
response.errors = [`Job exposed URL is not ready yet`];
|
|
51
|
+
response.service_url = undefined;
|
|
52
|
+
},
|
|
53
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_URL_ERROR]: (response, param) => {
|
|
54
|
+
response.isError = true;
|
|
55
|
+
response.msg = `Failed to fetch exposed URL ${param.error.message}`;
|
|
56
|
+
response.errors = [param.error];
|
|
57
|
+
throw response;
|
|
58
|
+
},
|
|
59
|
+
[OUTPUT_EVENTS.OUTPUT_PRIVATE_URL_MESSAGE]: (response, param) => {
|
|
60
|
+
response.service_url = undefined;
|
|
61
|
+
},
|
|
62
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_URL]: (response, param) => {
|
|
63
|
+
response.job_url = param.job_url;
|
|
64
|
+
},
|
|
65
|
+
[OUTPUT_EVENTS.OUTPUT_JSON_FLOW_URL]: (response, param) => {
|
|
66
|
+
response.json_flow_url = param.json_flow_url;
|
|
67
|
+
},
|
|
68
|
+
[OUTPUT_EVENTS.OUTPUT_MARKET_URL]: (response, param) => {
|
|
69
|
+
response.market_url = param.market_url;
|
|
70
|
+
},
|
|
71
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_PRICE]: (response, param) => {
|
|
72
|
+
response.price = `${param.price} NOS/s`;
|
|
73
|
+
},
|
|
74
|
+
[OUTPUT_EVENTS.OUTPUT_TOTAL_COST]: (response, param) => {
|
|
75
|
+
response.total_cost = `${param.cost} NOS/s`;
|
|
76
|
+
},
|
|
77
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_STATUS]: (response, param) => {
|
|
78
|
+
response.status = param.status;
|
|
79
|
+
},
|
|
80
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_POSTER_AUTH_TOKEN]: (response, param) => {
|
|
81
|
+
response.authorization = param;
|
|
82
|
+
},
|
|
83
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_POSTING]: (response, param) => {
|
|
84
|
+
response.job_posting = {
|
|
85
|
+
market_id: param.market_address,
|
|
86
|
+
price_per_second: `${param.price} NOS/s`,
|
|
87
|
+
total_cost: `${param.total} NOS`,
|
|
88
|
+
};
|
|
89
|
+
},
|
|
90
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_POSTED_TX]: (response, param) => {
|
|
91
|
+
response.job_posting = {
|
|
92
|
+
transaction_id: param.tx,
|
|
93
|
+
...response.job_posting,
|
|
94
|
+
};
|
|
95
|
+
},
|
|
96
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_VALIDATION_ERROR]: (response, param) => {
|
|
97
|
+
response.isError = true;
|
|
98
|
+
response.msg = 'Job Definition validation failed';
|
|
99
|
+
response.errors = param.error;
|
|
100
|
+
throw response;
|
|
101
|
+
},
|
|
102
|
+
[OUTPUT_EVENTS.OUTPUT_FAILED_TO_FETCH_MARKETS_ERROR]: (response, param) => {
|
|
103
|
+
response.isError = true;
|
|
104
|
+
response.msg = 'Failed to fetch market';
|
|
105
|
+
response.errors = [param.error];
|
|
106
|
+
throw response;
|
|
107
|
+
},
|
|
108
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_POSTED_ERROR]: (response, param) => {
|
|
109
|
+
response.isError = true;
|
|
110
|
+
response.msg = "Couldn't post job";
|
|
111
|
+
response.errors = [param.error];
|
|
112
|
+
throw response;
|
|
113
|
+
},
|
|
114
|
+
[OUTPUT_EVENTS.OUTPUT_SOL_BALANCE_LOW_ERROR]: (response, param) => {
|
|
115
|
+
response.isError = true;
|
|
116
|
+
response.msg = `Minimum of '0.005' SOL needed: SOL available ${param.sol}`;
|
|
117
|
+
response.errors = [
|
|
118
|
+
`Minimum of '0.005' SOL needed: SOL available ${param.sol}`,
|
|
119
|
+
];
|
|
120
|
+
throw response;
|
|
121
|
+
},
|
|
122
|
+
[OUTPUT_EVENTS.OUTPUT_NOS_BALANCE_LOW_ERROR]: (response, param) => {
|
|
123
|
+
response.isError = true;
|
|
124
|
+
response.msg = `Not enough NOS: NOS available ${param.nosBalance}, NOS needed: ${param.nosNeeded}`;
|
|
125
|
+
response.errors = [
|
|
126
|
+
`Not enough NOS: NOS available ${param.nosBalance}, NOS needed: ${param.nosNeeded}`,
|
|
127
|
+
];
|
|
128
|
+
throw response;
|
|
129
|
+
},
|
|
130
|
+
[OUTPUT_EVENTS.OUTPUT_AIRDROP_REQUEST_FAILED_ERROR]: (response, param) => {
|
|
131
|
+
response.isError = true;
|
|
132
|
+
response.msg = 'Couldnt airdrop tokens to your address';
|
|
133
|
+
response.errors = ['Couldnt airdrop tokens to your address'];
|
|
134
|
+
throw response;
|
|
135
|
+
},
|
|
136
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_NOT_FOUND]: (response, param) => {
|
|
137
|
+
response.isError = true;
|
|
138
|
+
response.msg = 'Could not retrieve job';
|
|
139
|
+
response.errors = [param.error];
|
|
140
|
+
},
|
|
141
|
+
[OUTPUT_EVENTS.OUTPUT_CANNOT_LOG_RESULT]: (response) => {
|
|
142
|
+
response.isError = true;
|
|
143
|
+
response.msg = 'Cannot log results';
|
|
144
|
+
response.errors = ['Cannot log results'];
|
|
145
|
+
},
|
|
146
|
+
[OUTPUT_EVENTS.OUTPUT_ARTIFACT_SUPPORT_INCOMING_ERROR]: (response, param) => {
|
|
147
|
+
response.isError = true;
|
|
148
|
+
response.msg = 'artifact support coming soon!';
|
|
149
|
+
response.errors = ['artifact support coming soon!'];
|
|
150
|
+
throw response;
|
|
151
|
+
},
|
|
152
|
+
[OUTPUT_EVENTS.OUTPUT_JSON_FLOW_TYPE_NOT_SUPPORTED_ERROR]: (response, param) => {
|
|
153
|
+
response.isError = true;
|
|
154
|
+
response.msg = `type ${param.type} not supported yet`;
|
|
155
|
+
response.errors = [`type ${param.type} not supported yet`];
|
|
156
|
+
throw response;
|
|
157
|
+
},
|
|
158
|
+
[OUTPUT_EVENTS.OUTPUT_NODE_URL]: (response, param) => {
|
|
159
|
+
response.node_url = param.url;
|
|
160
|
+
},
|
|
161
|
+
[OUTPUT_EVENTS.OUTPUT_DURATION]: (response, param) => {
|
|
162
|
+
response.duration = param.duration;
|
|
163
|
+
},
|
|
164
|
+
[OUTPUT_EVENTS.OUTPUT_START_TIME]: (response, param) => {
|
|
165
|
+
response.start_time = param.date;
|
|
166
|
+
},
|
|
167
|
+
[OUTPUT_EVENTS.OUTPUT_RESULT_URL]: (response, param) => {
|
|
168
|
+
response.result_url = param.url;
|
|
169
|
+
},
|
|
170
|
+
[OUTPUT_EVENTS.OUTPUT_RETRIVE_JOB_COMMAND]: (response, param) => { },
|
|
171
|
+
[OUTPUT_EVENTS.OUTPUT_HEADER_LOGO]: (response, param) => { },
|
|
172
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_EXECUTION]: (response, param) => {
|
|
173
|
+
let execution = {};
|
|
174
|
+
execution.logs = [];
|
|
175
|
+
for (const log of param.opState.logs) {
|
|
176
|
+
const sanitizedLog = log.log ?? '';
|
|
177
|
+
execution.logs.push(sanitizedLog);
|
|
178
|
+
}
|
|
179
|
+
execution.operationId = param.opState.operationId;
|
|
180
|
+
execution.duration =
|
|
181
|
+
(param.opState.endTime - param.opState.startTime) / 1000;
|
|
182
|
+
if (param.opState.status) {
|
|
183
|
+
execution.exitCode = param.opState.exitCode;
|
|
184
|
+
execution.status = param.opState.status;
|
|
185
|
+
}
|
|
186
|
+
if (!response.executions) {
|
|
187
|
+
response.executions = [];
|
|
188
|
+
}
|
|
189
|
+
response.executions.push(execution);
|
|
190
|
+
},
|
|
191
|
+
};
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { IValidation } from 'typia';
|
|
2
|
+
import { OutputEvent, OutputEventParams } from '../outputEvents.js';
|
|
3
|
+
import { OutputFormatterAdapter } from '../OutputFormatter.js';
|
|
4
|
+
export declare class JsonOutputFormatter implements OutputFormatterAdapter {
|
|
5
|
+
private response;
|
|
6
|
+
finalize(): void;
|
|
7
|
+
output<T extends OutputEvent>(event: T, param: OutputEventParams[T]): void;
|
|
8
|
+
}
|
|
9
|
+
export interface JsonResponseType {
|
|
10
|
+
isError?: boolean;
|
|
11
|
+
msg?: string;
|
|
12
|
+
keypair_path?: string;
|
|
13
|
+
balances?: {
|
|
14
|
+
SOL: string;
|
|
15
|
+
NOS: string;
|
|
16
|
+
};
|
|
17
|
+
network?: string;
|
|
18
|
+
wallet?: string;
|
|
19
|
+
ipfs_uploaded?: string;
|
|
20
|
+
service_url?: string[];
|
|
21
|
+
job_url?: string;
|
|
22
|
+
json_flow_url?: string;
|
|
23
|
+
market_url?: string;
|
|
24
|
+
price?: string;
|
|
25
|
+
total_cost?: string;
|
|
26
|
+
status?: string;
|
|
27
|
+
job_posting?: {
|
|
28
|
+
transaction_id?: string;
|
|
29
|
+
market_id?: string;
|
|
30
|
+
price_per_second?: string;
|
|
31
|
+
total_cost?: string;
|
|
32
|
+
};
|
|
33
|
+
transaction_id?: string;
|
|
34
|
+
errors?: string[] | Error[] | IValidation.IError[];
|
|
35
|
+
node_url?: string;
|
|
36
|
+
duration?: number;
|
|
37
|
+
start_time?: Date;
|
|
38
|
+
result_url?: string;
|
|
39
|
+
executions?: Array<{
|
|
40
|
+
operationId: string | null;
|
|
41
|
+
duration: number;
|
|
42
|
+
logs: string[];
|
|
43
|
+
exitCode?: number | null;
|
|
44
|
+
status?: string;
|
|
45
|
+
}>;
|
|
46
|
+
authorization?: string;
|
|
47
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { jsonOutputEventHandlers } from './JsonOutputEventHandlers.js';
|
|
2
|
+
export class JsonOutputFormatter {
|
|
3
|
+
constructor() {
|
|
4
|
+
this.response = {};
|
|
5
|
+
}
|
|
6
|
+
finalize() {
|
|
7
|
+
console.log(`${JSON.stringify(this.response)}`);
|
|
8
|
+
}
|
|
9
|
+
output(event, param) {
|
|
10
|
+
jsonOutputEventHandlers[event](this.response, param);
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import outputEventsMock from '../../__mocks__/outputEvents.mock.js';
|
|
2
|
+
import { JsonOutputFormatter } from '../JsonOutputFormatter.js';
|
|
3
|
+
import { OUTPUT_EVENTS } from '../../outputEvents.js';
|
|
4
|
+
import { jsonOutputEventHandlers } from '../JsonOutputEventHandlers.js';
|
|
5
|
+
vi.mock('../JsonOutputEventHandlers', () => {
|
|
6
|
+
return {
|
|
7
|
+
jsonOutputEventHandlers: outputEventsMock,
|
|
8
|
+
};
|
|
9
|
+
});
|
|
10
|
+
describe('JsonOutputFormatter', () => {
|
|
11
|
+
let formatter;
|
|
12
|
+
beforeEach(() => {
|
|
13
|
+
formatter = new JsonOutputFormatter();
|
|
14
|
+
vi.clearAllMocks();
|
|
15
|
+
});
|
|
16
|
+
it('should handle events and call the appropriate event handlers', () => {
|
|
17
|
+
const param = { keyfile: 'test-keyfile' };
|
|
18
|
+
const event = OUTPUT_EVENTS.READ_KEYFILE;
|
|
19
|
+
formatter.output(event, param);
|
|
20
|
+
expect(jsonOutputEventHandlers.READ_KEYFILE).toHaveBeenCalledWith(formatter['response'], param);
|
|
21
|
+
});
|
|
22
|
+
it('should set isError to undefined initially', () => {
|
|
23
|
+
const param = { keyfile: 'test-keyfile' };
|
|
24
|
+
const event = OUTPUT_EVENTS.READ_KEYFILE;
|
|
25
|
+
formatter.output(event, param);
|
|
26
|
+
expect(formatter['response'].isError).toBe(undefined);
|
|
27
|
+
});
|
|
28
|
+
it('should finalize and print JSON response', () => {
|
|
29
|
+
console.log = vi.fn();
|
|
30
|
+
const param = { keyfile: 'test-keyfile' };
|
|
31
|
+
const event = OUTPUT_EVENTS.READ_KEYFILE;
|
|
32
|
+
formatter.output(event, param);
|
|
33
|
+
formatter.finalize();
|
|
34
|
+
expect(console.log).toHaveBeenCalledWith(JSON.stringify(formatter['response'], null, 2));
|
|
35
|
+
});
|
|
36
|
+
});
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import { IValidation } from 'typia';
|
|
2
|
+
import { OpState } from '@nosana/sdk';
|
|
3
|
+
/**
|
|
4
|
+
* Adding a new Output/Throw Event
|
|
5
|
+
*
|
|
6
|
+
* Step 1: Add the new event name under OUTPUT_EVENTS
|
|
7
|
+
* Example:
|
|
8
|
+
* OUTPUT_NEW_EVENT: 'OUTPUT_NEW_EVENT',
|
|
9
|
+
*
|
|
10
|
+
* Step 2: Define parameter types for the new event
|
|
11
|
+
* Example:
|
|
12
|
+
* export type NewEventParam = { data: string };
|
|
13
|
+
*
|
|
14
|
+
* Step 3: Add the new event to OutputEventParams
|
|
15
|
+
* Example:
|
|
16
|
+
* [OUTPUT_EVENTS.OUTPUT_NEW_EVENT]: NewEventParam;
|
|
17
|
+
*
|
|
18
|
+
* Step 4: Make implementation for this new event on all OutputFormatterAdapter Handlers, Failure to do this will cause errors
|
|
19
|
+
* Example:
|
|
20
|
+
* [OUTPUT_EVENTS.OUTPUT_NEW_EVENT]: (param: OutputEventParams) => {},
|
|
21
|
+
*
|
|
22
|
+
* Step 5: also add the event to __mock__ so the tests can pass
|
|
23
|
+
*/
|
|
24
|
+
export declare const OUTPUT_EVENTS: {
|
|
25
|
+
readonly READ_KEYFILE: "READ_KEYFILE";
|
|
26
|
+
readonly CREATE_KEYFILE: "CREATE_KEYFILE";
|
|
27
|
+
readonly EMPTY_KEYFILE: "EMPTY_KEYFILE";
|
|
28
|
+
readonly OUTPUT_JOB_URL: "OUTPUT_JOB_URL";
|
|
29
|
+
readonly OUTPUT_JSON_FLOW_URL: "OUTPUT_JSON_FLOW_URL";
|
|
30
|
+
readonly OUTPUT_MARKET_URL: "OUTPUT_MARKET_URL";
|
|
31
|
+
readonly OUTPUT_JOB_PRICE: "OUTPUT_JOB_PRICE";
|
|
32
|
+
readonly OUTPUT_JOB_STATUS: "OUTPUT_JOB_STATUS";
|
|
33
|
+
readonly OUTPUT_JOB_POSTED_ERROR: "OUTPUT_JOB_POSTED_ERROR";
|
|
34
|
+
readonly OUTPUT_JOB_POSTING: "OUTPUT_JOB_POSTING";
|
|
35
|
+
readonly OUTPUT_NETWORK: "OUTPUT_NETWORK";
|
|
36
|
+
readonly OUTPUT_BALANCES: "OUTPUT_BALANCES";
|
|
37
|
+
readonly OUTPUT_WALLET: "OUTPUT_WALLET";
|
|
38
|
+
readonly OUTPUT_IPFS_UPLOADED: "OUTPUT_IPFS_UPLOADED";
|
|
39
|
+
readonly OUTPUT_SERVICE_URL: "OUTPUT_SERVICE_URL";
|
|
40
|
+
readonly OUTPUT_PRIVATE_URL_MESSAGE: "OUTPUT_PRIVATE_URL_MESSAGE";
|
|
41
|
+
readonly OUTPUT_JOB_NOT_FOUND: "OUTPUT_JOB_NOT_FOUND";
|
|
42
|
+
readonly OUTPUT_CANNOT_LOG_RESULT: "OUTPUT_CANNOT_LOG_RESULT";
|
|
43
|
+
readonly OUTPUT_JOB_VALIDATION_ERROR: "OUTPUT_JOB_VALIDATION_ERROR";
|
|
44
|
+
readonly OUTPUT_ARTIFACT_SUPPORT_INCOMING_ERROR: "OUTPUT_ARTIFACT_SUPPORT_INCOMING_ERROR";
|
|
45
|
+
readonly OUTPUT_JSON_FLOW_TYPE_NOT_SUPPORTED_ERROR: "OUTPUT_JSON_FLOW_TYPE_NOT_SUPPORTED_ERROR";
|
|
46
|
+
readonly OUTPUT_SOL_BALANCE_LOW_ERROR: "OUTPUT_SOL_BALANCE_LOW_ERROR";
|
|
47
|
+
readonly OUTPUT_NOS_BALANCE_LOW_ERROR: "OUTPUT_NOS_BALANCE_LOW_ERROR";
|
|
48
|
+
readonly OUTPUT_AIRDROP_REQUEST_FAILED_ERROR: "OUTPUT_AIRDROP_REQUEST_FAILED_ERROR";
|
|
49
|
+
readonly OUTPUT_JOB_POSTED_TX: "OUTPUT_JOB_POSTED_TX";
|
|
50
|
+
readonly OUTPUT_NODE_URL: "OUTPUT_NODE_URL";
|
|
51
|
+
readonly OUTPUT_DURATION: "OUTPUT_DURATION";
|
|
52
|
+
readonly OUTPUT_START_TIME: "OUTPUT_START_TIME";
|
|
53
|
+
readonly OUTPUT_RESULT_URL: "OUTPUT_RESULT_URL";
|
|
54
|
+
readonly OUTPUT_JOB_EXECUTION: "OUTPUT_JOB_EXECUTION";
|
|
55
|
+
readonly OUTPUT_TOTAL_COST: "OUTPUT_TOTAL_COST";
|
|
56
|
+
readonly OUTPUT_RETRIVE_JOB_COMMAND: "OUTPUT_RETRIVE_JOB_COMMAND";
|
|
57
|
+
readonly OUTPUT_FAILED_TO_FETCH_MARKETS_ERROR: "OUTPUT_FAILED_TO_FETCH_MARKETS_ERROR";
|
|
58
|
+
readonly OUTPUT_HEADER_LOGO: "OUTPUT_HEADER_LOGO";
|
|
59
|
+
readonly OUTPUT_JOB_URL_ERROR: "OUTPUT_JOB_URL_ERROR";
|
|
60
|
+
readonly OUTPUT_JOB_URL_EXPIRED: "OUTPUT_JOB_URL_EXPIRED";
|
|
61
|
+
readonly OUTPUT_JOB_URL_NOT_READY: "OUTPUT_JOB_URL_NOT_READY";
|
|
62
|
+
readonly OUTPUT_JOB_INVALID: "OUTPUT_JOB_INVALID";
|
|
63
|
+
readonly OUTPUT_JOB_SERVICE_URL: "OUTPUT_JOB_SERVICE_URL";
|
|
64
|
+
readonly OUTPUT_JOB_POSTER_AUTH_TOKEN: "OUTPUT_JOB_POSTER_AUTH_TOKEN";
|
|
65
|
+
};
|
|
66
|
+
export type OutputEvent = (typeof OUTPUT_EVENTS)[keyof typeof OUTPUT_EVENTS];
|
|
67
|
+
export type JobServiceUrlErrorParam = {
|
|
68
|
+
error: Error;
|
|
69
|
+
};
|
|
70
|
+
export type JobServiceUrlExpiredParam = {
|
|
71
|
+
state: string;
|
|
72
|
+
};
|
|
73
|
+
export type JobServiceUrlNotReadyParam = {};
|
|
74
|
+
export type JobServiceUrlInvalidParam = {};
|
|
75
|
+
export type JobServiceUrlParam = {
|
|
76
|
+
url: string;
|
|
77
|
+
};
|
|
78
|
+
export type KeyfileParam = {
|
|
79
|
+
keyfile: string;
|
|
80
|
+
};
|
|
81
|
+
export type BalanceParam = {
|
|
82
|
+
sol: number;
|
|
83
|
+
nos: string;
|
|
84
|
+
};
|
|
85
|
+
export type NetworkParam = {
|
|
86
|
+
network: string;
|
|
87
|
+
};
|
|
88
|
+
export type WalletParam = {
|
|
89
|
+
publicKey: string;
|
|
90
|
+
};
|
|
91
|
+
export type IpfsParam = {
|
|
92
|
+
ipfsHash: string;
|
|
93
|
+
};
|
|
94
|
+
export type ServiceUrlParam = {
|
|
95
|
+
url: string;
|
|
96
|
+
};
|
|
97
|
+
export type CommandParam = {
|
|
98
|
+
command: string;
|
|
99
|
+
};
|
|
100
|
+
export type JobUrlParam = {
|
|
101
|
+
job_url: string;
|
|
102
|
+
};
|
|
103
|
+
export type JsonFlowUrlParam = {
|
|
104
|
+
json_flow_url: string;
|
|
105
|
+
};
|
|
106
|
+
export type MarketUrlParam = {
|
|
107
|
+
market_url: string;
|
|
108
|
+
};
|
|
109
|
+
export type JobPriceParam = {
|
|
110
|
+
price: string;
|
|
111
|
+
};
|
|
112
|
+
export type JobStatusParam = {
|
|
113
|
+
status: string;
|
|
114
|
+
};
|
|
115
|
+
export type JobPostingParam = {
|
|
116
|
+
market_address: string;
|
|
117
|
+
price: number;
|
|
118
|
+
total: string;
|
|
119
|
+
};
|
|
120
|
+
export type JobPosterAuthToken = string;
|
|
121
|
+
export type TotalCostParam = {
|
|
122
|
+
cost: number;
|
|
123
|
+
};
|
|
124
|
+
export type TxParam = {
|
|
125
|
+
tx: string;
|
|
126
|
+
};
|
|
127
|
+
export type ValidationErrorParam = {
|
|
128
|
+
error: IValidation.IError[];
|
|
129
|
+
};
|
|
130
|
+
export type ErrorParam = {
|
|
131
|
+
error: Error;
|
|
132
|
+
};
|
|
133
|
+
export type BalanceLowParam = {
|
|
134
|
+
sol: string;
|
|
135
|
+
};
|
|
136
|
+
export type NosBalanceLowParam = {
|
|
137
|
+
nosBalance: string;
|
|
138
|
+
nosNeeded: string;
|
|
139
|
+
};
|
|
140
|
+
export type JobPostedErrorParam = {
|
|
141
|
+
error: Error;
|
|
142
|
+
};
|
|
143
|
+
export type JsonFlowTypeErrorParam = {
|
|
144
|
+
type: string;
|
|
145
|
+
};
|
|
146
|
+
export type JobNotFoundErrorParam = {
|
|
147
|
+
error: Error;
|
|
148
|
+
};
|
|
149
|
+
export type CannotLogResultParam = {};
|
|
150
|
+
export type OutputHeaderLogoParam = {
|
|
151
|
+
text: string;
|
|
152
|
+
};
|
|
153
|
+
export type NodeUrlParam = {
|
|
154
|
+
url: string;
|
|
155
|
+
};
|
|
156
|
+
export type DurationParam = {
|
|
157
|
+
duration: number;
|
|
158
|
+
};
|
|
159
|
+
export type StartTimeParam = {
|
|
160
|
+
date: Date;
|
|
161
|
+
};
|
|
162
|
+
export type ResultUrlParam = {
|
|
163
|
+
url: string;
|
|
164
|
+
};
|
|
165
|
+
export type RetriveJobCommandParam = {
|
|
166
|
+
job: string;
|
|
167
|
+
network: string;
|
|
168
|
+
};
|
|
169
|
+
export type JobExecutionParam = {
|
|
170
|
+
opState: OpState;
|
|
171
|
+
};
|
|
172
|
+
export type OutputEventParams = {
|
|
173
|
+
[OUTPUT_EVENTS.READ_KEYFILE]: KeyfileParam;
|
|
174
|
+
[OUTPUT_EVENTS.EMPTY_KEYFILE]: KeyfileParam;
|
|
175
|
+
[OUTPUT_EVENTS.CREATE_KEYFILE]: KeyfileParam;
|
|
176
|
+
[OUTPUT_EVENTS.OUTPUT_BALANCES]: BalanceParam;
|
|
177
|
+
[OUTPUT_EVENTS.OUTPUT_NETWORK]: NetworkParam;
|
|
178
|
+
[OUTPUT_EVENTS.OUTPUT_WALLET]: WalletParam;
|
|
179
|
+
[OUTPUT_EVENTS.OUTPUT_IPFS_UPLOADED]: IpfsParam;
|
|
180
|
+
[OUTPUT_EVENTS.OUTPUT_SERVICE_URL]: ServiceUrlParam;
|
|
181
|
+
[OUTPUT_EVENTS.OUTPUT_PRIVATE_URL_MESSAGE]: CommandParam;
|
|
182
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_URL]: JobUrlParam;
|
|
183
|
+
[OUTPUT_EVENTS.OUTPUT_JSON_FLOW_URL]: JsonFlowUrlParam;
|
|
184
|
+
[OUTPUT_EVENTS.OUTPUT_MARKET_URL]: MarketUrlParam;
|
|
185
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_PRICE]: JobPriceParam;
|
|
186
|
+
[OUTPUT_EVENTS.OUTPUT_TOTAL_COST]: TotalCostParam;
|
|
187
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_STATUS]: JobStatusParam;
|
|
188
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_POSTING]: JobPostingParam;
|
|
189
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_POSTED_TX]: TxParam;
|
|
190
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_VALIDATION_ERROR]: ValidationErrorParam;
|
|
191
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_POSTED_ERROR]: JobPostedErrorParam;
|
|
192
|
+
[OUTPUT_EVENTS.OUTPUT_SOL_BALANCE_LOW_ERROR]: BalanceLowParam;
|
|
193
|
+
[OUTPUT_EVENTS.OUTPUT_NOS_BALANCE_LOW_ERROR]: NosBalanceLowParam;
|
|
194
|
+
[OUTPUT_EVENTS.OUTPUT_AIRDROP_REQUEST_FAILED_ERROR]: ErrorParam;
|
|
195
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_NOT_FOUND]: JobNotFoundErrorParam;
|
|
196
|
+
[OUTPUT_EVENTS.OUTPUT_CANNOT_LOG_RESULT]: CannotLogResultParam | null;
|
|
197
|
+
[OUTPUT_EVENTS.OUTPUT_ARTIFACT_SUPPORT_INCOMING_ERROR]: ErrorParam;
|
|
198
|
+
[OUTPUT_EVENTS.OUTPUT_JSON_FLOW_TYPE_NOT_SUPPORTED_ERROR]: JsonFlowTypeErrorParam;
|
|
199
|
+
[OUTPUT_EVENTS.OUTPUT_NODE_URL]: NodeUrlParam;
|
|
200
|
+
[OUTPUT_EVENTS.OUTPUT_DURATION]: DurationParam;
|
|
201
|
+
[OUTPUT_EVENTS.OUTPUT_START_TIME]: StartTimeParam;
|
|
202
|
+
[OUTPUT_EVENTS.OUTPUT_RESULT_URL]: ResultUrlParam;
|
|
203
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_EXECUTION]: JobExecutionParam;
|
|
204
|
+
[OUTPUT_EVENTS.OUTPUT_RETRIVE_JOB_COMMAND]: RetriveJobCommandParam;
|
|
205
|
+
[OUTPUT_EVENTS.OUTPUT_FAILED_TO_FETCH_MARKETS_ERROR]: ErrorParam;
|
|
206
|
+
[OUTPUT_EVENTS.OUTPUT_HEADER_LOGO]: OutputHeaderLogoParam;
|
|
207
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_URL_ERROR]: JobServiceUrlErrorParam;
|
|
208
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_URL_EXPIRED]: JobServiceUrlExpiredParam;
|
|
209
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_URL_NOT_READY]: JobServiceUrlNotReadyParam | null;
|
|
210
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_INVALID]: JobServiceUrlInvalidParam | null;
|
|
211
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_SERVICE_URL]: JobServiceUrlParam;
|
|
212
|
+
[OUTPUT_EVENTS.OUTPUT_JOB_POSTER_AUTH_TOKEN]: JobPosterAuthToken;
|
|
213
|
+
};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Adding a new Output/Throw Event
|
|
3
|
+
*
|
|
4
|
+
* Step 1: Add the new event name under OUTPUT_EVENTS
|
|
5
|
+
* Example:
|
|
6
|
+
* OUTPUT_NEW_EVENT: 'OUTPUT_NEW_EVENT',
|
|
7
|
+
*
|
|
8
|
+
* Step 2: Define parameter types for the new event
|
|
9
|
+
* Example:
|
|
10
|
+
* export type NewEventParam = { data: string };
|
|
11
|
+
*
|
|
12
|
+
* Step 3: Add the new event to OutputEventParams
|
|
13
|
+
* Example:
|
|
14
|
+
* [OUTPUT_EVENTS.OUTPUT_NEW_EVENT]: NewEventParam;
|
|
15
|
+
*
|
|
16
|
+
* Step 4: Make implementation for this new event on all OutputFormatterAdapter Handlers, Failure to do this will cause errors
|
|
17
|
+
* Example:
|
|
18
|
+
* [OUTPUT_EVENTS.OUTPUT_NEW_EVENT]: (param: OutputEventParams) => {},
|
|
19
|
+
*
|
|
20
|
+
* Step 5: also add the event to __mock__ so the tests can pass
|
|
21
|
+
*/
|
|
22
|
+
export const OUTPUT_EVENTS = {
|
|
23
|
+
READ_KEYFILE: 'READ_KEYFILE',
|
|
24
|
+
CREATE_KEYFILE: 'CREATE_KEYFILE',
|
|
25
|
+
EMPTY_KEYFILE: 'EMPTY_KEYFILE',
|
|
26
|
+
OUTPUT_JOB_URL: 'OUTPUT_JOB_URL',
|
|
27
|
+
OUTPUT_JSON_FLOW_URL: 'OUTPUT_JSON_FLOW_URL',
|
|
28
|
+
OUTPUT_MARKET_URL: 'OUTPUT_MARKET_URL',
|
|
29
|
+
OUTPUT_JOB_PRICE: 'OUTPUT_JOB_PRICE',
|
|
30
|
+
OUTPUT_JOB_STATUS: 'OUTPUT_JOB_STATUS',
|
|
31
|
+
OUTPUT_JOB_POSTED_ERROR: 'OUTPUT_JOB_POSTED_ERROR',
|
|
32
|
+
OUTPUT_JOB_POSTING: 'OUTPUT_JOB_POSTING',
|
|
33
|
+
OUTPUT_NETWORK: 'OUTPUT_NETWORK',
|
|
34
|
+
OUTPUT_BALANCES: 'OUTPUT_BALANCES',
|
|
35
|
+
OUTPUT_WALLET: 'OUTPUT_WALLET',
|
|
36
|
+
OUTPUT_IPFS_UPLOADED: 'OUTPUT_IPFS_UPLOADED',
|
|
37
|
+
OUTPUT_SERVICE_URL: 'OUTPUT_SERVICE_URL',
|
|
38
|
+
OUTPUT_PRIVATE_URL_MESSAGE: 'OUTPUT_PRIVATE_URL_MESSAGE',
|
|
39
|
+
OUTPUT_JOB_NOT_FOUND: 'OUTPUT_JOB_NOT_FOUND',
|
|
40
|
+
OUTPUT_CANNOT_LOG_RESULT: 'OUTPUT_CANNOT_LOG_RESULT',
|
|
41
|
+
OUTPUT_JOB_VALIDATION_ERROR: 'OUTPUT_JOB_VALIDATION_ERROR',
|
|
42
|
+
OUTPUT_ARTIFACT_SUPPORT_INCOMING_ERROR: 'OUTPUT_ARTIFACT_SUPPORT_INCOMING_ERROR',
|
|
43
|
+
OUTPUT_JSON_FLOW_TYPE_NOT_SUPPORTED_ERROR: 'OUTPUT_JSON_FLOW_TYPE_NOT_SUPPORTED_ERROR',
|
|
44
|
+
OUTPUT_SOL_BALANCE_LOW_ERROR: 'OUTPUT_SOL_BALANCE_LOW_ERROR',
|
|
45
|
+
OUTPUT_NOS_BALANCE_LOW_ERROR: 'OUTPUT_NOS_BALANCE_LOW_ERROR',
|
|
46
|
+
OUTPUT_AIRDROP_REQUEST_FAILED_ERROR: 'OUTPUT_AIRDROP_REQUEST_FAILED_ERROR',
|
|
47
|
+
OUTPUT_JOB_POSTED_TX: 'OUTPUT_JOB_POSTED_TX',
|
|
48
|
+
OUTPUT_NODE_URL: 'OUTPUT_NODE_URL',
|
|
49
|
+
OUTPUT_DURATION: 'OUTPUT_DURATION',
|
|
50
|
+
OUTPUT_START_TIME: 'OUTPUT_START_TIME',
|
|
51
|
+
OUTPUT_RESULT_URL: 'OUTPUT_RESULT_URL',
|
|
52
|
+
OUTPUT_JOB_EXECUTION: 'OUTPUT_JOB_EXECUTION',
|
|
53
|
+
OUTPUT_TOTAL_COST: 'OUTPUT_TOTAL_COST',
|
|
54
|
+
OUTPUT_RETRIVE_JOB_COMMAND: 'OUTPUT_RETRIVE_JOB_COMMAND',
|
|
55
|
+
OUTPUT_FAILED_TO_FETCH_MARKETS_ERROR: 'OUTPUT_FAILED_TO_FETCH_MARKETS_ERROR',
|
|
56
|
+
OUTPUT_HEADER_LOGO: 'OUTPUT_HEADER_LOGO',
|
|
57
|
+
OUTPUT_JOB_URL_ERROR: 'OUTPUT_JOB_URL_ERROR',
|
|
58
|
+
OUTPUT_JOB_URL_EXPIRED: 'OUTPUT_JOB_URL_EXPIRED',
|
|
59
|
+
OUTPUT_JOB_URL_NOT_READY: 'OUTPUT_JOB_URL_NOT_READY',
|
|
60
|
+
OUTPUT_JOB_INVALID: 'OUTPUT_JOB_INVALID',
|
|
61
|
+
OUTPUT_JOB_SERVICE_URL: 'OUTPUT_JOB_SERVICE_URL',
|
|
62
|
+
OUTPUT_JOB_POSTER_AUTH_TOKEN: 'OUTPUT_JOB_POSTER_AUTH_TOKEN',
|
|
63
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const outputFormatArgumentParser: (args: string[]) => string;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export const outputFormatArgumentParser = (args) => {
|
|
2
|
+
if (args.includes('--verbose')) {
|
|
3
|
+
return 'verbose:text';
|
|
4
|
+
}
|
|
5
|
+
const formatIndex = args.indexOf('--format');
|
|
6
|
+
if (formatIndex !== -1 && formatIndex + 1 < args.length) {
|
|
7
|
+
return args[formatIndex + 1];
|
|
8
|
+
}
|
|
9
|
+
return 'text';
|
|
10
|
+
};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { OutputFormatter } from './OutputFormatter.js';
|
|
2
|
+
/**
|
|
3
|
+
* Singleton pattern to ensure a single instance of OutputFormatter.
|
|
4
|
+
* This function selects the appropriate formatter (JSON or Text) based on the input.
|
|
5
|
+
* @param {string} format - Options indicating whether to use JSON formatting. If text, uses Text formatting.
|
|
6
|
+
* @returns {OutputFormatter} - The singleton instance of OutputFormatter.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
*
|
|
10
|
+
* ```typescript
|
|
11
|
+
* // To get a Text formatter
|
|
12
|
+
* const textFormatter = outputFormatSelector();
|
|
13
|
+
* ```
|
|
14
|
+
*/
|
|
15
|
+
export declare const outputFormatSelector: (format: string) => OutputFormatter;
|