!eՎ      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Safe6CQV0]deptrack-devopsSimple no-op PreOp.deptrack-devops Functions that can be run on an 5 object, e.g. a system dependency to enact commands. deptrack-devopssthe Check was skipped (e.g., it's not meaningful or the actions are idempotent and cheap => checking is not useful) deptrack-devopsBthe Check has not taken place or not succeeded for unknown reasons deptrack-devops+the Check finished and determined a success deptrack-devops+the Check finished and determined a failuredeptrack-devopsGAn actual system-level operation that can be tracked and depended on. s provide standard ; for actually enacting commands. They are identified by a J which is, as it name implies, is guaranteed to be unique across a whole DepTrack graph.deptrack-devopsKAlmost like a PreOp, but which exposes the type of the intermediary value.deptrack-devopsEncapsulates a deferred  along with an a argument to generate it.xThe PreOp is more or less a continuation to produce an Op (which is a set of actions to turnup/turndown system states).1This definition uses existential quantification with a Typeable constraint: * generally, we do not care about the intermediate type * however, we may want to inspect dependency nodes to apply some tree/graph conversion * we don't want to explicitly require library users to create a gigantic sum-typedeptrack-devopsSHandy name for tracking DevOp dependencies using a pure computation (recommended).deptrack-devops+Handy name for tracking DevOp dependencies.deptrack-devopsCEvaluates the return value of a DevOp, discarding the dependencies.deptrack-devops=Evaluates the dependencies of a DevOp, discarding any result.deptrack-devops>Applies the argument and the function in a PreOp to get an Op. deptrack-devops+Convert a PreOp to a TypedPreOp at runtime.!deptrack-devops7Reads the runtime representation of the PreOp argument.IThis function is useful to display or filter dependency nodes at runtime."deptrack-devopsThe identifier for a PreOp.#deptrack-devops3Transforms True into Success, False into a Failure.&deptrack-devopslProjects a Typeable object to a Preop using a projection function. This is a low-level projection function.'deptrack-devops)Build the internal representation for an .(deptrack-devops(Build the internal representation for a .)deptrack-devopsReturns a noop.*deptrack-devopsYTakes an Op and makes it a PreOp with same description but with noop checks and actions.+deptrack-devopsTracks dependencies to build an object given a pair of projection -- functions and a DepTrackT computation tracking predecessors.0  !"#$%&'()*+,-./0& !" #$%'()* +,-./Safe3 @deptrack-devops,Guards an action if it is not on a given OS.=>?@>?=@None36V]~Adeptrack-devopsJA snapshot representing the intent for a single operation at a given time.deptrack-devopsNIH Stream representing an infinite non-empty lists. TODO: * carry some logical version/timestamp * take some generally-accepted Stream implementation.Bdeptrack-devops'The intended direction of an operation.Kdeptrack-devops%The observed status for an operation.Ldeptrack-devops#The stability an operation reached.deptrack-devops*waiting for a trigger to turn this node updeptrack-devops.last we know, the node is currently turning updeptrack-devops the node is considered turned upWdeptrack-devops>A map representing the mutable status for a set of operations.Xdeptrack-devopsGA map representing the collection of histories for a set of operations.deptrack-devopsAA succession of OpIntent to model intentions varying with events.Ydeptrack-devops'An OpGraph is a Graph containing PreOp.deptrack-devopsA 2 handler when turning up/down a graph concurrentlydeptrack-devopsEA simple handler to be used when turning-up/down a graph sequentiallydeptrack-devops9Concurrently spawn an action for each item in an OpGraph.\deptrack-devopsPAtomically wait until all statuses are stable after reaching a given direction.^deptrack-devopsTurn-up a graph sequentially+Topologically sorts the graph then invokes TurnUpW action synchronously through each node. Note the order of execution is deterministic._deptrack-devopsTurn-down a graph sequentially+Topologically sorts the graph then invokes TurnDownW action synchronously through each node. Note the order of execution is deterministic.adeptrack-devops4TODO: no longer transpose graph at the calling sitesdeptrack-devops,waiting for a trigger to turn this node downdeptrack-devops0last we know, the node is currently turning downdeptrack-devops"the node is considered turned downdeptrack-devops`Transpose a intents from a "map of historical intentions" to a "history of maps of intentions".cdeptrack-devops Turns a graph up and keep it up.fdeptrack-devops"Computes a snapshot of an OpGraph.gdeptrack-devopsMReturns an operation to atomically build a status map from a graph snapshot.deptrack-devops the operationdeptrack-devopsthe operation statusdeptrack-devopschildren operations statusesdeptrack-devopsparents operations statusesdeptrack-devops%historical intents for this operationcdeptrack-devops'function delivering node change updatesdeptrack-devopsinstantaneous statusesdeptrack-devopshistorical intentsdeptrack-devopsgraph containing adjacenciesdeptrack-devops%FSM to apply to nodes that must be updeptrack-devops'FSM to apply to nodes that must be downABCDKLMNOPVWXYZ[\]^_`abcdefgBCDLMNYKZWAPOX[V]fg`abcde\^_NoneNh^ hdeptrack-devopsTurns up a graph concurrently.ideptrack-devopsKeeps a graph up concurrently.jdeptrack-devops Turns down a graph concurrently.kdeptrack-devops3Checks the graph and returns a dot formatted graph.ndeptrack-devopsDisplay a forest of operations.odeptrack-devopsLists the uniq list of nodes.deptrack-devopsReturns a .dot formatted string of a graph using a projection function to format every PreOp using .dot valid key/value node attributes.pdeptrack-devops2Builds a dot-formatted representation of the graphqdeptrack-devopsMSame as dotify but also colorize based on statuses passed in second argument. hijklmnopq hjiklmnpqoNone"#rdeptrack-devopsA builder for app that can be useful for defining an infrastructure as a recursive structure where the "main entry point" of the recursion is the binary itself.tdeptrack-devops[Parses arguments, returns a parsed architecture and a set of args for the real defaulMain.udeptrack-devops?Reverse parse arguments, for instance when building a callback.vdeptrack-devops5Generates a target from the argument and the selfPathwdeptrack-devopsOptimizations to run.xdeptrack-devops'IO to retrieve the current environment.ydeptrack-devops!An optimization on PreOp forests.zdeptrack-devopsIA FilePath corresponding to the file with the currently-executing binary.deptrack-devops,Simple main function for a single operation.You should use this U for simple configuration binaries, more involved architectures shoul almost need a r or .deptrack-devopsDefaultMain for r.deptrack-devopsUnsafely parse a ~, from what could be a command line argument.^(NB. unsafe means this function is partial, you should use this function in conjunction with - for the reverse parse and you will be fine).deptrack-devops Serializes a ~= to what should be a command-line argument later parsed via .deptrack-devops9Builds a Graph from dependencies represented as a Forest.Nodes with a same hash in the Forest will correspond to the same node in the graph, hence, it's possible to create cycles by mistake if two nodes have a same hash by mistake (this is possible if the hash does not depend on all arguments to a DevOp).deptrack-devopsdHelper to deal with App when you want to use Closures as a serialization/deserialization mechanism.You will likely add  in the t field of your r and  in the u field.deptrack-devopsDual to .deptrack-devops an operationdeptrack-devops6forest transformations to optimize the resulting graphdeptrack-devopsargsdeptrack-devops environmentrstuvwxyz{|}~~{|}zyrstuvwx      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsttuvwxyz{|}~.deptrack-devops-0.1.0.0-1BQsWDMcJxoKhJobugMn50 Devops.BaseDevops.Constraints Devops.GraphDevops.Actions Devops.Cli OpFunctionsopCheckopTurnup opTurndownopReloadOpActionOpCheck CheckResultSkippedUnknownSuccessFailure OpDescriptionopNameopDocumentationOp opDescription opFunctions opUniqueId OpUniqueId TypedPreOpPreOpDevOpDevOpTNamerunDevOpgetDependenciesOnlyrunPreOp castPreop preopType preOpUniqueIdfromBoolnoChecknoActionrawpreopbuildOp buildPreOpnoop neutralizedevoptrackdeclareinjectguardEnv$fHashableOpDescription$fShowOp $fEqPreOp $fShowPreOp$fShowOpDescription$fEqOpDescription$fOrdOpDescription$fGenericOpDescription$fShowCheckResult$fReadCheckResult$fEqCheckResult$fOrdCheckResult $fShowNoOpOSNameHasOSosonOSOpIntentWantedDirectionTurnedUp TurnedDown$fApplicativeStream$fShowWantedDirection$fEqWantedDirection$fOrdWantedDirection$fGenericWantedDirection$fFunctorStreamOpStatus StabilityStable TransientintentDirection intentPreOp$fShowStability $fEqStability$fOrdStability$fGenericStability$fShowOpStatus Broadcast OpStatusesMapIntentsOpGraph opCheckResult emptyIntents waitStability noBroadcastsyncTurnupGraphsyncTurnDownGraphasyncTurnupGraphasyncTurndownGraphcheckWholeGraph upkeepGraphdefaultUpKeepFSMdefaultDownKeepFSMsnapshotmakeStatusesMapconcurrentTurnupconcurrentUpkeepconcurrentTurndown checkStatusessequentialTurnupsequentialTurnDowndisplay listUniqNodes defaultDotifydotifyWithStatusesApp _parseArgs _revParse_target_opts _retrieveEnvForestOptimizationSelfPath Concurrency Concurrently SequentiallyMethodTurnUpTurnDownUpkeepPrintDotCheckDotList applyMethod simpleMainappMain appMethod methodArggraphizeopClosureFromB64opClosureToB64NoOpStreamWaitUpUppingUp OpHistoryAsyncOpHandler SyncOpHandlertraverseOpGraphWaitDownDowningDown snapshots dotifyWith