close
Skip to main content

@sys/tools@0.0.496
Built and signed on GitHub Actions

Works with
This package works with Deno, Browsers
This package works with Deno
This package works with Browsers
JSR Score100%
License
MIT
Downloads5/wk
Published2 weeks ago (0.0.496)

CLI surface for @sys primitive compositions.

Functions

f
cli(
cwd,
argv
): Promise<void>

Run Pull with interactive menus or explicit non-interactive arguments.

Namespaces

N

Contracts for configured remote materialization and mutable local projections.

N

Execution contracts for one configured remote bundle.

N

Result truth for one checksum-pinned Dist bundle.

N

Mutable-copy settlement without generation authority or verification evidence.

N

Strict durable configuration for Dist materialization and generic GitHub pulls.

Type Aliases

T
PullTool.Bundle.Dist.Failure = MaterializationFailure | ProjectionFailure

Failure in generation materialization or later mutable projection.

T
PullTool.Bundle.Dist.MaterializationFailure = { readonly ok: false; readonly kind: "materialization-failed"; readonly generation: t.Dist.Failed; readonly projection: Projection.NotRun; }

Server-owned materialization failed, so projection never acquired authority to run.

  • generation: t.Dist.Failed
    No documentation available
  • kind: "materialization-failed"
    No documentation available
  • ok: false
    No documentation available
  • projection: Projection.NotRun
    No documentation available
T
PullTool.Bundle.Dist.Projection.Failure = { readonly kind: "failed"; readonly reason:
"invalid-target"
| "target-occupied"
| "filesystem-failure"
| "rewrite-failure"
| "cancelled"
; readonly dir: t.StringAbsoluteDir; readonly mode: t.GithubPull.Mode; readonly error: string; }

Projection failed after the pinned generation outcome had settled.

  • dir: t.StringAbsoluteDir
    No documentation available
  • error: string
    No documentation available
  • kind: "failed"
    No documentation available
  • mode: t.GithubPull.Mode
    No documentation available
  • reason:
    "invalid-target"
    | "target-occupied"
    | "filesystem-failure"
    | "rewrite-failure"
    | "cancelled"
    No documentation available
T
PullTool.Bundle.Dist.Projection.NotRequested = { readonly kind: "not-requested"; }

Projection was absent from configuration.

  • kind: "not-requested"
    No documentation available
T
PullTool.Bundle.Dist.Projection.NotRun = { readonly kind: "not-run"; }

Projection could not run because materialization failed.

  • kind: "not-run"
    No documentation available
T
PullTool.Bundle.Dist.Projection.Success = { readonly kind: "projected"; readonly dir: t.StringAbsoluteDir; readonly mode: t.GithubPull.Mode; }

Mutable local projection completed without inheriting a verification claim.

  • dir: t.StringAbsoluteDir
    No documentation available
  • kind: "projected"
    No documentation available
  • mode: t.GithubPull.Mode
    No documentation available
T
PullTool.Bundle.Dist.ProjectionFailure = { readonly ok: false; readonly kind: "projection-failed"; readonly generation: t.Dist.Existing | t.Dist.Promoted; readonly projection: Projection.Failure; }

Pinned generation succeeded, but its separate mutable projection failed.

  • generation: t.Dist.Existing | t.Dist.Promoted
    No documentation available
  • kind: "projection-failed"
    No documentation available
  • ok: false
    No documentation available
  • projection: Projection.Failure
    No documentation available
T
PullTool.Bundle.Dist.Result = Success | Failure

Complete materialization and projection settlement.

T
PullTool.Bundle.Dist.Success = { readonly ok: true; readonly kind: "dist"; readonly generation: t.Dist.Existing | t.Dist.Promoted; readonly projection: Projection.NotRequested | Projection.Success; }

Pinned generation success with either no projection or a completed projection.

  • generation: t.Dist.Existing | t.Dist.Promoted
    No documentation available
  • kind: "dist"
    No documentation available
  • ok: true
    No documentation available
  • projection: Projection.NotRequested | Projection.Success
    No documentation available
T
PullTool.Bundle.RunOptions = { readonly silent?: boolean; readonly until?: t.UntilInput; }

Lifecycle and terminal-output options for one bundle.

  • silent: boolean
    No documentation available
  • until: t.UntilInput
    No documentation available
T
PullTool.CliArgs =
t.Tools.CliArgs
& { config?: string; manifest?: string; integrity?: string; store?: string; project?: string; mode?: t.GithubPull.Mode; dry-run?: boolean; non-interactive?: boolean; }

Raw Pull command-line arguments.

T

Supported Pull subcommand.

T
PullTool.CliParsedArgs =
t.ParsedArgs<CliArgs>
& { readonly command?: CliCommand; readonly interactive: boolean; }

Parsed Pull arguments with normalized interaction mode.

T
PullTool.ConfigYaml.Bundle = DistBundle | GithubReleaseBundle | GithubRepoBundle

One supported configured remote bundle.

T
PullTool.ConfigYaml.DirName = `-config/${string}.${Id}`

Canonical Pull configuration directory name.

T
PullTool.ConfigYaml.DistBundle = { kind: "dist"; manifest: t.StringUrl; integrity: t.StringHash; store: t.StringRelativeDir; project?: DistProject; }

Checksum-pinned Dist authority and optional mutable projection.

  • integrity: t.StringHash
    No documentation available
  • kind: "dist"
    No documentation available
  • manifest: t.StringUrl
    No documentation available
  • project: DistProject
    No documentation available
  • store: t.StringRelativeDir
    No documentation available
T
PullTool.ConfigYaml.DistProject = { dir: t.StringRelativeDir; mode: t.GithubPull.Mode; }

Optional mutable copy of a pinned Dist generation.

  • dir: t.StringRelativeDir
    No documentation available
  • mode: t.GithubPull.Mode
    No documentation available
T
PullTool.ConfigYaml.Doc = { dir: t.StringDir; bundles?: Bundle[]; }

Strict YAML document owned by Pull.

  • bundles: Bundle[]
    No documentation available
  • dir: t.StringDir
    No documentation available
T

Pull configuration filename extension.

T
PullTool.ConfigYaml.GithubBundleBase = { repo: string; local: GithubBundleLocal; limits: t.GithubPull.Limits; }

Authority shared by bounded generic GitHub bundles.

  • limits: t.GithubPull.Limits
    No documentation available
  • local: GithubBundleLocal
    No documentation available
  • repo: string
    No documentation available
T
PullTool.ConfigYaml.GithubBundleLocal = { dir: t.StringRelativeDir; mode: t.GithubPull.Mode; }

Explicit mutable target for a generic GitHub pull.

  • dir: t.StringRelativeDir
    No documentation available
  • mode: t.GithubPull.Mode
    No documentation available
T
PullTool.ConfigYaml.GithubReleaseBundle =
GithubBundleBase
& { kind: "github:release"; tag?: string; asset?: string | string[]; }

Bounded GitHub release-asset bundle.

T
PullTool.ConfigYaml.GithubRepoBundle =
GithubBundleBase
& { kind: "github:repo"; ref?: string; path?: string; }

Bounded GitHub repository-tree bundle.

T
PullTool.ConfigYaml.LoadResult =
{ readonly ok: true; readonly cwd: t.StringDir; readonly location: Location; }
| { readonly ok: false; readonly errors: readonly t.Schema.Error[]; }

Pull configuration load result.

T
PullTool.ConfigYaml.Location = { readonly dir: t.StringDir; readonly bundles?: Bundle[]; }

Validated bundles with their resolved execution root.

  • bundles: Bundle[]
    No documentation available
  • dir: t.StringDir
    No documentation available
T
PullTool.ConfigYaml.Resolved = { readonly config: t.StringPath; readonly cwd: t.StringDir; readonly dir: t.StringDir; readonly localDirs: readonly ResolvedLocalDir[]; }

Resolved Pull configuration and its mutable output targets.

  • config: t.StringPath
    No documentation available
  • cwd: t.StringDir
    No documentation available
  • dir: t.StringDir
    No documentation available
  • localDirs: readonly ResolvedLocalDir[]
    No documentation available
T
PullTool.ConfigYaml.ResolvedLocalDir = { readonly index: number; readonly dir: t.StringRelativeDir; readonly path: t.StringDir; readonly bundle: Bundle; }

Resolved mutable output target for a pull bundle.

  • bundle: Bundle
    No documentation available
  • dir: t.StringRelativeDir
    No documentation available
  • index: number
    No documentation available
  • path: t.StringDir
    No documentation available
T
PullTool.ConfigYaml.YamlCheck =
{ readonly ok: true; readonly doc: Doc; }
| { readonly ok: false; readonly errors: readonly t.Schema.Error[]; }

Strict YAML validation result.

T
PullTool.Id = "pull"

Pull registry identifier literal.

T
PullTool.Lib = { resolve(config: t.StringPath): Promise<ConfigYaml.Resolved>; run(args: RunArgs): Promise<RunResult>; }

Public API for resolving and executing durable Pull configuration.

  • resolve(config: t.StringPath): Promise<ConfigYaml.Resolved>

    Resolve configured mutable outputs without network or filesystem mutation.

  • run(args: RunArgs): Promise<RunResult>

    Materialize every bundle in one owner config, throwing at the first failed bundle.

T
PullTool.MenuCmd =
"config"
| "config:edit"
| "config:rename"
| "bundle:add-dist"
| "back"
| "exit"

Command names.

T
PullTool.MenuOption = { readonly name: string; readonly value: MenuCmd; }

One interactive Pull menu option.

  • name: string
    No documentation available
  • value: MenuCmd
    No documentation available
T
PullTool.Name = "system/pull:tools"

Pull tool-name literal.

T
PullTool.RunArgs =
{ readonly cwd?: t.StringDir; readonly until?: t.UntilInput; }
& t.Tools.ConfigRefArgs

Arguments for a programmatic Pull run.

T
PullTool.RunBundleResult =
{ readonly bundle: ConfigYaml.DistBundle; readonly data: Bundle.Dist.Success; }
| { readonly bundle: ConfigYaml.GithubReleaseBundle | ConfigYaml.GithubRepoBundle; readonly data: t.GithubPull.Success; }

Successful result retained for one configured bundle; run throws on any bundle failure.

T
PullTool.RunResult = { readonly ok: true; readonly config: t.StringPath; readonly cwd: t.StringDir; readonly dir: t.StringDir; readonly bundles: readonly RunBundleResult[]; }

Successful settlement of every bundle in one programmatic Pull run.

  • bundles: readonly RunBundleResult[]
    No documentation available
  • config: t.StringPath
    No documentation available
  • cwd: t.StringDir
    No documentation available
  • dir: t.StringDir
    No documentation available
  • ok: true
    No documentation available
T
PullToolsLib = { cli(
cwd?: t.StringDir,
argv?: string[]
): Promise<void>; }

Pull CLI entry contract.

  • cli(
    cwd?: t.StringDir,
    argv?: string[]
    ): Promise<void>

    Run Pull with interactive menus or explicit non-interactive arguments.

Variables

v
GithubPull: t.GithubPull.Lib

Bounded generic GitHub release and repository downloads.

v
Pull: t.PullTool.Lib

Resolve and execute durable Pull configuration.

Report package

Please provide a reason for reporting this package. We will review your report and take appropriate action.

Please review the JSR usage policy before submitting a report.

Add Package

deno add jsr:@sys/tools

Import symbol

import * as Configure_and_execute_Pull_owned_remote_materialization___Dist_bundles_authenticate_an_exact_caller_supplied_manifest_pin_and_retain_evidence_on_the_immutable_generation__An_optional_projection_is_a_mutable_copy_and_carries_no_verification_claim__GitHub_bundles_remain_bounded_downloads__not_verified_Dist_materialization_ from "@sys/tools/pull";
or

Import directly with a jsr specifier

import * as Configure_and_execute_Pull_owned_remote_materialization___Dist_bundles_authenticate_an_exact_caller_supplied_manifest_pin_and_retain_evidence_on_the_immutable_generation__An_optional_projection_is_a_mutable_copy_and_carries_no_verification_claim__GitHub_bundles_remain_bounded_downloads__not_verified_Dist_materialization_ from "jsr:@sys/tools/pull";