Skip to content

Instantly share code, notes, and snippets.

@RickCarlino
Created May 31, 2017 18:50
Show Gist options
  • Save RickCarlino/2657e51214e3284a0fad2b735d0f0007 to your computer and use it in GitHub Desktop.
Save RickCarlino/2657e51214e3284a0fad2b735d0f0007 to your computer and use it in GitHub Desktop.
Farmware manifest interfaces.
/** Everything the farmbot knows about itself at a given moment in time. */
export interface BotStateTree {
/** REMOVE OTHER STUFF FOR CLARITY */
process_info: {
farm_events: ProcessInfo[];
regimens: ProcessInfo[];
/** THIS IS NEW: */
farmwares: FarmwareManifest[];
};
};
export interface FarmwareManifestMeta {
min_os_version_major: string;
description: string;
language: string;
version: string;
author: string;
zip: string;
}
/** The Farmware manifest is a JSON file published by farmware authors.
* It is used by FarmBot OS to perform installation and upgrades. */
export interface FarmwareManifest {
/** The thing that will run the farmware eg: `python`. */
executable: string;
uuid: string;
/** Command line args passed to `executable`. */
args: string[];
name: string;
url: string;
path: string;
meta: FarmwareManifestMeta;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment