datajack library
The command-line surface of the skillwire package.
In Shadowrun a datajack is the port through which a person connects to a
device. The wire moves the skills; this is where a human plugs in to govern
it — which is what someone typing skill deploy --host claude is doing.
It is a separate package because it is irreducibly a command-line surface,
and the domain is not. It declares --host and --scope, maps failures onto
exit codes, and renders an aligned table for a terminal. None of that
survives a move to another transport, and none of it belongs in a library
about reconciling directories. See docs/adr/0005.
Mount it in one line:
cli.module('skill', (m) => buildSkillModule(
m,
consumer: 'macss',
workspace: workspace,
catalogue: catalogue,
));
Classes
- SelectionParams
- The parameter contract every route in this module shares, and the rules that make R12.2 true rather than aspirational.
- SkillChangeCommand
-
skill deployandskill remove. - SkillChangeInput
- SkillChangeOutput
- SkillDoctorCommand
-
skill doctor— report the machine without mutating it (PRD 12.2). - SkillDoctorInput
- SkillDoctorOutput
- SkillListCommand
-
skill list— catalogue and status in one table (PRD 12.2). - SkillListInput
- SkillListOutput
- SkillListRow
- One line of the table PRD 12.2 specifies: name · version · module · kind · host · scope · status · also visible from.
- SkillValidateCommand
-
skill validate— conformance of sources to the specification (PRD 12.2). - SkillValidateInput
- SkillValidateOutput
Functions
-
asCommandException(
SkillwireError e) → CommandException - Map a package error onto the SDK's exit codes.
-
buildSkillModule(
ModuleBuilder m, {required String consumer, required Workspace workspace, required Catalogue catalogue}) → void - Mount the module.
-
translating<
T> (T build()) → T -
Run
build, translating anySkillwireErrorinto aCommandException.