@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,317 @@
|
|
|
1
|
+
import { BasicNode } from './node/Node.js';
|
|
2
|
+
import { createLoggingProxy } from './monitoring/proxy/loggingProxy.js';
|
|
3
|
+
import { state } from './monitoring/state/NodeState.js';
|
|
4
|
+
import { stateStreaming } from './monitoring/streaming/StateStreamer.js';
|
|
5
|
+
import { log } from './monitoring/log/NodeLog.js';
|
|
6
|
+
import { logStreaming } from './monitoring/streaming/LogStreamer.js';
|
|
7
|
+
import { consoleLogging } from './monitoring/log/console/ConsoleLogger.js';
|
|
8
|
+
import { validateCLIVersion } from '../version/index.js';
|
|
9
|
+
import { configs } from './configs/configs.js';
|
|
10
|
+
import { getSDK } from './sdk/index.js';
|
|
11
|
+
import { ping } from './monitoring/ping/PingHandler.js';
|
|
12
|
+
import { LogMonitoringRegistry } from './monitoring/LogMonitoringRegistry.js';
|
|
13
|
+
import { checkWSLStatus } from './utils/wslCheck.js';
|
|
14
|
+
export default class NodeManager {
|
|
15
|
+
constructor(options) {
|
|
16
|
+
this.exiting = false;
|
|
17
|
+
this.inJobLoop = false;
|
|
18
|
+
this.node = createLoggingProxy(new BasicNode(options));
|
|
19
|
+
/**
|
|
20
|
+
* the node class makes the api but we pass the api to the NodeManager class
|
|
21
|
+
* because we want the api to be independent from nodes restarts
|
|
22
|
+
*/
|
|
23
|
+
this.apiHandler = this.node.api();
|
|
24
|
+
this.handleProcessExit();
|
|
25
|
+
}
|
|
26
|
+
async init() {
|
|
27
|
+
/**
|
|
28
|
+
* setup state that any instance can listen to, state produced from the node via logging proxies.
|
|
29
|
+
* set up node state processing, observers can connect to it and received state
|
|
30
|
+
* updates of the node.
|
|
31
|
+
*/
|
|
32
|
+
state(this.node.node());
|
|
33
|
+
/**
|
|
34
|
+
* this is one of the subscriber to @function state(),
|
|
35
|
+
* this sends states over websockets to the job poster or external services
|
|
36
|
+
*/
|
|
37
|
+
stateStreaming(this.node.node());
|
|
38
|
+
/**
|
|
39
|
+
* set up log listening, any instance can listen to log produces from the node
|
|
40
|
+
* the logs are produces from the log proxy
|
|
41
|
+
*/
|
|
42
|
+
log();
|
|
43
|
+
/**
|
|
44
|
+
* this is one of the subscriber to @function log(),
|
|
45
|
+
* the send the log over websocket to job poster or any external service
|
|
46
|
+
*/
|
|
47
|
+
logStreaming(this.node.node());
|
|
48
|
+
/**
|
|
49
|
+
* this is one of the subscriber to @function log()
|
|
50
|
+
* this prints the logs to the console.
|
|
51
|
+
*/
|
|
52
|
+
consoleLogging();
|
|
53
|
+
/**
|
|
54
|
+
* start
|
|
55
|
+
*
|
|
56
|
+
* this includes setting up everything in the node including
|
|
57
|
+
* the node api, initializing everything that needs to be initialized
|
|
58
|
+
*/
|
|
59
|
+
await this.node.start();
|
|
60
|
+
if (!this.node.isOnboarded) {
|
|
61
|
+
await this.node.register();
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* start the api of the node and register all the routes of the nodes,
|
|
65
|
+
* we call this here in the init so the api survives restarts between jobs
|
|
66
|
+
*/
|
|
67
|
+
if (!this.inJobLoop) {
|
|
68
|
+
await this.apiHandler.preventMultipleApiStarts();
|
|
69
|
+
await this.apiHandler.start();
|
|
70
|
+
/**
|
|
71
|
+
* ping
|
|
72
|
+
*
|
|
73
|
+
* make a call to the backend per interval to show live ness to the backend
|
|
74
|
+
*/
|
|
75
|
+
await ping();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
async start(marketArg) {
|
|
79
|
+
this.exiting = false;
|
|
80
|
+
if (this.inJobLoop) {
|
|
81
|
+
await validateCLIVersion();
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* maintenance
|
|
85
|
+
*/
|
|
86
|
+
await this.node.maintenance();
|
|
87
|
+
/**
|
|
88
|
+
* specs
|
|
89
|
+
*
|
|
90
|
+
* this retrieves specs from the node to ensure it can run the jobs.
|
|
91
|
+
* It gets the GPUs, CPUs, and internet speed.
|
|
92
|
+
*
|
|
93
|
+
* if the specs fails restart the system
|
|
94
|
+
*/
|
|
95
|
+
if (!(await this.node.specs())) {
|
|
96
|
+
/**
|
|
97
|
+
* start
|
|
98
|
+
*
|
|
99
|
+
* recursively start the the process again by calling the restart function
|
|
100
|
+
*/
|
|
101
|
+
return await this.restart(marketArg);
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* WSL check
|
|
105
|
+
* - Shows warning message for all WSL hosts
|
|
106
|
+
* - Throws WSLBlockedError after December 15, 2025 to prevent queue joining
|
|
107
|
+
*/
|
|
108
|
+
checkWSLStatus(this.node.getSystemEnvironment());
|
|
109
|
+
/**
|
|
110
|
+
* grid
|
|
111
|
+
*
|
|
112
|
+
* if no market was supplied, we will register on the grid and get
|
|
113
|
+
* market and access key recommened for our PC based on specs result
|
|
114
|
+
*/
|
|
115
|
+
let market = marketArg;
|
|
116
|
+
if (!market || !market.length) {
|
|
117
|
+
market = await this.node.recommend();
|
|
118
|
+
}
|
|
119
|
+
/**
|
|
120
|
+
* setup
|
|
121
|
+
*
|
|
122
|
+
* this sets up everything need, downloads needed resources ...
|
|
123
|
+
*/
|
|
124
|
+
await this.node.setup(market);
|
|
125
|
+
/**
|
|
126
|
+
* healthcheck
|
|
127
|
+
*
|
|
128
|
+
* this checks the health of the container tech,
|
|
129
|
+
* the connectivity, and every other critical system.
|
|
130
|
+
*/
|
|
131
|
+
if (!(await this.node.healthcheck(market))) {
|
|
132
|
+
/**
|
|
133
|
+
* start
|
|
134
|
+
*
|
|
135
|
+
* recursively start the the process again by calling the restart function
|
|
136
|
+
*/
|
|
137
|
+
return await this.restart(marketArg);
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* this variable was added to know when the node has gone past the setup/checks stages
|
|
141
|
+
* and is now starting job work and queueing,
|
|
142
|
+
* this is mainly put that we want to report error and end the node only when it hasn't passed
|
|
143
|
+
* these stages else we want to restart the node process on error
|
|
144
|
+
*/
|
|
145
|
+
this.inJobLoop = true;
|
|
146
|
+
if (!(await this.node.isApiActive())) {
|
|
147
|
+
throw new Error('Node API is detected offline');
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* pending
|
|
151
|
+
*
|
|
152
|
+
* This checks for pending jobs that were assigned to the node.
|
|
153
|
+
* If the node was shut down and did not pick up a job,
|
|
154
|
+
*
|
|
155
|
+
* NT: If there is no pending job it is sent to the queue
|
|
156
|
+
*/
|
|
157
|
+
if (!(await this.node.pending())) {
|
|
158
|
+
/**
|
|
159
|
+
* queue
|
|
160
|
+
*
|
|
161
|
+
* Enter the queue to wait for a job since we have no pending jobs.
|
|
162
|
+
*/
|
|
163
|
+
await this.node.queue(market);
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
*
|
|
167
|
+
* This starts two parallel tasks:
|
|
168
|
+
* 1. monitorMarket() - Watches for market removal and can trigger a restart.
|
|
169
|
+
* 2. run() - Waits for and executes the actual job when assigned.
|
|
170
|
+
*
|
|
171
|
+
* Whichever completes first determines the flow:
|
|
172
|
+
* - If a job is received and run() completes, the node proceeds normally.
|
|
173
|
+
* - If monitorMarket() detects no activity within a timeout, it triggers a restart.
|
|
174
|
+
*
|
|
175
|
+
* NT: run() is the primary job execution path. monitorMarket() is a background safeguard.
|
|
176
|
+
*/
|
|
177
|
+
await Promise.race([this.node.monitorMarket(), this.node.run()]);
|
|
178
|
+
/**
|
|
179
|
+
* start
|
|
180
|
+
*
|
|
181
|
+
* recursively start the the process again by calling the restart function
|
|
182
|
+
*/
|
|
183
|
+
return await this.restart(marketArg);
|
|
184
|
+
}
|
|
185
|
+
async stop() {
|
|
186
|
+
this.exiting = true;
|
|
187
|
+
try {
|
|
188
|
+
/**
|
|
189
|
+
* stop api
|
|
190
|
+
*
|
|
191
|
+
* we want to stop the api server, we only do this on complete shutdown and not
|
|
192
|
+
* restarts after jobs
|
|
193
|
+
*/
|
|
194
|
+
await this.apiHandler.stop();
|
|
195
|
+
}
|
|
196
|
+
catch (error) { }
|
|
197
|
+
/**
|
|
198
|
+
* check if the node exists then stop the node, this will involve killing and cleaning
|
|
199
|
+
* the processes.
|
|
200
|
+
*/
|
|
201
|
+
if (this.node) {
|
|
202
|
+
await this.node.stop();
|
|
203
|
+
}
|
|
204
|
+
state(this.node.node()).clear();
|
|
205
|
+
stateStreaming(this.node.node()).clear();
|
|
206
|
+
logStreaming(this.node.node()).clear();
|
|
207
|
+
this.exiting = false;
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* clean is different from stop as it does not stop the API
|
|
211
|
+
* it doesn't quit a job or leave a market, it just clears instances from the handlers
|
|
212
|
+
*/
|
|
213
|
+
async clean() {
|
|
214
|
+
this.exiting = true;
|
|
215
|
+
/**
|
|
216
|
+
* check if the node exists then clean the processes.
|
|
217
|
+
*/
|
|
218
|
+
if (this.node) {
|
|
219
|
+
await this.node.clean();
|
|
220
|
+
}
|
|
221
|
+
stateStreaming(this.node.node()).clear();
|
|
222
|
+
logStreaming(this.node.node()).clear();
|
|
223
|
+
this.exiting = false;
|
|
224
|
+
}
|
|
225
|
+
async restart(marketArg) {
|
|
226
|
+
if (this.exiting)
|
|
227
|
+
return;
|
|
228
|
+
this.exiting = true;
|
|
229
|
+
// this.node.exit();
|
|
230
|
+
/**
|
|
231
|
+
* clean
|
|
232
|
+
*
|
|
233
|
+
* clean the node, clear up data, clean processes and operations
|
|
234
|
+
*/
|
|
235
|
+
await this.clean();
|
|
236
|
+
/**
|
|
237
|
+
* delay
|
|
238
|
+
*
|
|
239
|
+
* put a delay of seconds to space out restarting
|
|
240
|
+
*/
|
|
241
|
+
await this.node.restartDelay(10);
|
|
242
|
+
/**
|
|
243
|
+
* start
|
|
244
|
+
*
|
|
245
|
+
* start the process of this manager
|
|
246
|
+
*/
|
|
247
|
+
await this.start(marketArg);
|
|
248
|
+
}
|
|
249
|
+
async delay(sec) {
|
|
250
|
+
await this.node.restartDelay(sec);
|
|
251
|
+
}
|
|
252
|
+
async error() {
|
|
253
|
+
if (this.exiting)
|
|
254
|
+
return;
|
|
255
|
+
this.exiting = true;
|
|
256
|
+
this.node.exit();
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Set up handling for process exit signals
|
|
260
|
+
*/
|
|
261
|
+
handleProcessExit() {
|
|
262
|
+
const exitHandler = async () => {
|
|
263
|
+
LogMonitoringRegistry.getInstance().setLoggable(true);
|
|
264
|
+
if (this.exiting)
|
|
265
|
+
return;
|
|
266
|
+
this.exiting = true;
|
|
267
|
+
this.node.exit();
|
|
268
|
+
await this.stop();
|
|
269
|
+
process.exit();
|
|
270
|
+
};
|
|
271
|
+
process.on('SIGINT', exitHandler); // Handle Ctrl+C
|
|
272
|
+
process.on('SIGTERM', exitHandler); // Handle termination signals
|
|
273
|
+
// log crashes
|
|
274
|
+
process.on('unhandledRejection', async (reason, p) => {
|
|
275
|
+
try {
|
|
276
|
+
const e = reason;
|
|
277
|
+
await reportError({
|
|
278
|
+
error_type: 'unhandledRejection',
|
|
279
|
+
error_name: e.name,
|
|
280
|
+
error_message: e.message,
|
|
281
|
+
error_stack: e.stack ?? e.trace,
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
catch (_) { }
|
|
285
|
+
});
|
|
286
|
+
process.on('uncaughtException', async (reason) => {
|
|
287
|
+
try {
|
|
288
|
+
const e = reason;
|
|
289
|
+
await reportError({
|
|
290
|
+
error_type: 'uncaughtException',
|
|
291
|
+
error_name: e.name,
|
|
292
|
+
error_message: e.message,
|
|
293
|
+
error_stack: e.stack ?? e.trace,
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
catch (_) { }
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
const reportError = async (data) => {
|
|
301
|
+
const nosana = getSDK();
|
|
302
|
+
const response = await fetch(`${configs().backendUrl}/errors/report`, {
|
|
303
|
+
method: 'POST',
|
|
304
|
+
headers: {
|
|
305
|
+
Authorization: await nosana.authorization.generate(configs().signMessage, {
|
|
306
|
+
includeTime: true,
|
|
307
|
+
}),
|
|
308
|
+
'Content-Type': 'application/json',
|
|
309
|
+
},
|
|
310
|
+
body: JSON.stringify({
|
|
311
|
+
address: nosana.solana.provider.wallet.publicKey.toString(),
|
|
312
|
+
...data,
|
|
313
|
+
}),
|
|
314
|
+
});
|
|
315
|
+
const responseBody = await response.json();
|
|
316
|
+
return responseBody;
|
|
317
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Job } from '@nosana/sdk';
|
|
2
|
+
import 'rpc-websockets/dist/lib/client.js';
|
|
3
|
+
import { PublicKey } from '@solana/web3.js';
|
|
4
|
+
export declare const EMPTY_ADDRESS: PublicKey;
|
|
5
|
+
export declare const waitForJobCompletion: (jobAddress: PublicKey) => Promise<Job>;
|
|
6
|
+
export declare const waitForJobRunOrCompletion: (jobAddress: PublicKey) => Promise<Job>;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { mapJob } from '@nosana/sdk';
|
|
2
|
+
import 'rpc-websockets/dist/lib/client.js';
|
|
3
|
+
import { PublicKey } from '@solana/web3.js';
|
|
4
|
+
import { getSDK } from '../sdk/index.js';
|
|
5
|
+
export const EMPTY_ADDRESS = new PublicKey('11111111111111111111111111111111');
|
|
6
|
+
const POLLING_INTERVAL = 10000;
|
|
7
|
+
export const waitForJobCompletion = async (jobAddress) => {
|
|
8
|
+
const nosana = getSDK();
|
|
9
|
+
await nosana.jobs.loadNosanaJobs();
|
|
10
|
+
return new Promise((resolve) => {
|
|
11
|
+
const subscriptionId = nosana.jobs.connection.onAccountChange(jobAddress, (accountInfo) => {
|
|
12
|
+
const jobAccount = nosana.jobs.jobs.coder.accounts.decode(nosana.jobs.jobs.account.jobAccount.idlAccount.name, accountInfo.data);
|
|
13
|
+
if (jobAccount.state >= 2) {
|
|
14
|
+
nosana.jobs.connection.removeProgramAccountChangeListener(subscriptionId);
|
|
15
|
+
resolve(mapJob(jobAccount));
|
|
16
|
+
}
|
|
17
|
+
}, 'confirmed');
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
export const waitForJobRunOrCompletion = async (jobAddress) => {
|
|
21
|
+
const nosana = getSDK();
|
|
22
|
+
await nosana.jobs.loadNosanaJobs();
|
|
23
|
+
const getJobRunningPromise = new Promise((resolve) => {
|
|
24
|
+
const checkCondition = async () => {
|
|
25
|
+
const job = await nosana.jobs.get(jobAddress);
|
|
26
|
+
if (job.state === 'RUNNING') {
|
|
27
|
+
resolve(job);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
setTimeout(checkCondition, POLLING_INTERVAL);
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
checkCondition();
|
|
34
|
+
});
|
|
35
|
+
const jobCompletionPromise = new Promise((resolve) => {
|
|
36
|
+
const subscriptionId = nosana.jobs.connection.onAccountChange(jobAddress, (accountInfo) => {
|
|
37
|
+
const jobAccount = nosana.jobs.jobs.coder.accounts.decode(nosana.jobs.jobs.account.jobAccount.idlAccount.name, accountInfo.data);
|
|
38
|
+
if (jobAccount.state >= 2) {
|
|
39
|
+
nosana.jobs.connection.removeProgramAccountChangeListener(subscriptionId);
|
|
40
|
+
resolve(mapJob(jobAccount));
|
|
41
|
+
}
|
|
42
|
+
}, 'confirmed');
|
|
43
|
+
});
|
|
44
|
+
return Promise.race([getJobRunningPromise, jobCompletionPromise]);
|
|
45
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export declare class LogMonitoringRegistry {
|
|
2
|
+
private static instance;
|
|
3
|
+
private registry;
|
|
4
|
+
static getInstance(): LogMonitoringRegistry;
|
|
5
|
+
setLoggable(state: boolean): void;
|
|
6
|
+
getLoggable(): boolean;
|
|
7
|
+
setSkipLog(state: boolean): void;
|
|
8
|
+
getSkipLog(): boolean;
|
|
9
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export class LogMonitoringRegistry {
|
|
2
|
+
constructor() {
|
|
3
|
+
this.registry = new Map();
|
|
4
|
+
}
|
|
5
|
+
static getInstance() {
|
|
6
|
+
if (!LogMonitoringRegistry.instance) {
|
|
7
|
+
LogMonitoringRegistry.instance = new LogMonitoringRegistry();
|
|
8
|
+
}
|
|
9
|
+
return LogMonitoringRegistry.instance;
|
|
10
|
+
}
|
|
11
|
+
setLoggable(state) {
|
|
12
|
+
this.registry.set('loggable', state);
|
|
13
|
+
}
|
|
14
|
+
getLoggable() {
|
|
15
|
+
return this.registry.get('loggable') ?? true;
|
|
16
|
+
}
|
|
17
|
+
setSkipLog(state) {
|
|
18
|
+
this.registry.set('skiplog', state) ?? true;
|
|
19
|
+
}
|
|
20
|
+
getSkipLog() {
|
|
21
|
+
return this.registry.get('skiplog') ?? false;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export interface LogObserver {
|
|
2
|
+
isNodeObserver(): boolean;
|
|
3
|
+
update(log: NodeLogEntry, isNode?: boolean): void;
|
|
4
|
+
}
|
|
5
|
+
export declare const log: () => NodeLog;
|
|
6
|
+
export interface NodeLogEntryPending {
|
|
7
|
+
isPending: boolean;
|
|
8
|
+
expecting: string | undefined;
|
|
9
|
+
}
|
|
10
|
+
export interface NodeLogEntry {
|
|
11
|
+
log: string;
|
|
12
|
+
method: string;
|
|
13
|
+
type: string;
|
|
14
|
+
pending?: NodeLogEntryPending;
|
|
15
|
+
timestamp: number;
|
|
16
|
+
job: string | undefined;
|
|
17
|
+
payload?: any;
|
|
18
|
+
}
|
|
19
|
+
declare class NodeLog {
|
|
20
|
+
private observers;
|
|
21
|
+
private shared;
|
|
22
|
+
private job;
|
|
23
|
+
constructor();
|
|
24
|
+
addObserver(observer: LogObserver): void;
|
|
25
|
+
removeObserver(observer: LogObserver): void;
|
|
26
|
+
private notifyObservers;
|
|
27
|
+
private addLog;
|
|
28
|
+
private addFlog;
|
|
29
|
+
private process;
|
|
30
|
+
private handleRecommend;
|
|
31
|
+
private handleResourceManager;
|
|
32
|
+
private handleSpecs;
|
|
33
|
+
private handleRegister;
|
|
34
|
+
private handleExpiryHandler;
|
|
35
|
+
private handleContainerCheckHandler;
|
|
36
|
+
private handleStakeHandler;
|
|
37
|
+
private handleHealthHandler;
|
|
38
|
+
private handleProvider;
|
|
39
|
+
private handleNodeRepository;
|
|
40
|
+
private handleJobExternalUtil;
|
|
41
|
+
private handleHealthy;
|
|
42
|
+
private handlePullImage;
|
|
43
|
+
private handleCreateNetwork;
|
|
44
|
+
private handleRunContainer;
|
|
45
|
+
private handleRunFlowContainer;
|
|
46
|
+
private handleApiHandler;
|
|
47
|
+
private handleMarketHandler;
|
|
48
|
+
private handleExit;
|
|
49
|
+
private handleClean;
|
|
50
|
+
private handleStop;
|
|
51
|
+
private handleRestart;
|
|
52
|
+
private handlePending;
|
|
53
|
+
private handleJobHandler;
|
|
54
|
+
private handleFlowHandler;
|
|
55
|
+
}
|
|
56
|
+
export {};
|