Socket
Socket
Sign inDemoInstall

@oada/types

Package Overview
Dependencies
Maintainers
8
Versions
71
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@oada/types - npm Package Compare versions

Comparing version 3.0.6 to 3.1.0

.history/oada/ainz/rule_20220617170802.js

404

modus/v1/global.d.ts

@@ -0,20 +1,82 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /modus/v1/global.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/modus/v1/global.schema.json}
*/
export declare const $id = "https://formats.openag.io/modus/v1/global.schema.json";
/**
* Returns true if `val` is a @type `GlobalSchema`, false otherwise
*/
export declare function is(val: unknown): val is GlobalSchema;
/**
* Asserts that `val` is a @type `GlobalSchema`
*/
export declare function assert(val: unknown): asserts val is GlobalSchema;
export default GlobalSchema;
/**
* This interface was referenced by `GlobalSchema`'s JSON-Schema
* via the `definition` "uuid".
*/
export declare type Uuid = string;
/**
* Nutrient results of a sample
*
* This interface was referenced by `GlobalSchema`'s JSON-Schema
* via the `definition` "NutrientResults".
*/
export declare type NutrientResults = {
/**
* Nutrient Element. See "Element List for Modus.xlsx" for supported elements
*/
Element?: string;
/**
* The value of the element
*/
Value?: number;
/**
* Unit of measure for the value
*/
ValueUnit?: string;
/**
* Analysis Name from "Soil Analysis Nomenclature Modus.xlsx" or "Botanical Analysis Nomenclature Modus.xlsx"
*/
ModusTestID?: string;
/**
* Type definition of the value
*/
ValueType?: ("Measured" | "Percent" | "Calculated" | "Index");
/**
* Value description assigned by the lab.
*/
ValueDesc?: ("Very Low" | "Low" | "Medium" | "Optimum" | "Very High" | "VL" | "L" | "M" | "O" | "VH" | "High" | "H");
[k: string]: unknown;
}[];
/**
* This interface was referenced by `GlobalSchema`'s JSON-Schema
* via the `definition` "NutrientRecommendations".
*/
export declare type NutrientRecommendations = {
/**
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "[0-9]+".
*/
[k: string]: {
RecID: string;
/**
* Name of the recommendation element
*/
Element?: string;
/**
* Value of the recommendation
*/
Value?: number;
/**
* Unit of the recommendation
*/
ValueUnit?: string;

@@ -24,13 +86,47 @@ [k: string]: unknown;

}[];
/**
* This interface was referenced by `GlobalSchema`'s JSON-Schema
* via the `definition` "NematodeResults".
*/
export declare type NematodeResults = {
/**
* Name of the pest being reported
*/
Pest?: string;
/**
* ModusTestID found in "Nematode Analysis Nomenclature.xlsx"
*/
ModusTestID?: string;
/**
* Value/count of the pest
*/
Value?: number;
/**
* Unit of the pest value/count
*/
ValueUnit?: string;
/**
* Measured, Percent, Calculated, Index
*/
ValueType?: ("Measured" | "Percent" | "Calculated" | "Index");
ValueDesc?: ("Very Low" | "Low" | "Medium" | "Optimum" | "Very High" | "VL" | "L" | "M" | "O" | "VH");
/**
* Place to report the counts of the different life stages
*/
LifeStageValues?: {
/**
* Life stage
*/
LifeStage?: ("Egg" | "Juvenile" | "Adult" | "Dead" | "");
/**
* Value/Count of the pest lifestage
*/
Value?: string;
/**
* Unit of the value/count
*/
ValueUnit?: string;
/**
* Measured, Percent, Calculated, Index
*/
ValueType?: ("Measured" | "Percent" | "Calculated" | "Index");

@@ -42,2 +138,6 @@ ValueDesc?: ("Very Low" | "Low" | "Medium" | "Optimum" | "Very High" | "VL" | "L" | "M" | "O" | "VH");

}[];
/**
* This interface was referenced by `GlobalSchema`'s JSON-Schema
* via the `definition` "ResidueResults".
*/
export declare type ResidueResults = {

@@ -51,3 +151,11 @@ CASRN?: string;

}[];
/**
* This interface was referenced by `GlobalSchema`'s JSON-Schema
* via the `definition` "Comments".
*/
export declare type Comments = string;
/**
* This interface was referenced by `GlobalSchema`'s JSON-Schema
* via the `definition` "TextureResults".
*/
export declare type TextureResults = {

@@ -65,2 +173,6 @@ SoilClassification?: string;

}[];
/**
* This interface was referenced by `GlobalSchema`'s JSON-Schema
* via the `definition` "SensorResults".
*/
export declare type SensorResults = {

@@ -72,11 +184,29 @@ ValueDesc?: string;

}[];
/**
* Definitions for the Modus v1 standard for lab sample results.
*/
export interface GlobalSchema {
[k: string]: unknown;
}
/**
* Element that contains data needed for FMIS "Field Management Information Systems"
*
* This interface was referenced by `GlobalSchema`'s JSON-Schema
* via the `definition` "FMISMetadata".
*/
export interface FMISMetadata {
/**
* Unique code for the sample event. Often an internal UUID from an FMIS
*/
FMISEventID?: string;
FMISProfile?: FMISProfile;
/**
* Lab defined equations that are allowed by the lab to be used in the FMIS
*/
FMISAllowedLabEquations?: Equation[];
[k: string]: unknown;
}
/**
* Grower/Farm/Field Name and ID's for FMIS
*/
export interface FMISProfile {

@@ -105,13 +235,49 @@ Grower?: {

}
/**
* Lab equation that is perminited to be used on this data set
*
* This interface was referenced by `GlobalSchema`'s JSON-Schema
* via the `definition` "Equation".
*/
export interface Equation {
/**
* Name of the equation
*/
Name?: string;
/**
* Version of the lab equation
*/
Version?: string;
/**
* Set if an equation is to be the default equation
*/
Default?: boolean;
/**
* ID of the equation given by the lab
*/
ID?: string;
[k: string]: unknown;
}
/**
* Metadata related to the testing lab
*
* This interface was referenced by `GlobalSchema`'s JSON-Schema
* via the `definition` "LabMetaData".
*/
export interface LabMetaData {
/**
* The name of the lab that ran the results
*/
LabName?: string;
/**
* ID for the lab that ran the results
*/
LabID?: string;
/**
* Internal Lab ID for the event
*/
LabEventID?: string;
/**
* Contact information at the lab
*/
Contact?: {

@@ -124,12 +290,42 @@ Name?: string;

TestPackageRefs?: TestPackageRefs;
/**
* The date/time the sample where received at the lab
*/
ReceivedDate?: string;
/**
* The date/time the sample was processed by the lab
*/
ProcessedDate?: string;
/**
* List of lab reports, keyed by ReportID from the XML
*/
Reports?: {
[k: string]: {
/**
* Unique ID for this report
*/
ReportID: string;
/**
* ID the lab has assigned to the report
*/
LabReportID?: string;
/**
* Description of the report file
*/
FileDescription?: string;
/**
* The file data for the report. The lab has the choice to pass a URL or embed the file data.
*/
File?: ({
/**
* The url path to the report file
*/
URL?: {
/**
* The name for the file
*/
FileName?: string;
/**
* The path to the file
*/
Path: string;

@@ -140,4 +336,13 @@ [k: string]: unknown;

} | {
/**
* The file data
*/
FileData?: {
/**
* The name for the file
*/
FileName?: string;
/**
* File data base64 encoded
*/
FileData: string;

@@ -151,2 +356,5 @@ [k: string]: unknown;

};
/**
* End user lab account information
*/
ClientAccount?: {

@@ -162,3 +370,11 @@ AccountNumber?: string;

}
/**
* This interface was referenced by `GlobalSchema`'s JSON-Schema
* via the `definition` "TestPackageRefs".
*/
export interface TestPackageRefs {
/**
* This interface was referenced by `TestPackageRefs`'s JSON-Schema definition
* via the `patternProperty` "[0-9]+".
*/
[k: string]: {

@@ -171,3 +387,11 @@ TestPackageID: string;

}
/**
* This interface was referenced by `GlobalSchema`'s JSON-Schema
* via the `definition` "Warnings".
*/
export interface Warnings {
/**
* This interface was referenced by `Warnings`'s JSON-Schema definition
* via the `patternProperty` "[0-9]+".
*/
[k: string]: {

@@ -179,2 +403,6 @@ warning_number?: string;

}
/**
* This interface was referenced by `GlobalSchema`'s JSON-Schema
* via the `definition` "EventType".
*/
export interface EventType {

@@ -192,2 +420,6 @@ Soil?: true;

}
/**
* This interface was referenced by `GlobalSchema`'s JSON-Schema
* via the `definition` "Crop".
*/
export interface Crop {

@@ -208,17 +440,62 @@ Name?: string;

}
/**
* Metadata for a sample in the sample event
*
* This interface was referenced by `GlobalSchema`'s JSON-Schema
* via the `definition` "SampleMetaData".
*/
export interface SampleMetaData {
/**
* Sample Number give the sample by during sample collection
*/
SampleNumber?: string;
/**
* Unique ID assigned by an FMIS for the sample
*/
FMISSampleID?: string;
/**
* Unique ID for the sample bag or container. i.e. Bar code
*/
SampleContainerID?: string;
/**
* ID number to reference different samples as one group
*/
SampleGroupID?: number;
/**
* ID number to relate which lab report contains the sample
*/
ReportID?: number;
/**
* Flag to indicate if this result is to overwrite any previous results. e.g. for correcting a mistake.
*/
OverwriteResult?: boolean;
/**
* WKT Geometry Source: http://en.wikipedia.org/wiki/Well-known_text Limit types to Point, Polygon and MultiPolygon
*/
Geometry?: {
/**
* Projection ID of the Geometry Source: http://spatialreference.org/ref/?page=1 Default is WGS84 - Lat,Lon epsg: 4326
*/
epsg?: number;
[k: string]: unknown;
};
/**
* Sub Samples is where the location of the cores within a sample can be recorded
*/
SubSamples?: {
/**
* ID number assigned during collection.
*/
SubSampleNumber?: number;
/**
* Unique ID for the sub-sample assigned by an FMIS
*/
SubSampleID?: string;
/**
* WKT Geometry Source: http://en.wikipedia.org/wiki/Well-known_text Limit types to Point, Polygon and MultiPolygon
*/
Geometry?: {
/**
* Projection ID of the Geometry Source: http://spatialreference.org/ref/?page=1 Default is WGS84 - Lat,Lon epsg: 4326
*/
epsg?: number;

@@ -229,12 +506,45 @@ [k: string]: unknown;

}[];
/**
* The lab test packages used for the sample.
*/
TestPackages?: string[];
[k: string]: unknown;
}
/**
* Place to define a reference list for the depths used in the sample event
*
* This interface was referenced by `GlobalSchema`'s JSON-Schema
* via the `definition` "DepthRefs".
*/
export interface DepthRefs {
/**
* A single depth
*
* This interface was referenced by `DepthRefs`'s JSON-Schema definition
* via the `patternProperty` "[0-9]+".
*/
[k: string]: {
/**
* Name given to the depth to be used for display by FMIS systems. ex Depth 1, 6"
*/
Name?: string;
/**
* Depth at the start of the column depth in the DepthUnit
*/
StartingDepth?: number;
/**
* Depth at the end of the column depth in the DepthUnit
*/
EndingDepth?: number;
/**
* Total column depth (End - Start) in the DepthUnit
*/
ColumnDepth?: number;
/**
* Unit the depth is reported in.
*/
DepthUnit?: string;
/**
* Unique Sequential ID
*/
DepthID: number;

@@ -244,10 +554,44 @@ [k: string]: unknown;

}
/**
* Reference documentation to a lab recommendation
*
* This interface was referenced by `GlobalSchema`'s JSON-Schema
* via the `definition` "RecommendationRefs".
*/
export interface RecommendationRefs {
[k: string]: Recommendation;
}
/**
* This interface was referenced by `RecommendationRefs`'s JSON-Schema definition
* via the `patternProperty` "[0-9]+".
*
* This interface was referenced by `RecommendationRequests`'s JSON-Schema definition
* via the `patternProperty` "[0-9]+".
*
* This interface was referenced by `RecommendationRequests1`'s JSON-Schema definition
* via the `patternProperty` "[0-9]+".
*
* This interface was referenced by `GlobalSchema`'s JSON-Schema
* via the `definition` "Recommendation".
*/
export interface Recommendation {
/**
* Name for the recommendation
*/
Name?: string;
/**
* List of the variables used in the recommendation
*/
Variables?: {
/**
* Name of variable used in the recommendation
*/
Name?: string;
/**
* Value of the variable used in the recommendation
*/
Value?: string;
/**
* Unit of the variable
*/
Unit?: string;

@@ -257,10 +601,29 @@ [k: string]: unknown;

Equation?: Equation;
/**
* Order the FMIS should display the rec in.
*/
DisplayOrder?: number;
/**
* The date the rec expires and should no longer be used.
*/
ExpirationDate?: string;
/**
* Id to be referenced in the sample
*/
RecID: number;
[k: string]: unknown;
}
/**
* Reference documentation to a lab recommendation
*
* This interface was referenced by `GlobalSchema`'s JSON-Schema
* via the `definition` "RecommendationRequests".
*/
export interface RecommendationRequests {
[k: string]: Recommendation;
}
/**
* This interface was referenced by `GlobalSchema`'s JSON-Schema
* via the `definition` "SiteAttributes".
*/
export interface SiteAttributes {

@@ -271,2 +634,5 @@ Tillage?: string;

PrevCrop?: string;
/**
* Used to store additional variables to be passed through
*/
Variables?: {

@@ -282,9 +648,26 @@ [k: string]: {

}
/**
* This interface was referenced by `GlobalSchema`'s JSON-Schema
* via the `definition` "EventMetaData".
*/
export interface EventMetaData {
/**
* Unique human readable code for the sample event. Often referred to a Layer ID
*/
EventCode?: string;
/**
* Date the sample event was collected in the field
*/
EventDate?: string;
EventType?: EventType;
/**
* The date the data in the even is to expire for use in a recommendation
*/
EventExpirationDate?: string;
[k: string]: unknown;
}
/**
* This interface was referenced by `GlobalSchema`'s JSON-Schema
* via the `definition` "FMISProfile".
*/
export interface FMISProfile1 {

@@ -313,4 +696,16 @@ Grower?: {

}
/**
* Attributes that needed to be passed through for reference and recommendation.
*
* This interface was referenced by `GlobalSchema`'s JSON-Schema
* via the `definition` "SubmissionAttributes".
*/
export interface SubmissionAttributes {
/**
* Person submiting the sample
*/
SubmittedBy?: string;
/**
* Person or company the sample is being submitted for.
*/
SubmittedFor?: string;

@@ -321,2 +716,5 @@ SiteAttributes?: SiteAttributes1;

}
/**
* Attributes that are collected for the site the sample are collected from.
*/
export interface SiteAttributes1 {

@@ -327,2 +725,5 @@ Tillage?: string;

PrevCrop?: string;
/**
* Used to store additional variables to be passed through
*/
Variables?: {

@@ -338,4 +739,7 @@ [k: string]: {

}
/**
* Reference documentation for a lab recommendation
*/
export interface RecommendationRequests1 {
[k: string]: Recommendation;
}

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /modus/v1/global.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './global-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/modus/v1/global.schema.json}
*/
export const $id = 'https://formats.openag.io/modus/v1/global.schema.json';
/**
* Returns true if `val` is a @type `GlobalSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `GlobalSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,11 +1,49 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /modus/v1/modus-result.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/modus/v1/modus-result.schema.json}
*/
export declare const $id = "https://formats.openag.io/modus/v1/modus-result.schema.json";
/**
* Returns true if `val` is a @type `ModusResultSchema`, false otherwise
*/
export declare function is(val: unknown): val is ModusResultSchema;
/**
* Asserts that `val` is a @type `ModusResultSchema`
*/
export declare function assert(val: unknown): asserts val is ModusResultSchema;
export default ModusResultSchema;
/**
* Nutrient results of a sample
*/
export declare type NutrientResults = {
/**
* Nutrient Element. See "Element List for Modus.xlsx" for supported elements
*/
Element?: string;
/**
* The value of the element
*/
Value?: number;
/**
* Unit of measure for the value
*/
ValueUnit?: string;
/**
* Analysis Name from "Soil Analysis Nomenclature Modus.xlsx" or "Botanical Analysis Nomenclature Modus.xlsx"
*/
ModusTestID?: string;
/**
* Type definition of the value
*/
ValueType?: ("Measured" | "Percent" | "Calculated" | "Index");
/**
* Value description assigned by the lab.
*/
ValueDesc?: ("Very Low" | "Low" | "Medium" | "Optimum" | "Very High" | "VL" | "L" | "M" | "O" | "VH" | "High" | "H");

@@ -27,6 +65,19 @@ [k: string]: unknown;

export declare type NutrientRecommendations = {
/**
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "[0-9]+".
*/
[k: string]: {
RecID: string;
/**
* Name of the recommendation element
*/
Element?: string;
/**
* Value of the recommendation
*/
Value?: number;
/**
* Unit of the recommendation
*/
ValueUnit?: string;

@@ -37,12 +88,42 @@ [k: string]: unknown;

export declare type NematodeResults = {
/**
* Name of the pest being reported
*/
Pest?: string;
/**
* ModusTestID found in "Nematode Analysis Nomenclature.xlsx"
*/
ModusTestID?: string;
/**
* Value/count of the pest
*/
Value?: number;
/**
* Unit of the pest value/count
*/
ValueUnit?: string;
/**
* Measured, Percent, Calculated, Index
*/
ValueType?: ("Measured" | "Percent" | "Calculated" | "Index");
ValueDesc?: ("Very Low" | "Low" | "Medium" | "Optimum" | "Very High" | "VL" | "L" | "M" | "O" | "VH");
/**
* Place to report the counts of the different life stages
*/
LifeStageValues?: {
/**
* Life stage
*/
LifeStage?: ("Egg" | "Juvenile" | "Adult" | "Dead" | "");
/**
* Value/Count of the pest lifestage
*/
Value?: string;
/**
* Unit of the value/count
*/
ValueUnit?: string;
/**
* Measured, Percent, Calculated, Index
*/
ValueType?: ("Measured" | "Percent" | "Calculated" | "Index");

@@ -62,2 +143,5 @@ ValueDesc?: ("Very Low" | "Low" | "Medium" | "Optimum" | "Very High" | "VL" | "L" | "M" | "O" | "VH");

}[];
/**
* Modus document for submission of lab results to FMIS
*/
export interface ModusResultSchema {

@@ -67,4 +151,10 @@ _type?: "application/vnd.modus.v1.modus-result+json";

EventMetaData?: {
/**
* Unique human readable code for the sample event. Often referred to a Layer ID
*/
EventCode?: string;
EventType?: EventType;
/**
* The date the data in event is to expire for use in a recommendation
*/
EventExpirationDate?: string;

@@ -75,3 +165,9 @@ [k: string]: unknown;

FMISMetadata?: FMISMetadata;
/**
* Element contains the field sample points and data
*/
EventSamples?: {
/**
* Element to place samples and results from a soil sample event
*/
Soil?: {

@@ -82,5 +178,11 @@ DepthRefs?: DepthRefs;

SampleMetaData?: SampleMetaData;
/**
* A container for the different depths being reported
*/
Depths?: {
NutrientResults?: NutrientResults;
TextureResults?: TextureResults;
/**
* Depth ID from the Depth Reference
*/
DepthID?: string;

@@ -95,2 +197,5 @@ [k: string]: unknown;

};
/**
* Element to place samples and results from a plant tissue sample event
*/
Plant?: {

@@ -107,2 +212,5 @@ RecommendationRefs?: RecommendationRefs;

};
/**
* Element to place samples and results from a nematode sample event
*/
Nematode?: {

@@ -177,6 +285,21 @@ DepthRefs?: DepthRefs;

}
/**
* Metadata related to the testing lab
*/
export interface LabMetaData {
/**
* The name of the lab that ran the results
*/
LabName?: string;
/**
* ID for the lab that ran the results
*/
LabID?: string;
/**
* Internal Lab ID for the event
*/
LabEventID?: string;
/**
* Contact information at the lab
*/
Contact?: {

@@ -189,12 +312,42 @@ Name?: string;

TestPackageRefs?: TestPackageRefs;
/**
* The date/time the sample where received at the lab
*/
ReceivedDate?: string;
/**
* The date/time the sample was processed by the lab
*/
ProcessedDate?: string;
/**
* List of lab reports, keyed by ReportID from the XML
*/
Reports?: {
[k: string]: {
/**
* Unique ID for this report
*/
ReportID: string;
/**
* ID the lab has assigned to the report
*/
LabReportID?: string;
/**
* Description of the report file
*/
FileDescription?: string;
/**
* The file data for the report. The lab has the choice to pass a URL or embed the file data.
*/
File?: ({
/**
* The url path to the report file
*/
URL?: {
/**
* The name for the file
*/
FileName?: string;
/**
* The path to the file
*/
Path: string;

@@ -205,4 +358,13 @@ [k: string]: unknown;

} | {
/**
* The file data
*/
FileData?: {
/**
* The name for the file
*/
FileName?: string;
/**
* File data base64 encoded
*/
FileData: string;

@@ -216,2 +378,5 @@ [k: string]: unknown;

};
/**
* End user lab account information
*/
ClientAccount?: {

@@ -228,2 +393,6 @@ AccountNumber?: string;

export interface TestPackageRefs {
/**
* This interface was referenced by `TestPackageRefs`'s JSON-Schema definition
* via the `patternProperty` "[0-9]+".
*/
[k: string]: {

@@ -236,8 +405,20 @@ TestPackageID: string;

}
/**
* Element that contains data needed for FMIS "Field Management Information Systems"
*/
export interface FMISMetadata {
/**
* Unique code for the sample event. Often an internal UUID from an FMIS
*/
FMISEventID?: string;
FMISProfile?: FMISProfile;
/**
* Lab defined equations that are allowed by the lab to be used in the FMIS
*/
FMISAllowedLabEquations?: Equation[];
[k: string]: unknown;
}
/**
* Grower/Farm/Field Name and ID's for FMIS
*/
export interface FMISProfile {

@@ -266,16 +447,58 @@ Grower?: {

}
/**
* Lab equation that is perminited to be used on this data set
*/
export interface Equation {
/**
* Name of the equation
*/
Name?: string;
/**
* Version of the lab equation
*/
Version?: string;
/**
* Set if an equation is to be the default equation
*/
Default?: boolean;
/**
* ID of the equation given by the lab
*/
ID?: string;
[k: string]: unknown;
}
/**
* Place to define a reference list for the depths used in the sample event
*/
export interface DepthRefs {
/**
* A single depth
*
* This interface was referenced by `DepthRefs`'s JSON-Schema definition
* via the `patternProperty` "[0-9]+".
*/
[k: string]: {
/**
* Name given to the depth to be used for display by FMIS systems. ex Depth 1, 6"
*/
Name?: string;
/**
* Depth at the start of the column depth in the DepthUnit
*/
StartingDepth?: number;
/**
* Depth at the end of the column depth in the DepthUnit
*/
EndingDepth?: number;
/**
* Total column depth (End - Start) in the DepthUnit
*/
ColumnDepth?: number;
/**
* Unit the depth is reported in.
*/
DepthUnit?: string;
/**
* Unique Sequential ID
*/
DepthID: number;

@@ -285,10 +508,35 @@ [k: string]: unknown;

}
/**
* Reference documentation to a lab recommendation
*/
export interface RecommendationRefs {
[k: string]: Recommendation;
}
/**
* This interface was referenced by `RecommendationRefs`'s JSON-Schema definition
* via the `patternProperty` "[0-9]+".
*
* This interface was referenced by `RecommendationRequests`'s JSON-Schema definition
* via the `patternProperty` "[0-9]+".
*/
export interface Recommendation {
/**
* Name for the recommendation
*/
Name?: string;
/**
* List of the variables used in the recommendation
*/
Variables?: {
/**
* Name of variable used in the recommendation
*/
Name?: string;
/**
* Value of the variable used in the recommendation
*/
Value?: string;
/**
* Unit of the variable
*/
Unit?: string;

@@ -298,22 +546,73 @@ [k: string]: unknown;

Equation?: Equation;
/**
* Order the FMIS should display the rec in.
*/
DisplayOrder?: number;
/**
* The date the rec expires and should no longer be used.
*/
ExpirationDate?: string;
/**
* Id to be referenced in the sample
*/
RecID: number;
[k: string]: unknown;
}
/**
* Metadata for a sample in the sample event
*/
export interface SampleMetaData {
/**
* Sample Number give the sample by during sample collection
*/
SampleNumber?: string;
/**
* Unique ID assigned by an FMIS for the sample
*/
FMISSampleID?: string;
/**
* Unique ID for the sample bag or container. i.e. Bar code
*/
SampleContainerID?: string;
/**
* ID number to reference different samples as one group
*/
SampleGroupID?: number;
/**
* ID number to relate which lab report contains the sample
*/
ReportID?: number;
/**
* Flag to indicate if this result is to overwrite any previous results. e.g. for correcting a mistake.
*/
OverwriteResult?: boolean;
/**
* WKT Geometry Source: http://en.wikipedia.org/wiki/Well-known_text Limit types to Point, Polygon and MultiPolygon
*/
Geometry?: {
/**
* Projection ID of the Geometry Source: http://spatialreference.org/ref/?page=1 Default is WGS84 - Lat,Lon epsg: 4326
*/
epsg?: number;
[k: string]: unknown;
};
/**
* Sub Samples is where the location of the cores within a sample can be recorded
*/
SubSamples?: {
/**
* ID number assigned during collection.
*/
SubSampleNumber?: number;
/**
* Unique ID for the sub-sample assigned by an FMIS
*/
SubSampleID?: string;
/**
* WKT Geometry Source: http://en.wikipedia.org/wiki/Well-known_text Limit types to Point, Polygon and MultiPolygon
*/
Geometry?: {
/**
* Projection ID of the Geometry Source: http://spatialreference.org/ref/?page=1 Default is WGS84 - Lat,Lon epsg: 4326
*/
epsg?: number;

@@ -324,5 +623,11 @@ [k: string]: unknown;

}[];
/**
* The lab test packages used for the sample.
*/
TestPackages?: string[];
[k: string]: unknown;
}
/**
* Modus document for submitting sample events to FMIS
*/
export interface HttpsFormatsOpenagIoModusV1ModusSubmitSchemaJson {

@@ -342,2 +647,5 @@ _type?: "application/vnd.modus.v1.modus-submit+json";

Depths?: {
/**
* Depth ID from the Depth Reference
*/
DepthID?: string;

@@ -351,2 +659,5 @@ [k: string]: unknown;

};
/**
* Element to place samples and results from a plant tissue sample event
*/
Plant?: {

@@ -361,2 +672,5 @@ RecommendationRefs?: RecommendationRefs;

};
/**
* Element to place samples and results from a nematode sample event
*/
Nematode?: {

@@ -404,10 +718,28 @@ DepthRefs?: DepthRefs;

export interface EventMetaData {
/**
* Unique human readable code for the sample event. Often referred to a Layer ID
*/
EventCode?: string;
/**
* Date the sample event was collected in the field
*/
EventDate?: string;
EventType?: EventType;
/**
* The date the data in the even is to expire for use in a recommendation
*/
EventExpirationDate?: string;
[k: string]: unknown;
}
/**
* Attributes that needed to be passed through for reference and recommendation.
*/
export interface SubmissionAttributes {
/**
* Person submiting the sample
*/
SubmittedBy?: string;
/**
* Person or company the sample is being submitted for.
*/
SubmittedFor?: string;

@@ -418,2 +750,5 @@ SiteAttributes?: SiteAttributes;

}
/**
* Attributes that are collected for the site the sample are collected from.
*/
export interface SiteAttributes {

@@ -424,2 +759,5 @@ Tillage?: string;

PrevCrop?: string;
/**
* Used to store additional variables to be passed through
*/
Variables?: {

@@ -435,5 +773,11 @@ [k: string]: {

}
/**
* Reference documentation for a lab recommendation
*/
export interface RecommendationRequests {
[k: string]: Recommendation;
}
/**
* Modus document for submitting sample events to FMIS
*/
export interface HttpsFormatsOpenagIoModusV1ModusSubmitSchemaJson1 {

@@ -453,2 +797,5 @@ _type?: "application/vnd.modus.v1.modus-submit+json";

Depths?: {
/**
* Depth ID from the Depth Reference
*/
DepthID?: string;

@@ -462,2 +809,5 @@ [k: string]: unknown;

};
/**
* Element to place samples and results from a plant tissue sample event
*/
Plant?: {

@@ -472,2 +822,5 @@ RecommendationRefs?: RecommendationRefs;

};
/**
* Element to place samples and results from a nematode sample event
*/
Nematode?: {

@@ -474,0 +827,0 @@ DepthRefs?: DepthRefs;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /modus/v1/modus-result.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './modus-result-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/modus/v1/modus-result.schema.json}
*/
export const $id = 'https://formats.openag.io/modus/v1/modus-result.schema.json';
/**
* Returns true if `val` is a @type `ModusResultSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `ModusResultSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,11 +1,49 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /modus/v1/modus-submit.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/modus/v1/modus-submit.schema.json}
*/
export declare const $id = "https://formats.openag.io/modus/v1/modus-submit.schema.json";
/**
* Returns true if `val` is a @type `ModusSubmitSchema`, false otherwise
*/
export declare function is(val: unknown): val is ModusSubmitSchema;
/**
* Asserts that `val` is a @type `ModusSubmitSchema`
*/
export declare function assert(val: unknown): asserts val is ModusSubmitSchema;
export default ModusSubmitSchema;
/**
* Nutrient results of a sample
*/
export declare type NutrientResults = {
/**
* Nutrient Element. See "Element List for Modus.xlsx" for supported elements
*/
Element?: string;
/**
* The value of the element
*/
Value?: number;
/**
* Unit of measure for the value
*/
ValueUnit?: string;
/**
* Analysis Name from "Soil Analysis Nomenclature Modus.xlsx" or "Botanical Analysis Nomenclature Modus.xlsx"
*/
ModusTestID?: string;
/**
* Type definition of the value
*/
ValueType?: ("Measured" | "Percent" | "Calculated" | "Index");
/**
* Value description assigned by the lab.
*/
ValueDesc?: ("Very Low" | "Low" | "Medium" | "Optimum" | "Very High" | "VL" | "L" | "M" | "O" | "VH" | "High" | "H");

@@ -22,2 +60,5 @@ [k: string]: unknown;

}[];
/**
* Modus document for submitting sample events to FMIS
*/
export interface ModusSubmitSchema {

@@ -37,2 +78,5 @@ _type?: "application/vnd.modus.v1.modus-submit+json";

Depths?: {
/**
* Depth ID from the Depth Reference
*/
DepthID?: string;

@@ -46,2 +90,5 @@ [k: string]: unknown;

};
/**
* Element to place samples and results from a plant tissue sample event
*/
Plant?: {

@@ -56,2 +103,5 @@ RecommendationRefs?: RecommendationRefs;

};
/**
* Element to place samples and results from a nematode sample event
*/
Nematode?: {

@@ -99,5 +149,14 @@ DepthRefs?: DepthRefs;

export interface EventMetaData {
/**
* Unique human readable code for the sample event. Often referred to a Layer ID
*/
EventCode?: string;
/**
* Date the sample event was collected in the field
*/
EventDate?: string;
EventType?: EventType;
/**
* The date the data in the even is to expire for use in a recommendation
*/
EventExpirationDate?: string;

@@ -133,6 +192,21 @@ [k: string]: unknown;

}
/**
* Metadata related to the testing lab
*/
export interface LabMetaData {
/**
* The name of the lab that ran the results
*/
LabName?: string;
/**
* ID for the lab that ran the results
*/
LabID?: string;
/**
* Internal Lab ID for the event
*/
LabEventID?: string;
/**
* Contact information at the lab
*/
Contact?: {

@@ -145,12 +219,42 @@ Name?: string;

TestPackageRefs?: TestPackageRefs;
/**
* The date/time the sample where received at the lab
*/
ReceivedDate?: string;
/**
* The date/time the sample was processed by the lab
*/
ProcessedDate?: string;
/**
* List of lab reports, keyed by ReportID from the XML
*/
Reports?: {
[k: string]: {
/**
* Unique ID for this report
*/
ReportID: string;
/**
* ID the lab has assigned to the report
*/
LabReportID?: string;
/**
* Description of the report file
*/
FileDescription?: string;
/**
* The file data for the report. The lab has the choice to pass a URL or embed the file data.
*/
File?: ({
/**
* The url path to the report file
*/
URL?: {
/**
* The name for the file
*/
FileName?: string;
/**
* The path to the file
*/
Path: string;

@@ -161,4 +265,13 @@ [k: string]: unknown;

} | {
/**
* The file data
*/
FileData?: {
/**
* The name for the file
*/
FileName?: string;
/**
* File data base64 encoded
*/
FileData: string;

@@ -172,2 +285,5 @@ [k: string]: unknown;

};
/**
* End user lab account information
*/
ClientAccount?: {

@@ -184,2 +300,6 @@ AccountNumber?: string;

export interface TestPackageRefs {
/**
* This interface was referenced by `TestPackageRefs`'s JSON-Schema definition
* via the `patternProperty` "[0-9]+".
*/
[k: string]: {

@@ -192,8 +312,20 @@ TestPackageID: string;

}
/**
* Element that contains data needed for FMIS "Field Management Information Systems"
*/
export interface FMISMetadata {
/**
* Unique code for the sample event. Often an internal UUID from an FMIS
*/
FMISEventID?: string;
FMISProfile?: FMISProfile;
/**
* Lab defined equations that are allowed by the lab to be used in the FMIS
*/
FMISAllowedLabEquations?: Equation[];
[k: string]: unknown;
}
/**
* Grower/Farm/Field Name and ID's for FMIS
*/
export interface FMISProfile {

@@ -222,11 +354,35 @@ Grower?: {

}
/**
* Lab equation that is perminited to be used on this data set
*/
export interface Equation {
/**
* Name of the equation
*/
Name?: string;
/**
* Version of the lab equation
*/
Version?: string;
/**
* Set if an equation is to be the default equation
*/
Default?: boolean;
/**
* ID of the equation given by the lab
*/
ID?: string;
[k: string]: unknown;
}
/**
* Attributes that needed to be passed through for reference and recommendation.
*/
export interface SubmissionAttributes {
/**
* Person submiting the sample
*/
SubmittedBy?: string;
/**
* Person or company the sample is being submitted for.
*/
SubmittedFor?: string;

@@ -237,2 +393,5 @@ SiteAttributes?: SiteAttributes;

}
/**
* Attributes that are collected for the site the sample are collected from.
*/
export interface SiteAttributes {

@@ -243,2 +402,5 @@ Tillage?: string;

PrevCrop?: string;
/**
* Used to store additional variables to be passed through
*/
Variables?: {

@@ -254,10 +416,35 @@ [k: string]: {

}
/**
* Reference documentation for a lab recommendation
*/
export interface RecommendationRequests {
[k: string]: Recommendation;
}
/**
* This interface was referenced by `RecommendationRequests`'s JSON-Schema definition
* via the `patternProperty` "[0-9]+".
*
* This interface was referenced by `RecommendationRefs`'s JSON-Schema definition
* via the `patternProperty` "[0-9]+".
*/
export interface Recommendation {
/**
* Name for the recommendation
*/
Name?: string;
/**
* List of the variables used in the recommendation
*/
Variables?: {
/**
* Name of variable used in the recommendation
*/
Name?: string;
/**
* Value of the variable used in the recommendation
*/
Value?: string;
/**
* Unit of the variable
*/
Unit?: string;

@@ -267,14 +454,50 @@ [k: string]: unknown;

Equation?: Equation;
/**
* Order the FMIS should display the rec in.
*/
DisplayOrder?: number;
/**
* The date the rec expires and should no longer be used.
*/
ExpirationDate?: string;
/**
* Id to be referenced in the sample
*/
RecID: number;
[k: string]: unknown;
}
/**
* Place to define a reference list for the depths used in the sample event
*/
export interface DepthRefs {
/**
* A single depth
*
* This interface was referenced by `DepthRefs`'s JSON-Schema definition
* via the `patternProperty` "[0-9]+".
*/
[k: string]: {
/**
* Name given to the depth to be used for display by FMIS systems. ex Depth 1, 6"
*/
Name?: string;
/**
* Depth at the start of the column depth in the DepthUnit
*/
StartingDepth?: number;
/**
* Depth at the end of the column depth in the DepthUnit
*/
EndingDepth?: number;
/**
* Total column depth (End - Start) in the DepthUnit
*/
ColumnDepth?: number;
/**
* Unit the depth is reported in.
*/
DepthUnit?: string;
/**
* Unique Sequential ID
*/
DepthID: number;

@@ -284,20 +507,65 @@ [k: string]: unknown;

}
/**
* Reference documentation to a lab recommendation
*/
export interface RecommendationRefs {
[k: string]: Recommendation;
}
/**
* Metadata for a sample in the sample event
*/
export interface SampleMetaData {
/**
* Sample Number give the sample by during sample collection
*/
SampleNumber?: string;
/**
* Unique ID assigned by an FMIS for the sample
*/
FMISSampleID?: string;
/**
* Unique ID for the sample bag or container. i.e. Bar code
*/
SampleContainerID?: string;
/**
* ID number to reference different samples as one group
*/
SampleGroupID?: number;
/**
* ID number to relate which lab report contains the sample
*/
ReportID?: number;
/**
* Flag to indicate if this result is to overwrite any previous results. e.g. for correcting a mistake.
*/
OverwriteResult?: boolean;
/**
* WKT Geometry Source: http://en.wikipedia.org/wiki/Well-known_text Limit types to Point, Polygon and MultiPolygon
*/
Geometry?: {
/**
* Projection ID of the Geometry Source: http://spatialreference.org/ref/?page=1 Default is WGS84 - Lat,Lon epsg: 4326
*/
epsg?: number;
[k: string]: unknown;
};
/**
* Sub Samples is where the location of the cores within a sample can be recorded
*/
SubSamples?: {
/**
* ID number assigned during collection.
*/
SubSampleNumber?: number;
/**
* Unique ID for the sub-sample assigned by an FMIS
*/
SubSampleID?: string;
/**
* WKT Geometry Source: http://en.wikipedia.org/wiki/Well-known_text Limit types to Point, Polygon and MultiPolygon
*/
Geometry?: {
/**
* Projection ID of the Geometry Source: http://spatialreference.org/ref/?page=1 Default is WGS84 - Lat,Lon epsg: 4326
*/
epsg?: number;

@@ -308,5 +576,11 @@ [k: string]: unknown;

}[];
/**
* The lab test packages used for the sample.
*/
TestPackages?: string[];
[k: string]: unknown;
}
/**
* Modus document for submitting sample events to FMIS
*/
export interface ModusSubmitSchema1 {

@@ -326,2 +600,5 @@ _type?: "application/vnd.modus.v1.modus-submit+json";

Depths?: {
/**
* Depth ID from the Depth Reference
*/
DepthID?: string;

@@ -335,2 +612,5 @@ [k: string]: unknown;

};
/**
* Element to place samples and results from a plant tissue sample event
*/
Plant?: {

@@ -345,2 +625,5 @@ RecommendationRefs?: RecommendationRefs;

};
/**
* Element to place samples and results from a nematode sample event
*/
Nematode?: {

@@ -347,0 +630,0 @@ DepthRefs?: DepthRefs;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /modus/v1/modus-submit.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './modus-submit-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/modus/v1/modus-submit.schema.json}
*/
export const $id = 'https://formats.openag.io/modus/v1/modus-submit.schema.json';
/**
* Returns true if `val` is a @type `ModusSubmitSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `ModusSubmitSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,6 +1,29 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/ainz/rule.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/ainz/rule.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/ainz/rule.schema.json";
/**
* Returns true if `val` is a @type `RuleSchema`, false otherwise
*/
export declare function is(val: unknown): val is RuleSchema;
/**
* Asserts that `val` is a @type `RuleSchema`
*/
export declare function assert(val: unknown): asserts val is RuleSchema;
export default RuleSchema;
/**
* The format for ainz orchestation rules
*/
export declare type RuleSchema = (RuleSchema1 & RuleSchema2);
/**
* A JSON Schema to which to compare new items in list
*/
export declare type CoreAndValidationSpecificationsMetaSchema = (CoreAndValidationSpecificationsMetaSchema1 & CoreAndValidationSpecificationsMetaSchema2 & CoreAndValidationSpecificationsMetaSchema3);

@@ -28,2 +51,11 @@ export declare type CoreAndValidationSpecificationsMetaSchema1 = (CoreVocabularyMetaSchema & ApplicatorVocabularyMetaSchema & ValidationVocabularyMetaSchema & MetaDataVocabularyMetaSchema & FormatVocabularyMetaSchema & ContentVocabularyMetaSchema);

export declare type ApplicatorVocabularyMetaSchema = (ApplicatorVocabularyMetaSchema1 & ApplicatorVocabularyMetaSchema2);
/**
* @minItems 1
*
* This interface was referenced by `ApplicatorVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "schemaArray".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "schemaArray".
*/
export declare type SchemaArray = [

@@ -98,14 +130,56 @@ {

exclusiveMinimum?: number;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxLength?: number;
minLength?: number;
pattern?: string;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxItems?: number;
minItems?: number;
uniqueItems?: boolean;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxContains?: number;
minContains?: number;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxProperties?: number;
minProperties?: number;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "stringArray".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "stringArray".
*/
required?: string[];
dependentRequired?: {
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "stringArray".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "stringArray".
*/
[k: string]: string[];

@@ -146,7 +220,19 @@ };

type?: "reindex";
/**
* A path to an OADA list to which to add maching items
*/
destination?: string;
/**
* A tree to use for "tree PUTs"
*/
tree?: {
[k: string]: unknown;
};
/**
* A JSONPath for resolving the items of an indexed list
*/
itemsPath?: string;
/**
* An object to PUT on matching items's _meta
*/
meta?: {

@@ -158,2 +244,5 @@ [k: string]: unknown;

type?: "job";
/**
* A JSON pointer of where in the job config to create a link to the resource
*/
pointer?: string;

@@ -164,5 +253,11 @@ job?: HttpsFormatsOpenagIoOadaServiceJobSchemaJson;

export interface RuleSchema1 {
/**
* A field for discriminating the different types of rules
*/
type: {
[k: string]: unknown;
};
/**
* A path to an OADA list to watch for changes
*/
list: string;

@@ -250,14 +345,56 @@ schema: CoreAndValidationSpecificationsMetaSchema;

exclusiveMinimum?: number;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxLength?: number;
minLength?: number;
pattern?: string;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxItems?: number;
minItems?: number;
uniqueItems?: boolean;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxContains?: number;
minContains?: number;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxProperties?: number;
minProperties?: number;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "stringArray".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "stringArray".
*/
required?: string[];
dependentRequired?: {
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "stringArray".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "stringArray".
*/
[k: string]: string[];

@@ -305,12 +442,33 @@ };

}
/**
* The job to create. A link to the matching resource will be added to the job.
*/
export interface HttpsFormatsOpenagIoOadaServiceJobSchemaJson {
/**
* Service name which job is for
*/
service: string;
/**
* Service specific identifier of job type
*/
type: string;
/**
* Job spceific configuration object
*/
config?: {
[k: string]: unknown;
};
/**
* Final result of job
*/
result?: {
[k: string]: unknown;
};
/**
* Current status of job
*/
status?: string;
/**
* A list of updates as job progresses. Keys shall be sorted in time order.
*/
updates?: {

@@ -321,5 +479,17 @@ [k: string]: HttpsFormatsOpenagIoOadaServiceJobUpdateSchemaJson;

}
/**
* A list of updates as job progresses. Keys shall be sorted in time order.
*/
export interface HttpsFormatsOpenagIoOadaServiceJobUpdateSchemaJson {
/**
* Status of job at the time of update
*/
status: string;
/**
* ISO8601 UTC date-time of update time
*/
time: string;
/**
* Additional meta data about the status update
*/
meta?: {

@@ -326,0 +496,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/ainz/rule.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './rule-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/ainz/rule.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/ainz/rule.schema.json';
/**
* Returns true if `val` is a @type `RuleSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `RuleSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,14 +1,55 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/as-harvested/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/as-harvested/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/as-harvested/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* The "as-harvested" key holds the original data logged during harvest. This can be collections of time-series harvest data or data that is already geospatially referenced. A typical "yield map" exported from an FMIS system would go here. Think of this like the "raw" data that is used to generate tiled maps.
*/
export interface V1Schema {
/**
* A link in OADA has at least an _id key and links one resource to another.
*/
"yield-moisture-dataset"?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
[k: string]: unknown;
};
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev?: number;
/**
* _meta is a link to the meta document for a resources.
*/
_meta?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;

@@ -15,0 +56,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/as-harvested/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/as-harvested/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/as-harvested/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,10 +1,48 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/as-harvested/yield-moisture-dataset/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/as-harvested/yield-moisture-dataset/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/as-harvested/yield-moisture-dataset/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* The "yield-moisture" document contains as-harvested yield-moisture data. This is where a typical "yield map" from an existing FMIS software would go. We encourage geospatial indexing here (rather than field-based).
*/
export interface V1Schema {
/**
* templates is a general key for holding a collection of data points indexed by random strings. Templates serve as prototypes for data points under "data" keys. If you have a piece of information that exists is all or almost all of the data points in a particular group of points, you can put the repeated things in templates and then just put the name of the template into the data point. The full data point is therefore a merge of the template object and the data point itself, with the data point overruling when there are any keys that exist in both objects. Schema is therefore identical to "data".
*/
templates?: {
/**
* data-point never appears as a word in any document or URL. It is a general type of object that can hold any type of data. It represents the type of object that can sit under "data" or "templates".
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^(?!(indexing|.*-index|_.*)).*$".
*/
[k: string]: {
/**
* id (note this is NOT "_id") can be used to identify a particular data point, perhaps across documents which simply re-index the same data.
*/
id?: string;
/**
* template sits inside a data point and gives the name of a template (key in the templates object) which serves as prototype for a given data point. The full data point is the merge of that template object with the data point, with the data point taking precedence in key collisions. This is a string because its value is the key in templates, not the template itself.
*/
template?: string;
/**
* time is a data type which holds a reading of...time...
*/
time?: {

@@ -14,2 +52,5 @@ units?: string;

};
/**
* area is a data type which holds a reading of...area...
*/
area?: {

@@ -19,2 +60,5 @@ units?: string;

};
/**
* weight is a data type which holds a reading of weight, as in bushels, lbs, or kg.
*/
weight?: {

@@ -24,2 +68,5 @@ units?: string;

};
/**
* moisture is a data type which holds a reading of the amount of moisture in a crop. It is typically in units of % water (%H2O).
*/
moisture?: {

@@ -29,3 +76,9 @@ units?: string;

};
/**
* location represents a point in space, usually a GPS coordinate or geohash
*/
location?: {
/**
* datum describes the model of the earth used for GPS coordinates. It can be from a set of known strings, or an EPSG model from http://spatialreference.org
*/
datum?: (string | {

@@ -39,11 +92,35 @@ type: "EPSG";

});
/**
* latitude is a string in the format of a number
*/
latitude?: string;
/**
* longitude is a string in the format of a number
*/
longitude?: string;
/**
* altitude is a string in the format of a number
*/
altitude?: string;
/**
* lat is shorthand for latitude
*/
lat?: string;
/**
* lon is shorthand for longitude
*/
lon?: string;
/**
* alt is shorthand for altitude
*/
alt?: string;
/**
* A geohash is a base 32 encoded string which represents the combination of latitude and longitude into a single number which, in general, has a property such that points close in number are close on the globe.
*/
geohash?: string;
[k: string]: unknown;
};
/**
* width is a data type which holds readings of swath width, or other widths of things.
*/
width?: {

@@ -56,6 +133,24 @@ units?: string;

};
/**
* data is a general key for holding a collection of data points indexed by random strings.
*/
data?: {
/**
* data-point never appears as a word in any document or URL. It is a general type of object that can hold any type of data. It represents the type of object that can sit under "data" or "templates".
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^(?!(indexing|.*-index|_.*)).*$".
*/
[k: string]: {
/**
* id (note this is NOT "_id") can be used to identify a particular data point, perhaps across documents which simply re-index the same data.
*/
id?: string;
/**
* template sits inside a data point and gives the name of a template (key in the templates object) which serves as prototype for a given data point. The full data point is the merge of that template object with the data point, with the data point taking precedence in key collisions. This is a string because its value is the key in templates, not the template itself.
*/
template?: string;
/**
* time is a data type which holds a reading of...time...
*/
time?: {

@@ -65,2 +160,5 @@ units?: string;

};
/**
* area is a data type which holds a reading of...area...
*/
area: {

@@ -70,2 +168,5 @@ units?: string;

};
/**
* weight is a data type which holds a reading of weight, as in bushels, lbs, or kg.
*/
weight: {

@@ -75,2 +176,5 @@ units?: string;

};
/**
* moisture is a data type which holds a reading of the amount of moisture in a crop. It is typically in units of % water (%H2O).
*/
moisture: {

@@ -80,3 +184,9 @@ units?: string;

};
/**
* location represents a point in space, usually a GPS coordinate or geohash
*/
location: {
/**
* datum describes the model of the earth used for GPS coordinates. It can be from a set of known strings, or an EPSG model from http://spatialreference.org
*/
datum?: (string | {

@@ -90,11 +200,35 @@ type: "EPSG";

});
/**
* latitude is a string in the format of a number
*/
latitude?: string;
/**
* longitude is a string in the format of a number
*/
longitude?: string;
/**
* altitude is a string in the format of a number
*/
altitude?: string;
/**
* lat is shorthand for latitude
*/
lat?: string;
/**
* lon is shorthand for longitude
*/
lon?: string;
/**
* alt is shorthand for altitude
*/
alt?: string;
/**
* A geohash is a base 32 encoded string which represents the combination of latitude and longitude into a single number which, in general, has a property such that points close in number are close on the globe.
*/
geohash?: string;
[k: string]: unknown;
};
/**
* width is a data type which holds readings of swath width, or other widths of things.
*/
width?: {

@@ -107,6 +241,21 @@ units?: string;

};
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev?: number;
/**
* _meta is a link to the meta document for a resources.
*/
_meta?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;

@@ -133,2 +282,5 @@ [k: string]: unknown;

index?: "geohash-index";
/**
* A geohash is a base 32 encoded string which represents the combination of latitude and longitude into a single number which, in general, has a property such that points close in number are close on the globe.
*/
value?: string;

@@ -138,4 +290,16 @@ source?: string;

})[];
/**
* year-index splits things up by a 4-digit year
*/
"year-index"?: {
/**
* A link in OADA has at least an _id key and links one resource to another.
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^[0-9]{4}$".
*/
[k: string]: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;

@@ -145,12 +309,33 @@ [k: string]: unknown;

};
/**
* crop-index is an object that sits inside other objects and gives links to documents based on the name of a particular crop. It's known keys are also not considered part of the OADA vocabulary and therefore do not appear as vocabulary terms even though they will be in OADA URLs. This is standard for indexes.
*/
"crop-index"?: {
/**
* A link in OADA has at least an _id key and links one resource to another.
*/
corn?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
[k: string]: unknown;
};
/**
* A link in OADA has at least an _id key and links one resource to another.
*/
soybeans?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
[k: string]: unknown;
};
/**
* A link in OADA has at least an _id key and links one resource to another.
*/
wheat?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;

@@ -162,4 +347,16 @@ [k: string]: unknown;

"geohash-length-index"?: HttpsFormatsOpenagIoOadaIndexesGeohashLengthIndexSchemaJson;
/**
* geohash-index is a key that holds under it a set of geohash keys of a particular length. It is necessary because some geohashes may be legitimate words and therefore we need to place all the geohashes specifically under one key. This key usually sits at the top-level of a document reached via a geohash-length-index. It is intended to hold links to resources containing data that is grouped under a particular geohash.
*/
"geohash-index"?: {
/**
* A link in OADA has at least an _id key and links one resource to another.
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^[0-9bcdefghjkmnpqrstuvwxyz]+$".
*/
[k: string]: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;

@@ -171,3 +368,9 @@ [k: string]: unknown;

}
/**
* geohash-length-index is an indexing scheme that groups data by geohash string lengths. As with all indexes, it is not a document type itself and therefore cannot be linked to. It can also have a "datum" key which tells the earth model used for GPS.
*/
export interface HttpsFormatsOpenagIoOadaIndexesGeohashLengthIndexSchemaJson {
/**
* datum describes the model of the earth used for GPS coordinates. It can be from a set of known strings, or an EPSG model from http://spatialreference.org
*/
datum?: (string | {

@@ -204,4 +407,7 @@ type: "EPSG";

_id: string;
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;
[k: string]: unknown;
}

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/as-harvested/yield-moisture-dataset/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/as-harvested/yield-moisture-dataset/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/as-harvested/yield-moisture-dataset/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,5 +1,25 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/bookmarks.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/bookmarks.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/bookmarks.schema.json";
/**
* Returns true if `val` is a @type `BookmarksSchema`, false otherwise
*/
export declare function is(val: unknown): val is BookmarksSchema;
/**
* Asserts that `val` is a @type `BookmarksSchema`
*/
export declare function assert(val: unknown): asserts val is BookmarksSchema;
export default BookmarksSchema;
/**
* bookmarks is the top-level document returned by the OADA API
*/
export declare type BookmarksSchema = (HttpsFormatsOpenagIoOadaResourceSchemaJson & (V1 | {

@@ -10,5 +30,14 @@ _type?: string;

export interface HttpsFormatsOpenagIoOadaResourceSchemaJson {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;
_meta: Versioned;
/**
* _type identifies the content-type of a resource in the OADA API and is required for all OADA-defined formats. It usually looks like application/vnd.oada.something.1+json.
*/
_type: string;

@@ -18,4 +47,13 @@ [k: string]: unknown;

export interface Versioned {
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _type identifies the content-type of a resource in the OADA API and is required for all OADA-defined formats. It usually looks like application/vnd.oada.something.1+json.
*/
_type?: string;

@@ -22,0 +60,0 @@ }

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/bookmarks.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './bookmarks-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/bookmarks.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/bookmarks.schema.json';
/**
* Returns true if `val` is a @type `BookmarksSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `BookmarksSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,59 +1,181 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/bookmarks/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/bookmarks/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/bookmarks/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* bookmarks is the top-level document returned by the OADA API
*/
export interface V1Schema {
/**
* A versioned link in OADA has _id an _rev in the link in order allow changes to bubble up from child to parents.
*/
trellisfw?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;
[k: string]: unknown;
};
/**
* A versioned link in OADA has _id an _rev in the link in order allow changes to bubble up from child to parents.
*/
planting?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;
[k: string]: unknown;
};
/**
* A versioned link in OADA has _id an _rev in the link in order allow changes to bubble up from child to parents.
*/
harvest?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;
[k: string]: unknown;
};
/**
* A versioned link in OADA has _id an _rev in the link in order allow changes to bubble up from child to parents.
*/
machines?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;
[k: string]: unknown;
};
/**
* A versioned link in OADA has _id an _rev in the link in order allow changes to bubble up from child to parents.
*/
irrigation?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;
[k: string]: unknown;
};
/**
* A versioned link in OADA has _id an _rev in the link in order allow changes to bubble up from child to parents.
*/
sensors?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;
[k: string]: unknown;
};
/**
* A versioned link in OADA has _id an _rev in the link in order allow changes to bubble up from child to parents.
*/
fields?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;
[k: string]: unknown;
};
/**
* A versioned link in OADA has _id an _rev in the link in order allow changes to bubble up from child to parents.
*/
clients?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;
[k: string]: unknown;
};
/**
* A versioned link in OADA has _id an _rev in the link in order allow changes to bubble up from child to parents.
*/
"sensor-hubs"?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;
[k: string]: unknown;
};
/**
* A link in OADA has at least an _id key and links one resource to another.
*/
isoblue?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
[k: string]: unknown;
};
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev?: number;
/**
* _meta is a link to the meta document for a resources.
*/
_meta?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;

@@ -60,0 +182,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/bookmarks/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/bookmarks/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/bookmarks/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

54

oada/change.d.ts

@@ -0,13 +1,51 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/change.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/change.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/change.schema.json";
/**
* Returns true if `val` is a @type `ChangeSchema`, false otherwise
*/
export declare function is(val: unknown): val is ChangeSchema;
/**
* Asserts that `val` is a @type `ChangeSchema`
*/
export declare function assert(val: unknown): asserts val is ChangeSchema;
export default ChangeSchema;
export declare type ChangeSchema = (HttpsFormatsOpenagIoOadaChangeV1SchemaJson | HttpsFormatsOpenagIoOadaChangeV2SchemaJson);
export declare type HttpsFormatsOpenagIoOadaChangeV2SchemaJson = ({
/**
* Wrapper type for any version of an OADA change document.
*/
export declare type ChangeSchema = (HttpsFormatsOpenagIoOadaChangeV1SchemaJson | ArrayBasedChangeRepresentationOADAV2);
/**
* Array of the changes to this resource and its ancestor changes to descendant resources
*/
export declare type ArrayBasedChangeRepresentationOADAV2 = ({
/**
* Indicates the type of change that occurred.
*/
type: ("merge" | "delete");
/**
* JSON Pointer to the descendant of this resource which changed (or "" for this resource)
*/
path: string;
/**
* The `_id` of the resource which actually changed
*/
resource_id: string;
[k: string]: unknown;
} & ({
/**
* The contents of what changed
*/
body: {
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;

@@ -22,4 +60,16 @@ [k: string]: unknown;

}))[];
/**
* Tree-based change representation (OADA v1)
*/
export interface HttpsFormatsOpenagIoOadaChangeV1SchemaJson {
/**
* Indicates the type of change that occurred.
*
* This interface was referenced by `HttpsFormatsOpenagIoOadaChangeV1SchemaJson`'s JSON-Schema
* via the `definition` "type".
*/
type: ("merge" | "delete");
/**
* The contents of what was changed.
*/
body: {

@@ -26,0 +76,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/change.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './change-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/change.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/change.schema.json';
/**
* Returns true if `val` is a @type `ChangeSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `ChangeSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,8 +1,37 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/change/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/change/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/change/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* Indicates the type of change that occurred.
*
* This interface was referenced by `V1Schema`'s JSON-Schema
* via the `definition` "type".
*/
export declare type Type = ("merge" | "delete");
/**
* Tree-based change representation (OADA v1)
*/
export interface V1Schema {
type: Type;
/**
* The contents of what was changed.
*/
body: {

@@ -9,0 +38,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/change/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/change/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/change/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,12 +1,47 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/change/v2.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/change/v2.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/change/v2.schema.json";
export declare function is(val: unknown): val is V2Schema;
export declare function assert(val: unknown): asserts val is V2Schema;
export default V2Schema;
/**
* Returns true if `val` is a @type `ArrayBasedChangeRepresentationOADAV2`, false otherwise
*/
export declare function is(val: unknown): val is ArrayBasedChangeRepresentationOADAV2;
/**
* Asserts that `val` is a @type `ArrayBasedChangeRepresentationOADAV2`
*/
export declare function assert(val: unknown): asserts val is ArrayBasedChangeRepresentationOADAV2;
export default ArrayBasedChangeRepresentationOADAV2;
/**
* An element of a change array representing a single change to a single resource
*/
export declare type Change = ({
/**
* Indicates the type of change that occurred.
*/
type: ("merge" | "delete");
/**
* JSON Pointer to the descendant of this resource which changed (or "" for this resource)
*/
path: string;
/**
* The `_id` of the resource which actually changed
*/
resource_id: string;
[k: string]: unknown;
} & ({
/**
* The contents of what changed
*/
body: {
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;

@@ -21,2 +56,5 @@ [k: string]: unknown;

}));
export declare type V2Schema = Change[];
/**
* Array of the changes to this resource and its ancestor changes to descendant resources
*/
export declare type ArrayBasedChangeRepresentationOADAV2 = Change[];

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/change/v2.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v2-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/change/v2.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/change/v2.schema.json';
/**
* Returns true if `val` is a @type `ArrayBasedChangeRepresentationOADAV2`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `ArrayBasedChangeRepresentationOADAV2`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,5 +1,25 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/clients/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/clients/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/clients/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* application/vnd.oada.clients.1+json
*/
export interface V1Schema {

@@ -15,2 +35,5 @@ name: string;

_id: string;
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;

@@ -17,0 +40,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/clients/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/clients/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/clients/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,20 +1,73 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/harvest/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/harvest/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/harvest/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* A harvest document holds links to information related to harvest activites or data.
*/
export interface V1Schema {
/**
* A versioned link in OADA has _id an _rev in the link in order allow changes to bubble up from child to parents.
*/
"as-harvested"?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;
[k: string]: unknown;
};
/**
* A versioned link in OADA has _id an _rev in the link in order allow changes to bubble up from child to parents.
*/
"tiled-maps"?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;
[k: string]: unknown;
};
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev?: number;
/**
* _meta is a link to the meta document for a resources.
*/
_meta?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;

@@ -21,0 +74,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/harvest/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/harvest/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/harvest/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,6 +1,29 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/indexes/geohash-length-index.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/indexes/geohash-length-index.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/indexes/geohash-length-index.schema.json";
/**
* Returns true if `val` is a @type `GeohashLengthIndexSchema`, false otherwise
*/
export declare function is(val: unknown): val is GeohashLengthIndexSchema;
/**
* Asserts that `val` is a @type `GeohashLengthIndexSchema`
*/
export declare function assert(val: unknown): asserts val is GeohashLengthIndexSchema;
export default GeohashLengthIndexSchema;
/**
* geohash-length-index is an indexing scheme that groups data by geohash string lengths. As with all indexes, it is not a document type itself and therefore cannot be linked to. It can also have a "datum" key which tells the earth model used for GPS.
*/
export interface GeohashLengthIndexSchema {
/**
* datum describes the model of the earth used for GPS coordinates. It can be from a set of known strings, or an EPSG model from http://spatialreference.org
*/
datum?: (string | {

@@ -37,4 +60,7 @@ type: "EPSG";

_id: string;
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;
[k: string]: unknown;
}

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/indexes/geohash-length-index.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './geohash-length-index-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/indexes/geohash-length-index.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/indexes/geohash-length-index.schema.json';
/**
* Returns true if `val` is a @type `GeohashLengthIndexSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `GeohashLengthIndexSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,5 +1,25 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/irrigation/machines/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/irrigation/machines/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/irrigation/machines/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* application/vnd.oada.irrigation.machines.1+json
*/
export interface V1Schema {

@@ -15,2 +35,5 @@ name: string;

_id: string;
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;

@@ -17,0 +40,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/irrigation/machines/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/irrigation/machines/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/irrigation/machines/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,5 +1,25 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/irrigation/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/irrigation/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/irrigation/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* application/vnd.oada.irrigation.1+json
*/
export interface V1Schema {

@@ -11,4 +31,7 @@ machines?: Versioned;

_id: string;
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;
[k: string]: unknown;
}

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/irrigation/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/irrigation/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/irrigation/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,9 +1,44 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/isoblue/can/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/isoblue/can/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/isoblue/can/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* CAN frame collected from machine attached to ISOBlue (or similar) device
*/
export interface V1Schema {
/**
* templates is a general key for holding a collection of data points indexed by random strings. Templates serve as prototypes for data points under "data" keys. If you have a piece of information that exists is all or almost all of the data points in a particular group of points, you can put the repeated things in templates and then just put the name of the template into the data point. The full data point is therefore a merge of the template object and the data point itself, with the data point overruling when there are any keys that exist in both objects. Schema is therefore identical to "data".
*/
templates?: {
/**
* data-point never appears as a word in any document or URL. It is a general type of object that can hold any type of data. It represents the type of object that can sit under "data" or "templates".
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^(?!(indexing|.*-index|_.*)).*$".
*/
[k: string]: {
/**
* id (note this is NOT "_id") can be used to identify a particular data point, perhaps across documents which simply re-index the same data.
*/
id?: string;
/**
* time is a data type which holds a reading of...time...
*/
time?: {

@@ -13,17 +48,35 @@ units?: string;

};
/**
* Error frame flag for can frame
*/
is_error_frame?: {
[k: string]: unknown;
};
/**
* Extended frame flag for can frame
*/
is_extended_frame?: {
[k: string]: unknown;
};
/**
* CAN ID portion of extended can frame
*/
arbitration_id?: {
[k: string]: unknown;
};
/**
* Data Length Code portion of extended can frame
*/
dlc?: {
[k: string]: unknown;
};
/**
* String representation can frame payload in base64
*/
payload?: {
[k: string]: unknown;
};
/**
* Remote frame flag from can frame
*/
is_remote_frame?: {

@@ -35,5 +88,20 @@ [k: string]: unknown;

};
/**
* data is a general key for holding a collection of data points indexed by random strings.
*/
data?: {
/**
* data-point never appears as a word in any document or URL. It is a general type of object that can hold any type of data. It represents the type of object that can sit under "data" or "templates".
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^(?!(indexing|.*-index|_.*)).*$".
*/
[k: string]: {
/**
* id (note this is NOT "_id") can be used to identify a particular data point, perhaps across documents which simply re-index the same data.
*/
id: string;
/**
* time is a data type which holds a reading of...time...
*/
time: {

@@ -43,17 +111,35 @@ units?: string;

};
/**
* Error frame flag for can frame
*/
is_error_frame?: {
[k: string]: unknown;
};
/**
* Extended frame flag for can frame
*/
is_extended_frame?: {
[k: string]: unknown;
};
/**
* CAN ID portion of extended can frame
*/
arbitration_id?: {
[k: string]: unknown;
};
/**
* Data Length Code portion of extended can frame
*/
dlc?: {
[k: string]: unknown;
};
/**
* String representation can frame payload in base64
*/
payload?: {
[k: string]: unknown;
};
/**
* Remote frame flag from can frame
*/
is_remote_frame?: {

@@ -65,6 +151,21 @@ [k: string]: unknown;

};
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev?: number;
/**
* _meta is a link to the meta document for a resources.
*/
_meta?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;

@@ -90,4 +191,16 @@ [k: string]: unknown;

})[];
/**
* year-index splits things up by a 4-digit year
*/
"year-index"?: {
/**
* A link in OADA has at least an _id key and links one resource to another.
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^[0-9]{4}$".
*/
[k: string]: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;

@@ -97,4 +210,16 @@ [k: string]: unknown;

};
/**
* day-index splits things up by days, with full year-month-day string for keys
*/
"day-index"?: {
/**
* A link in OADA has at least an _id key and links one resource to another.
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^[0-9]{4}-[0-9]{2}-[0-9]{2}$".
*/
[k: string]: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;

@@ -104,4 +229,16 @@ [k: string]: unknown;

};
/**
* hour-index splits things up by hours, 24-hour time string in GMT like 06:07 or 23:44
*/
"hour-index"?: {
/**
* A link in OADA has at least an _id key and links one resource to another.
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^[0-9]{2}:[0-9]{2}$".
*/
[k: string]: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;

@@ -108,0 +245,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/isoblue/can/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/isoblue/can/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/isoblue/can/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,9 +1,44 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/isoblue/heartbeat/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/isoblue/heartbeat/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/isoblue/heartbeat/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* Heartbeat data from the ISOBlue device. Contains information such as network strength, upload backlog, and other debugging information.
*/
export interface V1Schema {
/**
* templates is a general key for holding a collection of data points indexed by random strings. Templates serve as prototypes for data points under "data" keys. If you have a piece of information that exists is all or almost all of the data points in a particular group of points, you can put the repeated things in templates and then just put the name of the template into the data point. The full data point is therefore a merge of the template object and the data point itself, with the data point overruling when there are any keys that exist in both objects. Schema is therefore identical to "data".
*/
templates?: {
/**
* data-point never appears as a word in any document or URL. It is a general type of object that can hold any type of data. It represents the type of object that can sit under "data" or "templates".
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^(?!(indexing|.*-index|_.*)).*$".
*/
[k: string]: {
/**
* id (note this is NOT "_id") can be used to identify a particular data point, perhaps across documents which simply re-index the same data.
*/
id?: string;
/**
* time is a data type which holds a reading of...time...
*/
time?: {

@@ -13,2 +48,5 @@ units?: string;

};
/**
* Strength of cellular signal, ranging from ~-100 to ~-10
*/
cell_ns?: {

@@ -18,2 +56,5 @@ units?: string;

};
/**
* Strength of wifi signal, ranging form ~-100 to ~-10
*/
wifi_ns?: {

@@ -23,2 +64,5 @@ units?: string;

};
/**
* Length of backlog in computer systems. Used in ISOBlue to count the number of unsent messages
*/
backlog?: {

@@ -28,5 +72,11 @@ units?: string;

};
/**
* Network health status LED
*/
netled?: {
[k: string]: unknown;
};
/**
* General health status LED
*/
statled?: {

@@ -38,5 +88,20 @@ [k: string]: unknown;

};
/**
* data is a general key for holding a collection of data points indexed by random strings.
*/
data?: {
/**
* data-point never appears as a word in any document or URL. It is a general type of object that can hold any type of data. It represents the type of object that can sit under "data" or "templates".
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^(?!(indexing|.*-index|_.*)).*$".
*/
[k: string]: {
/**
* id (note this is NOT "_id") can be used to identify a particular data point, perhaps across documents which simply re-index the same data.
*/
id: string;
/**
* time is a data type which holds a reading of...time...
*/
time: {

@@ -46,2 +111,5 @@ units?: string;

};
/**
* Strength of cellular signal, ranging from ~-100 to ~-10
*/
cell_ns?: {

@@ -51,2 +119,5 @@ units?: string;

};
/**
* Strength of wifi signal, ranging form ~-100 to ~-10
*/
wifi_ns?: {

@@ -56,2 +127,5 @@ units?: string;

};
/**
* Length of backlog in computer systems. Used in ISOBlue to count the number of unsent messages
*/
backlog?: {

@@ -61,5 +135,11 @@ units?: string;

};
/**
* Network health status LED
*/
netled?: {
[k: string]: unknown;
};
/**
* General health status LED
*/
statled?: {

@@ -71,6 +151,21 @@ [k: string]: unknown;

};
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev?: number;
/**
* _meta is a link to the meta document for a resources.
*/
_meta?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;

@@ -96,4 +191,16 @@ [k: string]: unknown;

})[];
/**
* year-index splits things up by a 4-digit year
*/
"year-index"?: {
/**
* A link in OADA has at least an _id key and links one resource to another.
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^[0-9]{4}$".
*/
[k: string]: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;

@@ -103,4 +210,16 @@ [k: string]: unknown;

};
/**
* day-index splits things up by days, with full year-month-day string for keys
*/
"day-index"?: {
/**
* A link in OADA has at least an _id key and links one resource to another.
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^[0-9]{4}-[0-9]{2}-[0-9]{2}$".
*/
[k: string]: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;

@@ -110,4 +229,16 @@ [k: string]: unknown;

};
/**
* hour-index splits things up by hours, 24-hour time string in GMT like 06:07 or 23:44
*/
"hour-index"?: {
/**
* A link in OADA has at least an _id key and links one resource to another.
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^[0-9]{2}:[0-9]{2}$".
*/
[k: string]: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;

@@ -114,0 +245,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/isoblue/heartbeat/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/isoblue/heartbeat/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/isoblue/heartbeat/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,9 +1,44 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/isoblue/location/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/isoblue/location/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/isoblue/location/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* Location data of the machine. Contains time and location
*/
export interface V1Schema {
/**
* templates is a general key for holding a collection of data points indexed by random strings. Templates serve as prototypes for data points under "data" keys. If you have a piece of information that exists is all or almost all of the data points in a particular group of points, you can put the repeated things in templates and then just put the name of the template into the data point. The full data point is therefore a merge of the template object and the data point itself, with the data point overruling when there are any keys that exist in both objects. Schema is therefore identical to "data".
*/
templates?: {
/**
* data-point never appears as a word in any document or URL. It is a general type of object that can hold any type of data. It represents the type of object that can sit under "data" or "templates".
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^(?!(indexing|.*-index|_.*)).*$".
*/
[k: string]: {
/**
* id (note this is NOT "_id") can be used to identify a particular data point, perhaps across documents which simply re-index the same data.
*/
id?: string;
/**
* time is a data type which holds a reading of...time...
*/
time?: {

@@ -13,3 +48,9 @@ units?: string;

};
/**
* location represents a point in space, usually a GPS coordinate or geohash
*/
location?: {
/**
* datum describes the model of the earth used for GPS coordinates. It can be from a set of known strings, or an EPSG model from http://spatialreference.org
*/
datum?: (string | {

@@ -23,8 +64,29 @@ type: "EPSG";

});
/**
* latitude is a string in the format of a number
*/
latitude?: string;
/**
* longitude is a string in the format of a number
*/
longitude?: string;
/**
* altitude is a string in the format of a number
*/
altitude?: number;
/**
* lat is shorthand for latitude
*/
lat?: string;
/**
* lon is shorthand for longitude
*/
lon?: string;
/**
* alt is shorthand for altitude
*/
alt?: number;
/**
* A geohash is a base 32 encoded string which represents the combination of latitude and longitude into a single number which, in general, has a property such that points close in number are close on the globe.
*/
geohash?: string;

@@ -36,5 +98,20 @@ [k: string]: unknown;

};
/**
* data is a general key for holding a collection of data points indexed by random strings.
*/
data?: {
/**
* data-point never appears as a word in any document or URL. It is a general type of object that can hold any type of data. It represents the type of object that can sit under "data" or "templates".
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^(?!(indexing|.*-index|_.*)).*$".
*/
[k: string]: {
/**
* id (note this is NOT "_id") can be used to identify a particular data point, perhaps across documents which simply re-index the same data.
*/
id: string;
/**
* time is a data type which holds a reading of...time...
*/
time: {

@@ -44,3 +121,9 @@ units?: string;

};
/**
* location represents a point in space, usually a GPS coordinate or geohash
*/
location: {
/**
* datum describes the model of the earth used for GPS coordinates. It can be from a set of known strings, or an EPSG model from http://spatialreference.org
*/
datum?: (string | {

@@ -54,8 +137,29 @@ type: "EPSG";

});
/**
* latitude is a string in the format of a number
*/
latitude?: string;
/**
* longitude is a string in the format of a number
*/
longitude?: string;
/**
* altitude is a string in the format of a number
*/
altitude?: number;
/**
* lat is shorthand for latitude
*/
lat?: string;
/**
* lon is shorthand for longitude
*/
lon?: string;
/**
* alt is shorthand for altitude
*/
alt?: number;
/**
* A geohash is a base 32 encoded string which represents the combination of latitude and longitude into a single number which, in general, has a property such that points close in number are close on the globe.
*/
geohash?: string;

@@ -67,6 +171,21 @@ [k: string]: unknown;

};
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev?: number;
/**
* _meta is a link to the meta document for a resources.
*/
_meta?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;

@@ -92,4 +211,16 @@ [k: string]: unknown;

})[];
/**
* year-index splits things up by a 4-digit year
*/
"year-index"?: {
/**
* A link in OADA has at least an _id key and links one resource to another.
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^[0-9]{4}$".
*/
[k: string]: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;

@@ -99,4 +230,16 @@ [k: string]: unknown;

};
/**
* day-index splits things up by days, with full year-month-day string for keys
*/
"day-index"?: {
/**
* A link in OADA has at least an _id key and links one resource to another.
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^[0-9]{4}-[0-9]{2}-[0-9]{2}$".
*/
[k: string]: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;

@@ -106,4 +249,16 @@ [k: string]: unknown;

};
/**
* hour-index splits things up by hours, 24-hour time string in GMT like 06:07 or 23:44
*/
"hour-index"?: {
/**
* A link in OADA has at least an _id key and links one resource to another.
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^[0-9]{2}:[0-9]{2}$".
*/
[k: string]: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;

@@ -110,0 +265,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/isoblue/location/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/isoblue/location/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/isoblue/location/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,22 +1,75 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/isoblue/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/isoblue/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/isoblue/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* The ISOBlue document holds links to data related to (often collected by) the ISOBlue device
*/
export interface V1Schema {
/**
* A link in OADA has at least an _id key and links one resource to another.
*/
can?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
[k: string]: unknown;
};
/**
* A link in OADA has at least an _id key and links one resource to another.
*/
heartbeat?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
[k: string]: unknown;
};
/**
* A link in OADA has at least an _id key and links one resource to another.
*/
location?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
[k: string]: unknown;
};
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev?: number;
/**
* _meta is a link to the meta document for a resources.
*/
_meta?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;

@@ -23,0 +76,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/isoblue/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/isoblue/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/isoblue/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,9 +1,37 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/link/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/link/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/link/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* This interface was referenced by `V1Schema`'s JSON-Schema
* via the `definition` "link".
*/
export declare type Link = (Nonversioned | Versioned);
/**
* OADA Link object
*/
export interface V1Schema {
[k: string]: unknown;
}
/**
* This interface was referenced by `V1Schema`'s JSON-Schema
* via the `definition` "nonversioned".
*/
export interface Nonversioned {

@@ -13,9 +41,20 @@ _id: string;

}
/**
* This interface was referenced by `V1Schema`'s JSON-Schema
* via the `definition` "versioned".
*/
export interface Versioned {
_id: string;
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;
[k: string]: unknown;
}
/**
* This interface was referenced by `V1Schema`'s JSON-Schema
* via the `definition` "list".
*/
export interface List {
[k: string]: Link;
}

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/link/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/link/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/link/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,5 +1,25 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/oada-configuration/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/oada-configuration/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/oada-configuration/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* application/vnd.oada.well-known.oada-configuration.1+json
*/
export interface V1Schema {

@@ -10,4 +30,7 @@ oada_base_uri: string;

registration_endpoint: string;
/**
* @minItems 1
*/
token_endpoint_auth_signing_alg_values_supported: [string, ...(string)[]];
[k: string]: unknown;
}

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/oada-configuration/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/oada-configuration/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/oada-configuration/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,9 +1,35 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/resource.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/resource.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/resource.schema.json";
/**
* Returns true if `val` is a @type `ResourceSchema`, false otherwise
*/
export declare function is(val: unknown): val is ResourceSchema;
/**
* Asserts that `val` is a @type `ResourceSchema`
*/
export declare function assert(val: unknown): asserts val is ResourceSchema;
export default ResourceSchema;
export interface ResourceSchema {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;
_meta: Versioned;
/**
* _type identifies the content-type of a resource in the OADA API and is required for all OADA-defined formats. It usually looks like application/vnd.oada.something.1+json.
*/
_type: string;

@@ -13,5 +39,14 @@ [k: string]: unknown;

export interface Versioned {
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _type identifies the content-type of a resource in the OADA API and is required for all OADA-defined formats. It usually looks like application/vnd.oada.something.1+json.
*/
_type?: string;
}

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/resource.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './resource-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/resource.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/resource.schema.json';
/**
* Returns true if `val` is a @type `ResourceSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `ResourceSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,8 +1,40 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/sensor-hubs/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/sensor-hubs/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/sensor-hubs/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* Holds a listing of links to various sensor hubs (each hub may have many sensors it is responsible for
*/
export interface V1Schema {
/**
* serial-numbers is an object whose keys represent serial numbers of something (i.e. a sensor hub), and each key just links to that thing
*/
"serial-numbers"?: {
/**
* A link in OADA has at least an _id key and links one resource to another.
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^(?!(indexing|.*-index|_.*)).*$".
*/
[k: string]: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;

@@ -12,6 +44,21 @@ [k: string]: unknown;

};
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev?: number;
/**
* _meta is a link to the meta document for a resources.
*/
_meta?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;

@@ -18,0 +65,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/sensor-hubs/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/sensor-hubs/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/sensor-hubs/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,5 +1,25 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/service.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/service.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/service.schema.json";
/**
* Returns true if `val` is a @type `ServiceSchema`, false otherwise
*/
export declare function is(val: unknown): val is ServiceSchema;
/**
* Asserts that `val` is a @type `ServiceSchema`
*/
export declare function assert(val: unknown): asserts val is ServiceSchema;
export default ServiceSchema;
/**
* The format for the collection of @oada/jobs items.
*/
export interface ServiceSchema {

@@ -11,4 +31,10 @@ jobs?: Unversioned;

export interface Unversioned {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _type identifies the content-type of a resource in the OADA API and is required for all OADA-defined formats. It usually looks like application/vnd.oada.something.1+json.
*/
_type?: string;
}

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/service.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './service-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/service.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/service.schema.json';
/**
* Returns true if `val` is a @type `ServiceSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `ServiceSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,15 +1,53 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/service/job.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/service/job.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/service/job.schema.json";
/**
* Returns true if `val` is a @type `JobSchema`, false otherwise
*/
export declare function is(val: unknown): val is JobSchema;
/**
* Asserts that `val` is a @type `JobSchema`
*/
export declare function assert(val: unknown): asserts val is JobSchema;
export default JobSchema;
/**
* The format for an @oada/jobs job queue job.
*/
export interface JobSchema {
/**
* Service name which job is for
*/
service: string;
/**
* Service specific identifier of job type
*/
type: string;
/**
* Job spceific configuration object
*/
config?: {
[k: string]: unknown;
};
/**
* Final result of job
*/
result?: {
[k: string]: unknown;
};
/**
* Current status of job
*/
status?: string;
/**
* A list of updates as job progresses. Keys shall be sorted in time order.
*/
updates?: {

@@ -20,5 +58,17 @@ [k: string]: HttpsFormatsOpenagIoOadaServiceJobUpdateSchemaJson;

}
/**
* A list of updates as job progresses. Keys shall be sorted in time order.
*/
export interface HttpsFormatsOpenagIoOadaServiceJobUpdateSchemaJson {
/**
* Status of job at the time of update
*/
status: string;
/**
* ISO8601 UTC date-time of update time
*/
time: string;
/**
* Additional meta data about the status update
*/
meta?: {

@@ -25,0 +75,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/service/job.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './job-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/service/job.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/service/job.schema.json';
/**
* Returns true if `val` is a @type `JobSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `JobSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,8 +1,37 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/service/job/update.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/service/job/update.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/service/job/update.schema.json";
/**
* Returns true if `val` is a @type `UpdateSchema`, false otherwise
*/
export declare function is(val: unknown): val is UpdateSchema;
/**
* Asserts that `val` is a @type `UpdateSchema`
*/
export declare function assert(val: unknown): asserts val is UpdateSchema;
export default UpdateSchema;
/**
* A list of updates as job progresses. Keys shall be sorted in time order.
*/
export interface UpdateSchema {
/**
* Status of job at the time of update
*/
status: string;
/**
* ISO8601 UTC date-time of update time
*/
time: string;
/**
* Additional meta data about the status update
*/
meta?: {

@@ -9,0 +38,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/service/job/update.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './update-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/service/job/update.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/service/job/update.schema.json';
/**
* Returns true if `val` is a @type `UpdateSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `UpdateSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,7 +1,30 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/service/jobs.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/service/jobs.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/service/jobs.schema.json";
/**
* Returns true if `val` is a @type `JobsSchema`, false otherwise
*/
export declare function is(val: unknown): val is JobsSchema;
/**
* Asserts that `val` is a @type `JobsSchema`
*/
export declare function assert(val: unknown): asserts val is JobsSchema;
export default JobsSchema;
/**
* The format for @oada/jobs jobs list
*/
export interface JobsSchema {
[k: string]: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;

@@ -8,0 +31,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/service/jobs.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './jobs-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/service/jobs.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/service/jobs.schema.json';
/**
* Returns true if `val` is a @type `JobsSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `JobsSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,9 +1,35 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/service/queue.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/service/queue.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/service/queue.schema.json";
/**
* Returns true if `val` is a @type `QueueSchema`, false otherwise
*/
export declare function is(val: unknown): val is QueueSchema;
/**
* Asserts that `val` is a @type `QueueSchema`
*/
export declare function assert(val: unknown): asserts val is QueueSchema;
export default QueueSchema;
/**
* The format for @oada/jobs queue a job queue request
*/
export interface QueueSchema {
/**
* OADA domain of the job queue
*/
domain: string;
/**
* Token to use when interacting with job queue
*/
token: string;
[k: string]: unknown;
}

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/service/queue.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './queue-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/service/queue.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/service/queue.schema.json';
/**
* Returns true if `val` is a @type `QueueSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `QueueSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,12 +1,41 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/service/queues.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/service/queues.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/service/queues.schema.json";
/**
* Returns true if `val` is a @type `QueuesSchema`, false otherwise
*/
export declare function is(val: unknown): val is QueuesSchema;
/**
* Asserts that `val` is a @type `QueuesSchema`
*/
export declare function assert(val: unknown): asserts val is QueuesSchema;
export default QueuesSchema;
/**
* The format for @oada/jobs queues list
*/
export interface QueuesSchema {
[k: string]: HttpsFormatsOpenagIoOadaServiceQueueSchemaJson;
}
/**
* The format for @oada/jobs queue a job queue request
*/
export interface HttpsFormatsOpenagIoOadaServiceQueueSchemaJson {
/**
* OADA domain of the job queue
*/
domain: string;
/**
* Token to use when interacting with job queue
*/
token: string;
[k: string]: unknown;
}

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/service/queues.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './queues-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/service/queues.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/service/queues.schema.json';
/**
* Returns true if `val` is a @type `QueuesSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `QueuesSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,6 +1,29 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/tiled-maps/dry-yield-map/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/tiled-maps/dry-yield-map/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/tiled-maps/dry-yield-map/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* The "dry-yield-map" document contains harvest data at the given crop's trade moisture, aggregated at various zoom levels for mapping and fast statistical calculation.
*/
export interface V1Schema {
/**
* datum describes the model of the earth used for GPS coordinates. It can be from a set of known strings, or an EPSG model from http://spatialreference.org
*/
datum?: (string | {

@@ -14,5 +37,17 @@ type: "EPSG";

});
/**
* stats sits at the top of a resource to list stats about the data inside that resource. Basic stats are sum, count, sum-of-squares. The actual keys under stats are data names that you have stats for like weight, area, etc. The same units and data names are valid under stats that are valid under data
*/
stats?: {
/**
* template sits inside a data point and gives the name of a template (key in the templates object) which serves as prototype for a given data point. The full data point is the merge of that template object with the data point, with the data point taking precedence in key collisions. This is a string because its value is the key in templates, not the template itself.
*/
template?: string;
/**
* A geohash is a base 32 encoded string which represents the combination of latitude and longitude into a single number which, in general, has a property such that points close in number are close on the globe.
*/
geohash?: string;
/**
* area is a data type which holds a reading of...area...
*/
area?: {

@@ -22,2 +57,5 @@ units?: string;

};
/**
* weight is a data type which holds a reading of weight, as in bushels, lbs, or kg.
*/
weight?: {

@@ -27,2 +65,5 @@ units?: string;

};
/**
* moisture is a data type which holds a reading of the amount of moisture in a crop. It is typically in units of % water (%H2O).
*/
moisture?: {

@@ -34,6 +75,24 @@ units?: string;

};
/**
* templates is a general key for holding a collection of data points indexed by random strings. Templates serve as prototypes for data points under "data" keys. If you have a piece of information that exists is all or almost all of the data points in a particular group of points, you can put the repeated things in templates and then just put the name of the template into the data point. The full data point is therefore a merge of the template object and the data point itself, with the data point overruling when there are any keys that exist in both objects. Schema is therefore identical to "data".
*/
templates?: {
/**
* data-point never appears as a word in any document or URL. It is a general type of object that can hold any type of data. It represents the type of object that can sit under "data" or "templates".
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^(?!(indexing|.*-index|_.*)).*$".
*/
[k: string]: {
/**
* template sits inside a data point and gives the name of a template (key in the templates object) which serves as prototype for a given data point. The full data point is the merge of that template object with the data point, with the data point taking precedence in key collisions. This is a string because its value is the key in templates, not the template itself.
*/
template?: string;
/**
* A geohash is a base 32 encoded string which represents the combination of latitude and longitude into a single number which, in general, has a property such that points close in number are close on the globe.
*/
geohash?: string;
/**
* area is a data type which holds a reading of...area...
*/
area?: {

@@ -43,2 +102,5 @@ units?: string;

};
/**
* weight is a data type which holds a reading of weight, as in bushels, lbs, or kg.
*/
weight?: {

@@ -48,2 +110,5 @@ units?: string;

};
/**
* moisture is a data type which holds a reading of the amount of moisture in a crop. It is typically in units of % water (%H2O).
*/
moisture?: {

@@ -56,6 +121,24 @@ units?: string;

};
/**
* geohash-data is much like "geohash-index" except that the geohash strings in geohashes are links to resources, whereas in geohash-data the geohash strings are actual data points representing data values for that geohash. This is used primarily in tiled-maps. The allowable values are the same as the values under "data"
*/
"geohash-data"?: {
/**
* data-point never appears as a word in any document or URL. It is a general type of object that can hold any type of data. It represents the type of object that can sit under "data" or "templates".
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^[0-9bcdefghjkmnpqrstuvwxyz]+$".
*/
[k: string]: {
/**
* template sits inside a data point and gives the name of a template (key in the templates object) which serves as prototype for a given data point. The full data point is the merge of that template object with the data point, with the data point taking precedence in key collisions. This is a string because its value is the key in templates, not the template itself.
*/
template?: string;
/**
* A geohash is a base 32 encoded string which represents the combination of latitude and longitude into a single number which, in general, has a property such that points close in number are close on the globe.
*/
geohash?: string;
/**
* area is a data type which holds a reading of...area...
*/
area: {

@@ -65,2 +148,5 @@ units?: string;

};
/**
* weight is a data type which holds a reading of weight, as in bushels, lbs, or kg.
*/
weight: {

@@ -70,2 +156,5 @@ units?: string;

};
/**
* moisture is a data type which holds a reading of the amount of moisture in a crop. It is typically in units of % water (%H2O).
*/
moisture?: {

@@ -78,6 +167,21 @@ units?: string;

};
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev?: number;
/**
* _meta is a link to the meta document for a resources.
*/
_meta?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;

@@ -104,2 +208,5 @@ [k: string]: unknown;

index?: "geohash-index";
/**
* A geohash is a base 32 encoded string which represents the combination of latitude and longitude into a single number which, in general, has a property such that points close in number are close on the globe.
*/
value?: string;

@@ -109,4 +216,16 @@ source?: string;

})[];
/**
* year-index splits things up by a 4-digit year
*/
"year-index"?: {
/**
* A link in OADA has at least an _id key and links one resource to another.
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^[0-9]{4}$".
*/
[k: string]: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;

@@ -116,12 +235,33 @@ [k: string]: unknown;

};
/**
* crop-index is an object that sits inside other objects and gives links to documents based on the name of a particular crop. It's known keys are also not considered part of the OADA vocabulary and therefore do not appear as vocabulary terms even though they will be in OADA URLs. This is standard for indexes.
*/
"crop-index"?: {
/**
* A link in OADA has at least an _id key and links one resource to another.
*/
corn?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
[k: string]: unknown;
};
/**
* A link in OADA has at least an _id key and links one resource to another.
*/
soybeans?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
[k: string]: unknown;
};
/**
* A link in OADA has at least an _id key and links one resource to another.
*/
wheat?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;

@@ -133,4 +273,16 @@ [k: string]: unknown;

"geohash-length-index"?: HttpsFormatsOpenagIoOadaIndexesGeohashLengthIndexSchemaJson;
/**
* geohash-index is a key that holds under it a set of geohash keys of a particular length. It is necessary because some geohashes may be legitimate words and therefore we need to place all the geohashes specifically under one key. This key usually sits at the top-level of a document reached via a geohash-length-index. It is intended to hold links to resources containing data that is grouped under a particular geohash.
*/
"geohash-index"?: {
/**
* A link in OADA has at least an _id key and links one resource to another.
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^[0-9bcdefghjkmnpqrstuvwxyz]+$".
*/
[k: string]: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;

@@ -142,3 +294,9 @@ [k: string]: unknown;

}
/**
* geohash-length-index is an indexing scheme that groups data by geohash string lengths. As with all indexes, it is not a document type itself and therefore cannot be linked to. It can also have a "datum" key which tells the earth model used for GPS.
*/
export interface HttpsFormatsOpenagIoOadaIndexesGeohashLengthIndexSchemaJson {
/**
* datum describes the model of the earth used for GPS coordinates. It can be from a set of known strings, or an EPSG model from http://spatialreference.org
*/
datum?: (string | {

@@ -175,4 +333,7 @@ type: "EPSG";

_id: string;
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;
[k: string]: unknown;
}

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/tiled-maps/dry-yield-map/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/tiled-maps/dry-yield-map/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/tiled-maps/dry-yield-map/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,6 +1,29 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/tiled-maps/moisture-map/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/tiled-maps/moisture-map/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/tiled-maps/moisture-map/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* The "moisture-map" document contains harvested moisture readingstrade moisture, aggregated at various zoom levels for mapping and fast statistical calculation
*/
export interface V1Schema {
/**
* datum describes the model of the earth used for GPS coordinates. It can be from a set of known strings, or an EPSG model from http://spatialreference.org
*/
datum?: (string | {

@@ -14,5 +37,17 @@ type: "EPSG";

});
/**
* stats sits at the top of a resource to list stats about the data inside that resource. Basic stats are sum, count, sum-of-squares. The actual keys under stats are data names that you have stats for like weight, area, etc. The same units and data names are valid under stats that are valid under data
*/
stats?: {
/**
* template sits inside a data point and gives the name of a template (key in the templates object) which serves as prototype for a given data point. The full data point is the merge of that template object with the data point, with the data point taking precedence in key collisions. This is a string because its value is the key in templates, not the template itself.
*/
template?: string;
/**
* A geohash is a base 32 encoded string which represents the combination of latitude and longitude into a single number which, in general, has a property such that points close in number are close on the globe.
*/
geohash?: string;
/**
* area is a data type which holds a reading of...area...
*/
area?: {

@@ -22,2 +57,5 @@ units?: string;

};
/**
* moisture is a data type which holds a reading of the amount of moisture in a crop. It is typically in units of % water (%H2O).
*/
moisture?: {

@@ -29,6 +67,24 @@ units?: string;

};
/**
* templates is a general key for holding a collection of data points indexed by random strings. Templates serve as prototypes for data points under "data" keys. If you have a piece of information that exists is all or almost all of the data points in a particular group of points, you can put the repeated things in templates and then just put the name of the template into the data point. The full data point is therefore a merge of the template object and the data point itself, with the data point overruling when there are any keys that exist in both objects. Schema is therefore identical to "data".
*/
templates?: {
/**
* data-point never appears as a word in any document or URL. It is a general type of object that can hold any type of data. It represents the type of object that can sit under "data" or "templates".
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^(?!(indexing|.*-index|_.*)).*$".
*/
[k: string]: {
/**
* template sits inside a data point and gives the name of a template (key in the templates object) which serves as prototype for a given data point. The full data point is the merge of that template object with the data point, with the data point taking precedence in key collisions. This is a string because its value is the key in templates, not the template itself.
*/
template?: string;
/**
* A geohash is a base 32 encoded string which represents the combination of latitude and longitude into a single number which, in general, has a property such that points close in number are close on the globe.
*/
geohash?: string;
/**
* area is a data type which holds a reading of...area...
*/
area?: {

@@ -38,2 +94,5 @@ units?: string;

};
/**
* moisture is a data type which holds a reading of the amount of moisture in a crop. It is typically in units of % water (%H2O).
*/
moisture?: {

@@ -46,6 +105,24 @@ units?: string;

};
/**
* geohash-data is much like "geohash-index" except that the geohash strings in geohashes are links to resources, whereas in geohash-data the geohash strings are actual data points representing data values for that geohash. This is used primarily in tiled-maps. The allowable values are the same as the values under "data"
*/
"geohash-data"?: {
/**
* data-point never appears as a word in any document or URL. It is a general type of object that can hold any type of data. It represents the type of object that can sit under "data" or "templates".
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^[0-9bcdefghjkmnpqrstuvwxyz]+$".
*/
[k: string]: {
/**
* template sits inside a data point and gives the name of a template (key in the templates object) which serves as prototype for a given data point. The full data point is the merge of that template object with the data point, with the data point taking precedence in key collisions. This is a string because its value is the key in templates, not the template itself.
*/
template?: string;
/**
* A geohash is a base 32 encoded string which represents the combination of latitude and longitude into a single number which, in general, has a property such that points close in number are close on the globe.
*/
geohash?: string;
/**
* area is a data type which holds a reading of...area...
*/
area: {

@@ -55,2 +132,5 @@ units?: string;

};
/**
* moisture is a data type which holds a reading of the amount of moisture in a crop. It is typically in units of % water (%H2O).
*/
moisture: {

@@ -63,6 +143,21 @@ units?: string;

};
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev?: number;
/**
* _meta is a link to the meta document for a resources.
*/
_meta?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;

@@ -89,2 +184,5 @@ [k: string]: unknown;

index?: "geohash-index";
/**
* A geohash is a base 32 encoded string which represents the combination of latitude and longitude into a single number which, in general, has a property such that points close in number are close on the globe.
*/
value?: string;

@@ -94,4 +192,16 @@ source?: string;

})[];
/**
* year-index splits things up by a 4-digit year
*/
"year-index"?: {
/**
* A link in OADA has at least an _id key and links one resource to another.
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^[0-9]{4}$".
*/
[k: string]: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;

@@ -101,12 +211,33 @@ [k: string]: unknown;

};
/**
* crop-index is an object that sits inside other objects and gives links to documents based on the name of a particular crop. It's known keys are also not considered part of the OADA vocabulary and therefore do not appear as vocabulary terms even though they will be in OADA URLs. This is standard for indexes.
*/
"crop-index"?: {
/**
* A link in OADA has at least an _id key and links one resource to another.
*/
corn?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
[k: string]: unknown;
};
/**
* A link in OADA has at least an _id key and links one resource to another.
*/
soybeans?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
[k: string]: unknown;
};
/**
* A link in OADA has at least an _id key and links one resource to another.
*/
wheat?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;

@@ -118,4 +249,16 @@ [k: string]: unknown;

"geohash-length-index"?: HttpsFormatsOpenagIoOadaIndexesGeohashLengthIndexSchemaJson;
/**
* geohash-index is a key that holds under it a set of geohash keys of a particular length. It is necessary because some geohashes may be legitimate words and therefore we need to place all the geohashes specifically under one key. This key usually sits at the top-level of a document reached via a geohash-length-index. It is intended to hold links to resources containing data that is grouped under a particular geohash.
*/
"geohash-index"?: {
/**
* A link in OADA has at least an _id key and links one resource to another.
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` "^[0-9bcdefghjkmnpqrstuvwxyz]+$".
*/
[k: string]: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;

@@ -127,3 +270,9 @@ [k: string]: unknown;

}
/**
* geohash-length-index is an indexing scheme that groups data by geohash string lengths. As with all indexes, it is not a document type itself and therefore cannot be linked to. It can also have a "datum" key which tells the earth model used for GPS.
*/
export interface HttpsFormatsOpenagIoOadaIndexesGeohashLengthIndexSchemaJson {
/**
* datum describes the model of the earth used for GPS coordinates. It can be from a set of known strings, or an EPSG model from http://spatialreference.org
*/
datum?: (string | {

@@ -160,4 +309,7 @@ type: "EPSG";

_id: string;
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;
[k: string]: unknown;
}

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/tiled-maps/moisture-map/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/tiled-maps/moisture-map/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/tiled-maps/moisture-map/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,18 +1,65 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/tiled-maps/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/tiled-maps/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/tiled-maps/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* tiled-maps is used for visualization and statistical calculations, and just generally for making arbitrary geospatial queries. A tiled map is generated from the as-harvested source data which is turned into a set of data tiles at various zoom levels. A mobile device or other map-based viewer can request documents with data combined to whatever zoom level it needs. In addition, each tile in the map contains statistical computations for all the underlying data represented at that zoom level. This means that if you want to take an average of an area that completely contains a particular tile, you only need to get the stats for that tile, rather than iterating over the underlying data. In reality, the value for a given "pixel" in a tile is just the stats object of the much smaller geohash that sits on that pixel.
*/
export interface V1Schema {
/**
* A link in OADA has at least an _id key and links one resource to another.
*/
"dry-yield-map"?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
[k: string]: unknown;
};
/**
* A link in OADA has at least an _id key and links one resource to another.
*/
"moisture-map"?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
[k: string]: unknown;
};
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev?: number;
/**
* _meta is a link to the meta document for a resources.
*/
_meta?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;

@@ -19,0 +66,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/tiled-maps/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/tiled-maps/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/tiled-maps/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,7 +1,35 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/tree/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/tree/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/tree/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* This interface was referenced by `V1Schema`'s JSON-Schema
* via the `definition` "tree".
*/
export declare type Tree = {
/**
* _type identifies the content-type of a resource in the OADA API and is required for all OADA-defined formats.
* It usually looks like application/vnd.oada.something.1+json.
*/
_type?: string;
/**
* _rev is the revision for a resource in the OADA API
*/
_rev?: number;

@@ -11,4 +39,7 @@ } & {

};
/**
* An object representation of an OADA "tree".
*/
export interface V1Schema {
[k: string]: Tree;
}

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/tree/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/tree/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/tree/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,5 +1,25 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/user/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/user/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/user/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* application/vnd.oada.user.1+json
*/
export interface V1Schema {

@@ -11,4 +31,7 @@ bookmarks?: Versioned;

_id: string;
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;
[k: string]: unknown;
}

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/user/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/user/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/user/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,15 +1,58 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/websockets/change.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/websockets/change.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/websockets/change.schema.json";
export declare function is(val: unknown): val is ChangeSchema;
export declare function assert(val: unknown): asserts val is ChangeSchema;
export default ChangeSchema;
/**
* Returns true if `val` is a @type `WebsocketChangeRepresentation`, false otherwise
*/
export declare function is(val: unknown): val is WebsocketChangeRepresentation;
/**
* Asserts that `val` is a @type `WebsocketChangeRepresentation`
*/
export declare function assert(val: unknown): asserts val is WebsocketChangeRepresentation;
export default WebsocketChangeRepresentation;
/**
* The id a WATCH request
*
* This interface was referenced by `WebsocketChangeRepresentation`'s JSON-Schema
* via the `definition` "id".
*/
export declare type Id = string;
export declare type PathLeftover = string;
export declare type HttpsFormatsOpenagIoOadaChangeSchemaJson = (HttpsFormatsOpenagIoOadaChangeV1SchemaJson | HttpsFormatsOpenagIoOadaChangeV2SchemaJson);
export declare type HttpsFormatsOpenagIoOadaChangeV2SchemaJson = ({
/**
* Wrapper type for any version of an OADA change document.
*/
export declare type HttpsFormatsOpenagIoOadaChangeSchemaJson = (HttpsFormatsOpenagIoOadaChangeV1SchemaJson | ArrayBasedChangeRepresentationOADAV2);
/**
* Array of the changes to this resource and its ancestor changes to descendant resources
*/
export declare type ArrayBasedChangeRepresentationOADAV2 = ({
/**
* Indicates the type of change that occurred.
*/
type: ("merge" | "delete");
path: PathLeftover;
/**
* JSON Pointer to the descendant of this resource which changed (or "" for this resource)
*/
path: string;
/**
* The `_id` of the resource which actually changed
*/
resource_id: string;
[k: string]: unknown;
} & ({
/**
* The contents of what changed
*/
body: {
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;

@@ -24,11 +67,33 @@ [k: string]: unknown;

}))[];
export interface ChangeSchema {
/**
* This is the format of an OADA websocket change notification (server to client)
*/
export interface WebsocketChangeRepresentation {
/**
* List of WATCH requests that should receive this change
*
* @minItems 1
*/
requestId: [Id, ...(Id)[]];
/**
* The `_id` of the resource which received the change
*/
resourceId: string;
path_leftover: ([PathLeftover, ...(PathLeftover)[]] | PathLeftover);
change: HttpsFormatsOpenagIoOadaChangeSchemaJson;
[k: string]: unknown;
}
/**
* Tree-based change representation (OADA v1)
*/
export interface HttpsFormatsOpenagIoOadaChangeV1SchemaJson {
/**
* Indicates the type of change that occurred.
*
* This interface was referenced by `HttpsFormatsOpenagIoOadaChangeV1SchemaJson`'s JSON-Schema
* via the `definition` "type".
*/
type: ("merge" | "delete");
/**
* The contents of what was changed.
*/
body: {

@@ -35,0 +100,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/websockets/change.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './change-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/websockets/change.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/websockets/change.schema.json';
/**
* Returns true if `val` is a @type `WebsocketChangeRepresentation`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `WebsocketChangeRepresentation`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,8 +1,35 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/websockets/request.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/websockets/request.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/websockets/request.schema.json";
/**
* Returns true if `val` is a @type `RequestSchema`, false otherwise
*/
export declare function is(val: unknown): val is RequestSchema;
/**
* Asserts that `val` is a @type `RequestSchema`
*/
export declare function assert(val: unknown): asserts val is RequestSchema;
export default RequestSchema;
/**
* This interface was referenced by `RequestSchema`'s JSON-Schema
* via the `definition` "id".
*/
export declare type Id = string;
/**
* This is the format of an OADA websocket request (client to server)
*/
export interface RequestSchema {
requestId: Id;
/**
* The representation of a path within an OADA server
*/
path: string;

@@ -14,2 +41,5 @@ method: (("head" | "get" | "put" | "post" | "delete") | ("watch" | "head-watch" | "get-watch" | "put-watch" | "post-watch" | "delete-watch" | "unwatch" | "ping"));

};
/**
* The optional data payload of the request
*/
data?: {

@@ -16,0 +46,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/websockets/request.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './request-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/websockets/request.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/websockets/request.schema.json';
/**
* Returns true if `val` is a @type `RequestSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `RequestSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,7 +1,34 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/websockets/response.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/websockets/response.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/websockets/response.schema.json";
/**
* Returns true if `val` is a @type `ResponseSchema`, false otherwise
*/
export declare function is(val: unknown): val is ResponseSchema;
/**
* Asserts that `val` is a @type `ResponseSchema`
*/
export declare function assert(val: unknown): asserts val is ResponseSchema;
export default ResponseSchema;
/**
* This interface was referenced by `ResponseSchema`'s JSON-Schema
* via the `definition` "id".
*/
export declare type Id = string;
/**
* This is the format of an OADA websocket response (server to client)
*/
export interface ResponseSchema {
/**
* Array of request IDs to which this response pertains. A single string is supported only for legacy purposes.
*/
requestId: ([Id, ...(Id)[]] | Id);

@@ -13,2 +40,5 @@ status: number;

};
/**
* _id identifies a resource in the OADA API.
*/
resourceId?: string;

@@ -18,2 +48,5 @@ resource?: {

};
/**
* The optional data payload of the request
*/
data?: {

@@ -20,0 +53,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/websockets/response.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './response-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/websockets/response.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/websockets/response.schema.json';
/**
* Returns true if `val` is a @type `ResponseSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `ResponseSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,5 +1,25 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/well-known/oada-configuration/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/well-known/oada-configuration/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/oada/well-known/oada-configuration/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* application/vnd.oada.well-known.oada-configuration.1+json
*/
export interface V1Schema {

@@ -10,4 +30,7 @@ oada_base_uri: string;

registration_endpoint: string;
/**
* @minItems 1
*/
token_endpoint_auth_signing_alg_values_supported: [string, ...(string)[]];
[k: string]: unknown;
}

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oada/well-known/oada-configuration/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oada/well-known/oada-configuration/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/oada/well-known/oada-configuration/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,20 +1,85 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oauth-dyn-reg/metadata.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oauth-dyn-reg/metadata.schema.json}
*/
export declare const $id = "https://formats.openag.io/oauth-dyn-reg/metadata.schema.json";
/**
* Returns true if `val` is a @type `ApplicationVndOadaOauthDnyRegRegisterResponse1Json`, false otherwise
*/
export declare function is(val: unknown): val is ApplicationVndOadaOauthDnyRegRegisterResponse1Json;
/**
* Asserts that `val` is a @type `ApplicationVndOadaOauthDnyRegRegisterResponse1Json`
*/
export declare function assert(val: unknown): asserts val is ApplicationVndOadaOauthDnyRegRegisterResponse1Json;
export default ApplicationVndOadaOauthDnyRegRegisterResponse1Json;
/**
* @see {@link https://datatracker.ietf.org/doc/html/rfc7591#section-2 Client Metadata}
*/
export interface ApplicationVndOadaOauthDnyRegRegisterResponse1Json {
client_id?: string;
client_id_issued_at?: number;
/**
* Array of redirection URI strings for use in redirect-based flows such as the authorization code and implicit flows. As required by Section 2 of OAuth 2.0 [RFC6749], clients using flows with redirection MUST register their redirection URI values. Authorization servers that support dynamic registration for redirect-based flows MUST implement support for this metadata value.
*
* @minItems 1
*/
redirect_uris?: [string, ...(string)[]];
/**
* String indicator of the requested authentication method for the token endpoint
*/
token_endpoint_auth_method?: (("none" | "client_secret_post" | "client_secret_basic" | "urn:ietf:params:oauth:client-assertion-type:jwt-bearer") & string);
/**
* Array of OAuth 2.0 grant type strings that the client can use at the token endpoint
*
* @minItems 1
*/
grant_types?: [(("authorization_code" | "implicit" | "password" | "client_credentials" | "refresh_token" | "urn:ietf:params:oauth:grant-type:jwt-bearer" | "urn:ietf:params:oauth:grant-type:saml2-bearer") & string), ...((("authorization_code" | "implicit" | "password" | "client_credentials" | "refresh_token" | "urn:ietf:params:oauth:grant-type:jwt-bearer" | "urn:ietf:params:oauth:grant-type:saml2-bearer") & string))[]];
/**
* Array of the OAuth 2.0 response type strings that the client can use at the authorization endpoint
*
* @minItems 1
*/
response_types?: [string, ...(string)[]];
/**
* Human-readable string name of the client to be presented to the end-user during authorization
*/
client_name?: string;
/**
* URL string of a web page providing information about the client
*/
client_url?: string;
/**
* URL string that references a logo for the client
*/
logo_uri?: string;
/**
* URL string that references a logo for the client
*/
scope?: string;
/**
* Array of strings representing ways to contact people responsible for this client, typically email addresses
*/
contacts?: string[];
/**
* URL string that points to a human-readable terms of service document for the client that describes a contractual relationship between the end-user and the client that the end-user accepts when authorizing the client
*/
tos_uri?: string;
/**
* URL string that points to a human-readable privacy policy document that describes how the deployment organization collects, uses, retains, and discloses personal data
*/
policy_uri?: string;
/**
* URL string referencing the client's JSON Web Key (JWK) Set [RFC7517] document, which contains the client's public keys
*/
jwks_uri?: string;
/**
* Client's JSON Web Key Set [RFC7517] document value, which contains the client's public keys
*/
jwks?: {

@@ -26,6 +91,15 @@ keys: {

};
/**
* A unique identifier string (e.g., a Universally Unique Identifier (UUID)) assigned by the client developer or software publisher used by registration endpoints to identify the client software to be dynamically registered
*/
software_id?: string;
/**
* A version identifier string for the client software identified by "software_id"
*/
software_version?: string;
/**
* @see {@link https://datatracker.ietf.org/doc/html/rfc7591#section-2.3 Software Statement}
*/
software_statement?: string;
[k: string]: unknown;
}

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oauth-dyn-reg/metadata.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './metadata-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oauth-dyn-reg/metadata.schema.json}
*/
export const $id = 'https://formats.openag.io/oauth-dyn-reg/metadata.schema.json';
/**
* Returns true if `val` is a @type `ApplicationVndOadaOauthDnyRegRegisterResponse1Json`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `ApplicationVndOadaOauthDnyRegRegisterResponse1Json`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,22 +1,90 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oauth-dyn-reg/response.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oauth-dyn-reg/response.schema.json}
*/
export declare const $id = "https://formats.openag.io/oauth-dyn-reg/response.schema.json";
/**
* Returns true if `val` is a @type `ApplicationVndOadaOauthDnyRegRegisterResponse1Json`, false otherwise
*/
export declare function is(val: unknown): val is ApplicationVndOadaOauthDnyRegRegisterResponse1Json;
/**
* Asserts that `val` is a @type `ApplicationVndOadaOauthDnyRegRegisterResponse1Json`
*/
export declare function assert(val: unknown): asserts val is ApplicationVndOadaOauthDnyRegRegisterResponse1Json;
export default ApplicationVndOadaOauthDnyRegRegisterResponse1Json;
/**
* @see {@link https://datatracker.ietf.org/doc/html/rfc7591#section-3.2.1 Client Information Response}
*/
export declare type ApplicationVndOadaOauthDnyRegRegisterResponse1Json = (ApplicationVndOadaOauthDnyRegRegisterResponse1Json1 & ApplicationVndOadaOauthDnyRegRegisterResponse1Json3);
export declare type ApplicationVndOadaOauthDnyRegRegisterResponse1Json1 = ApplicationVndOadaOauthDnyRegRegisterResponse1Json2;
/**
* @see {@link https://datatracker.ietf.org/doc/html/rfc7591#section-2 Client Metadata}
*/
export interface ApplicationVndOadaOauthDnyRegRegisterResponse1Json2 {
client_id?: string;
client_id_issued_at?: number;
/**
* Array of redirection URI strings for use in redirect-based flows such as the authorization code and implicit flows. As required by Section 2 of OAuth 2.0 [RFC6749], clients using flows with redirection MUST register their redirection URI values. Authorization servers that support dynamic registration for redirect-based flows MUST implement support for this metadata value.
*
* @minItems 1
*/
redirect_uris?: [string, ...(string)[]];
/**
* String indicator of the requested authentication method for the token endpoint
*/
token_endpoint_auth_method?: (("none" | "client_secret_post" | "client_secret_basic" | "urn:ietf:params:oauth:client-assertion-type:jwt-bearer") & string);
/**
* Array of OAuth 2.0 grant type strings that the client can use at the token endpoint
*
* @minItems 1
*/
grant_types?: [(("authorization_code" | "implicit" | "password" | "client_credentials" | "refresh_token" | "urn:ietf:params:oauth:grant-type:jwt-bearer" | "urn:ietf:params:oauth:grant-type:saml2-bearer") & string), ...((("authorization_code" | "implicit" | "password" | "client_credentials" | "refresh_token" | "urn:ietf:params:oauth:grant-type:jwt-bearer" | "urn:ietf:params:oauth:grant-type:saml2-bearer") & string))[]];
/**
* Array of the OAuth 2.0 response type strings that the client can use at the authorization endpoint
*
* @minItems 1
*/
response_types?: [string, ...(string)[]];
/**
* Human-readable string name of the client to be presented to the end-user during authorization
*/
client_name?: string;
/**
* URL string of a web page providing information about the client
*/
client_url?: string;
/**
* URL string that references a logo for the client
*/
logo_uri?: string;
/**
* URL string that references a logo for the client
*/
scope?: string;
/**
* Array of strings representing ways to contact people responsible for this client, typically email addresses
*/
contacts?: string[];
/**
* URL string that points to a human-readable terms of service document for the client that describes a contractual relationship between the end-user and the client that the end-user accepts when authorizing the client
*/
tos_uri?: string;
/**
* URL string that points to a human-readable privacy policy document that describes how the deployment organization collects, uses, retains, and discloses personal data
*/
policy_uri?: string;
/**
* URL string referencing the client's JSON Web Key (JWK) Set [RFC7517] document, which contains the client's public keys
*/
jwks_uri?: string;
/**
* Client's JSON Web Key Set [RFC7517] document value, which contains the client's public keys
*/
jwks?: {

@@ -28,4 +96,13 @@ keys: {

};
/**
* A unique identifier string (e.g., a Universally Unique Identifier (UUID)) assigned by the client developer or software publisher used by registration endpoints to identify the client software to be dynamically registered
*/
software_id?: string;
/**
* A version identifier string for the client software identified by "software_id"
*/
software_version?: string;
/**
* @see {@link https://datatracker.ietf.org/doc/html/rfc7591#section-2.3 Software Statement}
*/
software_statement?: string;

@@ -35,7 +112,19 @@ [k: string]: unknown;

export interface ApplicationVndOadaOauthDnyRegRegisterResponse1Json3 {
/**
* OAuth 2.0 client identifier string
*/
client_id: string;
/**
* OAuth 2.0 client secret string
*/
client_secret?: string;
/**
* Time at which the client identifier was issued. The time is represented as the number of seconds from 1970-01-01T00:00:00Z as measured in UTC until the date/time of issuance.
*/
client_id_issued_at?: number;
/**
* Time at which the client secret will expire or 0 if it will not expire. The time is represented as the number of seconds from 1970-01-01T00:00:00Z as measured in UTC until the date/time of expiration.
*/
client_secret_expires_at?: number;
[k: string]: unknown;
}

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /oauth-dyn-reg/response.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './response-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/oauth-dyn-reg/response.schema.json}
*/
export const $id = 'https://formats.openag.io/oauth-dyn-reg/response.schema.json';
/**
* Returns true if `val` is a @type `ApplicationVndOadaOauthDnyRegRegisterResponse1Json`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `ApplicationVndOadaOauthDnyRegRegisterResponse1Json`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

6

package.json
{
"name": "@oada/types",
"version": "3.0.6",
"version": "3.1.0",
"description": "TypeScript type definitions for OADA formats",

@@ -89,5 +89,5 @@ "keywords": [

"@types/mkdirp": "^1.0.2",
"@types/node": "^14.18.21",
"@types/node": "^14.18.22",
"ava": "4.0.0-rc.1",
"c8": "^7.11.3",
"c8": "^7.12.0",
"clone-deep": "^4.0.1",

@@ -94,0 +94,0 @@ "debug": "^4.3.4",

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/audit/generic/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/audit/generic/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/trellis/audit/generic/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/audit/globalgap/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/audit/globalgap/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/trellis/audit/globalgap/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,81 +1,278 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/certificate/generic/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/certificate/generic/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/trellis/certificate/generic/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* A PrimusGFS audit is like a generic audit, but more restrictive. Certain keys are marked as "required" here that should always exist if you have a PrimusGFS audit.
*/
export interface V1Schema {
/**
* the set of descriptors for identifying the current audit scheme for this document.
*/
scheme?: {
/**
* name is a string, typically the name of the object the key appears in.
*/
name: "PrimusGFS";
/**
* version is a string which describes the version of the schema used for the current audit.
*/
version: string;
/**
* option is used as an indicator of type of audit for a given audit version. Introduced for GlobalGAP audit, also present in CanadaGAP audit.
*/
option?: string;
/**
* If an audit covers multiple scheme options, you can make an array of them.
*/
options?: string;
[k: string]: unknown;
};
/**
* specifies the credentials of the organization is performing the audit along with the specific individual performing the audit.
*/
certifying_body?: {
/**
* name is a string, typically the name of the object the key appears in.
*/
name: string;
/**
* "auditor" is the person performing the audit for the certifying body
*/
auditor?: {
/**
* conflict_of_interest indicates if a particular person (auditor) has a known conflict of interest for creating a certification for an organization
*/
conflict_of_interest?: boolean;
/**
* Introduced for CanadaGAP, this is the auditor's attestation of how many times they have audited this operation before.
*/
number_prior_audits_this_organization?: string;
/**
* Introduced for CanadaGAP, this is the auditor's attestation of how many consecutive times they have audited this operation, excluding the current audit.
*/
number_prior_consecutive_audits_this_organization?: string;
[k: string]: unknown;
};
/**
* Introduced for CanadaGAP audit. Represents the person who reviewed the audit within the certifiation body.
*/
reviewer?: {
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
/**
* email address for an organization or contact
*/
email?: string;
/**
* location describes the postal address used to identify where something is.
*/
location?: {
/**
* postal_code is the postal code used in a postal address
*/
postal_code?: string;
/**
* The street name and mailbox number of a postal address.
*/
street_address?: string;
/**
* The name of the city, usually in a postal address.
*/
city?: string;
/**
* The name of the state or major region, usually in a postal address.
*/
state?: string;
/**
* The name of the country, usually in a postal address.
*/
country?: string;
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
[k: string]: unknown;
};
/**
* phone describes the phone number with country code and area code.
*/
phone?: string;
/**
* fax number for a person or organization
*/
fax?: string;
[k: string]: unknown;
};
/**
* Introduced for CanadaGAP. Indicates when the review of the audit was performed.
*/
review_date?: string;
[k: string]: unknown;
};
/**
* organization contains information about the organization under audit.
*/
organization?: {
/**
* organizationid identifies the organization which is the subject of the audit/certification.
*/
organizationid: {
/**
* An id is a string which should be reasonably unique to represent the object it belongs to.
*/
id?: string;
/**
* An id_source is a representation of who assigned the id: i.e. who do you go ask to figure out what a particular ID goes to.
*/
id_source?: string;
[k: string]: unknown;
};
/**
* A Global Location Number, assigned by GS1. Usually exists in "organization".
*/
GLN?: string;
/**
* name is a string, typically the name of the object the key appears in.
*/
name: string;
/**
* contacts is a list of contact people for an organization.
*/
contacts?: {
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
/**
* email address for an organization or contact
*/
email?: string;
/**
* location describes the postal address used to identify where something is.
*/
location?: {
/**
* postal_code is the postal code used in a postal address
*/
postal_code?: string;
/**
* The street name and mailbox number of a postal address.
*/
street_address?: string;
/**
* The name of the city, usually in a postal address.
*/
city?: string;
/**
* The name of the state or major region, usually in a postal address.
*/
state?: string;
/**
* The name of the country, usually in a postal address.
*/
country?: string;
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
[k: string]: unknown;
};
/**
* phone describes the phone number with country code and area code.
*/
phone?: string;
/**
* fax number for a person or organization
*/
fax?: string;
/**
* Indicates if this particular contact person has some special role in the organization such as "Food Safety Program Coordinator" or "Recall Coordinator." Introduced for CanadaGAP Audit
*/
contact_type?: string;
/**
* Allows one person to be multiple contact types. Introduced for CanadaGAP audits.
*/
contact_types?: string[];
[k: string]: unknown;
}[];
/**
* location describes the postal address used to identify where something is.
*/
location?: {
/**
* postal_code is the postal code used in a postal address
*/
postal_code?: string;
/**
* The street name and mailbox number of a postal address.
*/
street_address?: string;
/**
* The name of the city, usually in a postal address.
*/
city?: string;
/**
* The name of the state or major region, usually in a postal address.
*/
state?: string;
/**
* The name of the country, usually in a postal address.
*/
country?: string;
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
[k: string]: unknown;
};
/**
* phone describes the phone number with country code and area code.
*/
phone?: string;
/**
* fax number for a person or organization
*/
fax?: string;
/**
* orgchart is a tricky one. It is intended to represent the reporting structure within an organization. Introduced for the CanadaGAP audit. It is a flat object with keys that represent the "id" of a person. Each value in this outer object is a single person, and may have name, job_title, and job_description. If this person reports to someone else, the reports_to key should be included in their object as well (an array of all the people they report to), thus creating a directed graph of relationships.
*/
orgchart?: {
/**
* An orgchart_person has all the possible properties of a person, but also can have job_title, job_description, and reports_to.
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` ".*".
*/
[k: string]: {
/**
* The title of this person within their organization.
*/
job_title?: string;
/**
* A description of what this person does or is responsible for within an organization.
*/
job_description?: string;
/**
* An array of all the ID strings of the people to whom this person reports
*/
reports_to?: string[];

@@ -87,33 +284,117 @@ [k: string]: unknown;

};
/**
* scope describes the breadth of the audit in terms of operations, personnel, products, etc.
*/
scope?: {
/**
* a string description of an object, usually longer than "name"
*/
description: string;
/**
* notification describes whether the target of the audit was notified in advance that this audit would take place. "announced" or "unannounced".
*/
notification?: string;
/**
* an object describing the operation that is under audit. For GlobalGAP, this is just an object with a name. For PrimusGFS, this is holds description
*/
operation: {
/**
* type of a given operation
*/
operation_type?: string;
/**
* operator is used to detail the information about the crew or on-site operators for a given operation.
*/
operator?: {
/**
* contacts is a list of contact people for an organization.
*/
contacts?: {
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
/**
* email address for an organization or contact
*/
email?: string;
/**
* location describes the postal address used to identify where something is.
*/
location?: {
/**
* postal_code is the postal code used in a postal address
*/
postal_code?: string;
/**
* The street name and mailbox number of a postal address.
*/
street_address?: string;
/**
* The name of the city, usually in a postal address.
*/
city?: string;
/**
* The name of the state or major region, usually in a postal address.
*/
state?: string;
/**
* The name of the country, usually in a postal address.
*/
country?: string;
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
[k: string]: unknown;
};
/**
* phone describes the phone number with country code and area code.
*/
phone?: string;
/**
* fax number for a person or organization
*/
fax?: string;
/**
* Indicates if this particular contact person has some special role in the organization such as "Food Safety Program Coordinator" or "Recall Coordinator." Introduced for CanadaGAP Audit
*/
contact_type?: string;
/**
* Allows one person to be multiple contact types. Introduced for CanadaGAP audits.
*/
contact_types?: string[];
[k: string]: unknown;
}[];
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
/**
* location describes the postal address used to identify where something is.
*/
location?: {
/**
* postal_code is the postal code used in a postal address
*/
postal_code?: string;
/**
* The street name and mailbox number of a postal address.
*/
street_address?: string;
/**
* The name of the city, usually in a postal address.
*/
city?: string;
/**
* The name of the state or major region, usually in a postal address.
*/
state?: string;
/**
* The name of the country, usually in a postal address.
*/
country?: string;
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;

@@ -124,32 +405,101 @@ [k: string]: unknown;

};
/**
* shipper is the parent organization who will be responsible for moving the product(s) to their next destination.
*/
shipper?: {
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
[k: string]: unknown;
};
/**
* location describes the postal address used to identify where something is.
*/
location?: {
/**
* postal_code is the postal code used in a postal address
*/
postal_code?: string;
/**
* The street name and mailbox number of a postal address.
*/
street_address?: string;
/**
* The name of the city, usually in a postal address.
*/
city?: string;
/**
* The name of the state or major region, usually in a postal address.
*/
state?: string;
/**
* The name of the country, usually in a postal address.
*/
country?: string;
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
[k: string]: unknown;
};
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
[k: string]: unknown;
};
/**
* The set of products evaluated in the audit.
*/
products_observed: {
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
/**
* organic is a true/false value indicating if a particular product is considered organic or not.
*/
organic?: boolean;
/**
* area describes a quantity of area such as acres or hectares.
*/
area?: {
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
[k: string]: unknown;
};
/**
* location describes the postal address used to identify where something is.
*/
location?: {
/**
* postal_code is the postal code used in a postal address
*/
postal_code?: string;
/**
* The street name and mailbox number of a postal address.
*/
street_address?: string;
/**
* The name of the city, usually in a postal address.
*/
city?: string;
/**
* The name of the state or major region, usually in a postal address.
*/
state?: string;
/**
* The name of the country, usually in a postal address.
*/
country?: string;
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;

@@ -160,16 +510,55 @@ [k: string]: unknown;

}[];
/**
* array of products not under evaulation that may be similar to those observed in the audit.
*/
similar_products_not_observed?: {
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
/**
* organic is a true/false value indicating if a particular product is considered organic or not.
*/
organic?: boolean;
/**
* area describes a quantity of area such as acres or hectares.
*/
area?: {
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
[k: string]: unknown;
};
/**
* location describes the postal address used to identify where something is.
*/
location?: {
/**
* postal_code is the postal code used in a postal address
*/
postal_code?: string;
/**
* The street name and mailbox number of a postal address.
*/
street_address?: string;
/**
* The name of the city, usually in a postal address.
*/
city?: string;
/**
* The name of the state or major region, usually in a postal address.
*/
state?: string;
/**
* The name of the country, usually in a postal address.
*/
country?: string;
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;

@@ -180,16 +569,55 @@ [k: string]: unknown;

}[];
/**
* array of products that had been applied for but are not under evaulation in this particular audit.
*/
products_applied_for_but_not_observed?: {
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
/**
* organic is a true/false value indicating if a particular product is considered organic or not.
*/
organic?: boolean;
/**
* area describes a quantity of area such as acres or hectares.
*/
area?: {
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
[k: string]: unknown;
};
/**
* location describes the postal address used to identify where something is.
*/
location?: {
/**
* postal_code is the postal code used in a postal address
*/
postal_code?: string;
/**
* The street name and mailbox number of a postal address.
*/
street_address?: string;
/**
* The name of the city, usually in a postal address.
*/
city?: string;
/**
* The name of the state or major region, usually in a postal address.
*/
state?: string;
/**
* The name of the country, usually in a postal address.
*/
country?: string;
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;

@@ -200,19 +628,67 @@ [k: string]: unknown;

}[];
/**
* production_sites is an array of object, each of which are a production site.
*/
production_sites?: {
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
/**
* An id is a string which should be reasonably unique to represent the object it belongs to.
*/
id?: string;
/**
* The set of products evaluated in the audit.
*/
products_observed?: {
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
/**
* organic is a true/false value indicating if a particular product is considered organic or not.
*/
organic?: boolean;
/**
* area describes a quantity of area such as acres or hectares.
*/
area?: {
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
[k: string]: unknown;
};
/**
* location describes the postal address used to identify where something is.
*/
location?: {
/**
* postal_code is the postal code used in a postal address
*/
postal_code?: string;
/**
* The street name and mailbox number of a postal address.
*/
street_address?: string;
/**
* The name of the city, usually in a postal address.
*/
city?: string;
/**
* The name of the state or major region, usually in a postal address.
*/
state?: string;
/**
* The name of the country, usually in a postal address.
*/
country?: string;
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;

@@ -225,13 +701,43 @@ [k: string]: unknown;

}[];
/**
* parallel_production is defined for GlobalGAP as to whether the site is growing other things in addition to those under audit.
*/
parallel_production?: boolean;
/**
* parallel_ownership is defined for GlobalGAP as to whether the site is growing things owned by someone other than the party under audit
*/
parallel_ownership?: boolean;
/**
* Introduced for CanadaGAP, this holds a free-form string describing which types of sites this audit applies to.
*/
applicable_sites_description?: string;
[k: string]: unknown;
};
/**
* describes conditions when the audit took place. Date audit started/finished, etc.
*/
conditions_during_audit?: {
/**
* the period (beginning and ending times) of the FSMS portion of the audit.
*/
FSMS_observed_date: {
/**
* start describes the date and time when the audit started
*/
start: string;
/**
* end describes the date and time when the audit was completed.
*/
end: string;
/**
* duration describes how long an audit took to perform. Introduced for GlobalGAP audits since that is how they specify it instead of start/end.
*/
duration?: {
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;

@@ -242,7 +748,25 @@ [k: string]: unknown;

};
/**
* the period (beginning and ending times) of the walk-through/field operations portion of the audit.
*/
operation_observed_date: {
/**
* start describes the date and time when the audit started
*/
start: string;
/**
* end describes the date and time when the audit was completed.
*/
end: string;
/**
* duration describes how long an audit took to perform. Introduced for GlobalGAP audits since that is how they specify it instead of start/end.
*/
duration?: {
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;

@@ -255,2 +779,5 @@ [k: string]: unknown;

};
/**
* certificate_validity_period denotes the period of time (beginning date to end date) through which the audit is valid.
*/
certificate_validity_period?: {

@@ -261,62 +788,191 @@ start: string;

};
/**
* certificationid is an id which spans all documents for a single certification process. i.e. the audit, corrective actions, and final certificate all share the same certificationid
*/
certificationid?: {
/**
* An id is a string which should be reasonably unique to represent the object it belongs to.
*/
id?: string;
/**
* An id_source is a representation of who assigned the id: i.e. who do you go ask to figure out what a particular ID goes to.
*/
id_source?: string;
[k: string]: unknown;
};
/**
* score presents the quanititative performance of a control point, section, or overall audit.
*/
score?: {
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* A prelimiary score for an audit
*/
preliminary?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* The final score for an audit
*/
final?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
/**
* written description indicating the level of satisfaction of the control point. E.g., "Total Compliance", "Minor Deficiency", or simply "Pass"/"Fail".
*/
compliance?: string;
/**
* GlobalGAP has particular levels of major_musts and minor_must that are entirely unique to GlobalGAP, hence the name.
*/
globalgap_levels?: {
/**
* The summary score for all major-must level questions
*/
major_musts?: ({
/**
* yes is used to represent the summary count of "yes" answers in the audit
*/
yes?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* no is used to represent the summary count of "no" answers in the audit
*/
no?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* n_a is used to represent the summary count of "Not Applicable" answers in the audit
*/
n_a?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* GlobalGAP has an overall true/false compliance for an audit score
*/
is_compliant?: boolean;
[k: string]: unknown;
} | {
/**
* major_must is used to represent the summary count of "Major Must" answers in the audit
*/
major_must?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* major_must is used to represent the summary count of "Minor Must" answers in the audit
*/
minor_must?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* major_must is used to represent the summary count of "Minor Must" answers in the audit
*/
recommended?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;

@@ -327,39 +983,117 @@ [k: string]: unknown;

});
/**
* The summary score for all minor-must level questions
*/
minor_musts?: ({
/**
* yes is used to represent the summary count of "yes" answers in the audit
*/
yes?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* no is used to represent the summary count of "no" answers in the audit
*/
no?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* n_a is used to represent the summary count of "Not Applicable" answers in the audit
*/
n_a?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* GlobalGAP has an overall true/false compliance for an audit score
*/
is_compliant?: boolean;
[k: string]: unknown;
} | {
/**
* major_must is used to represent the summary count of "Major Must" answers in the audit
*/
major_must?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* major_must is used to represent the summary count of "Minor Must" answers in the audit
*/
minor_must?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* major_must is used to represent the summary count of "Minor Must" answers in the audit
*/
recommended?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;

@@ -372,59 +1106,185 @@ [k: string]: unknown;

};
/**
* If the audit is scored as autofail, this key should be set to true in the score section. Otherwise it can either be missing or set to false. Specific to CanadaGAP
*/
canadagap_isautofail?: boolean;
/**
* Introduced for CanadaGAP. Represents the sub totals for various combinations of sections as specified by CanadaGAP, as well as the weighting_factor for that combination of sections toward the overall score. This is needed because the subtotals do not perfectly match the sections, so it exists here as a separate key. Other audits should just put the subtotal under the section that it goes with.
*/
subtotals?: {
/**
* Do not use score_core in an audit schema. It exists to avoid recursive definition of score and subtotals.
*/
score?: {
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* A prelimiary score for an audit
*/
preliminary?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* The final score for an audit
*/
final?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
/**
* written description indicating the level of satisfaction of the control point. E.g., "Total Compliance", "Minor Deficiency", or simply "Pass"/"Fail".
*/
compliance?: string;
/**
* GlobalGAP has particular levels of major_musts and minor_must that are entirely unique to GlobalGAP, hence the name.
*/
globalgap_levels?: {
/**
* The summary score for all major-must level questions
*/
major_musts?: ({
/**
* yes is used to represent the summary count of "yes" answers in the audit
*/
yes?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* no is used to represent the summary count of "no" answers in the audit
*/
no?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* n_a is used to represent the summary count of "Not Applicable" answers in the audit
*/
n_a?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* GlobalGAP has an overall true/false compliance for an audit score
*/
is_compliant?: boolean;
[k: string]: unknown;
} | {
/**
* major_must is used to represent the summary count of "Major Must" answers in the audit
*/
major_must?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* major_must is used to represent the summary count of "Minor Must" answers in the audit
*/
minor_must?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* major_must is used to represent the summary count of "Minor Must" answers in the audit
*/
recommended?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;

@@ -435,39 +1295,117 @@ [k: string]: unknown;

});
/**
* The summary score for all minor-must level questions
*/
minor_musts?: ({
/**
* yes is used to represent the summary count of "yes" answers in the audit
*/
yes?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* no is used to represent the summary count of "no" answers in the audit
*/
no?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* n_a is used to represent the summary count of "Not Applicable" answers in the audit
*/
n_a?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* GlobalGAP has an overall true/false compliance for an audit score
*/
is_compliant?: boolean;
[k: string]: unknown;
} | {
/**
* major_must is used to represent the summary count of "Major Must" answers in the audit
*/
major_must?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* major_must is used to represent the summary count of "Minor Must" answers in the audit
*/
minor_must?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* major_must is used to represent the summary count of "Minor Must" answers in the audit
*/
recommended?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;

@@ -480,7 +1418,19 @@ [k: string]: unknown;

};
/**
* If the audit is scored as autofail, this key should be set to true in the score section. Otherwise it can either be missing or set to false. Specific to CanadaGAP
*/
canadagap_isautofail?: boolean;
[k: string]: unknown;
};
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
/**
* An array of section id strings that belong to a subtotal or a sub-section.
*/
sectionids?: string[];
/**
* Introduced for CanadaGAP. Represents the weight used to combine sections into a total score.
*/
weighting_factor?: string;

@@ -491,9 +1441,33 @@ [k: string]: unknown;

};
/**
* Introduced for smithfield-foodlogiq integration
*/
holder?: {
/**
* Certificate holder name
*/
name?: string;
/**
* location describes the postal address used to identify where something is.
*/
location?: {
/**
* postal_code is the postal code used in a postal address
*/
postal_code?: string;
/**
* The street name and mailbox number of a postal address.
*/
street_address?: string;
/**
* The name of the city, usually in a postal address.
*/
city?: string;
/**
* The name of the state or major region, usually in a postal address.
*/
state?: string;
/**
* The name of the country, usually in a postal address.
*/
country?: string;

@@ -504,6 +1478,21 @@ [k: string]: unknown;

};
/**
* Introduced for smithfield-foodlogiq integration
*/
policies?: {
/**
* The information describing a COI policy
*/
[k: string]: {
/**
* policy number associated with the listed certificate
*/
number?: string;
/**
* The date the policy becomes active
*/
effective_date?: string;
/**
* The date the policy expires
*/
expire_date?: string;

@@ -513,6 +1502,21 @@ [k: string]: unknown;

};
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev?: number;
/**
* _meta is a link to the meta document for a resources.
*/
_meta?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;

@@ -519,0 +1523,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/certificate/generic/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/certificate/generic/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/trellis/certificate/generic/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,81 +1,278 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/certificate/primusgfs/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/certificate/primusgfs/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/trellis/certificate/primusgfs/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* A PrimusGFS audit is like a generic audit, but more restrictive. Certain keys are marked as "required" here that should always exist if you have a PrimusGFS audit.
*/
export interface V1Schema {
/**
* the set of descriptors for identifying the current audit scheme for this document.
*/
scheme?: {
/**
* name is a string, typically the name of the object the key appears in.
*/
name: "PrimusGFS";
/**
* version is a string which describes the version of the schema used for the current audit.
*/
version: string;
/**
* option is used as an indicator of type of audit for a given audit version. Introduced for GlobalGAP audit, also present in CanadaGAP audit.
*/
option?: string;
/**
* If an audit covers multiple scheme options, you can make an array of them.
*/
options?: string;
[k: string]: unknown;
};
/**
* specifies the credentials of the organization is performing the audit along with the specific individual performing the audit.
*/
certifying_body?: {
/**
* name is a string, typically the name of the object the key appears in.
*/
name: string;
/**
* "auditor" is the person performing the audit for the certifying body
*/
auditor: {
/**
* conflict_of_interest indicates if a particular person (auditor) has a known conflict of interest for creating a certification for an organization
*/
conflict_of_interest?: boolean;
/**
* Introduced for CanadaGAP, this is the auditor's attestation of how many times they have audited this operation before.
*/
number_prior_audits_this_organization?: string;
/**
* Introduced for CanadaGAP, this is the auditor's attestation of how many consecutive times they have audited this operation, excluding the current audit.
*/
number_prior_consecutive_audits_this_organization?: string;
[k: string]: unknown;
};
/**
* Introduced for CanadaGAP audit. Represents the person who reviewed the audit within the certifiation body.
*/
reviewer?: {
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
/**
* email address for an organization or contact
*/
email?: string;
/**
* location describes the postal address used to identify where something is.
*/
location?: {
/**
* postal_code is the postal code used in a postal address
*/
postal_code?: string;
/**
* The street name and mailbox number of a postal address.
*/
street_address?: string;
/**
* The name of the city, usually in a postal address.
*/
city?: string;
/**
* The name of the state or major region, usually in a postal address.
*/
state?: string;
/**
* The name of the country, usually in a postal address.
*/
country?: string;
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
[k: string]: unknown;
};
/**
* phone describes the phone number with country code and area code.
*/
phone?: string;
/**
* fax number for a person or organization
*/
fax?: string;
[k: string]: unknown;
};
/**
* Introduced for CanadaGAP. Indicates when the review of the audit was performed.
*/
review_date?: string;
[k: string]: unknown;
};
/**
* organization contains information about the organization under audit.
*/
organization?: {
/**
* organizationid identifies the organization which is the subject of the audit/certification.
*/
organizationid: {
/**
* An id is a string which should be reasonably unique to represent the object it belongs to.
*/
id?: string;
/**
* An id_source is a representation of who assigned the id: i.e. who do you go ask to figure out what a particular ID goes to.
*/
id_source?: string;
[k: string]: unknown;
};
/**
* A Global Location Number, assigned by GS1. Usually exists in "organization".
*/
GLN?: string;
/**
* name is a string, typically the name of the object the key appears in.
*/
name: string;
/**
* contacts is a list of contact people for an organization.
*/
contacts?: {
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
/**
* email address for an organization or contact
*/
email?: string;
/**
* location describes the postal address used to identify where something is.
*/
location?: {
/**
* postal_code is the postal code used in a postal address
*/
postal_code?: string;
/**
* The street name and mailbox number of a postal address.
*/
street_address?: string;
/**
* The name of the city, usually in a postal address.
*/
city?: string;
/**
* The name of the state or major region, usually in a postal address.
*/
state?: string;
/**
* The name of the country, usually in a postal address.
*/
country?: string;
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
[k: string]: unknown;
};
/**
* phone describes the phone number with country code and area code.
*/
phone?: string;
/**
* fax number for a person or organization
*/
fax?: string;
/**
* Indicates if this particular contact person has some special role in the organization such as "Food Safety Program Coordinator" or "Recall Coordinator." Introduced for CanadaGAP Audit
*/
contact_type?: string;
/**
* Allows one person to be multiple contact types. Introduced for CanadaGAP audits.
*/
contact_types?: string[];
[k: string]: unknown;
}[];
/**
* location describes the postal address used to identify where something is.
*/
location?: {
/**
* postal_code is the postal code used in a postal address
*/
postal_code?: string;
/**
* The street name and mailbox number of a postal address.
*/
street_address?: string;
/**
* The name of the city, usually in a postal address.
*/
city?: string;
/**
* The name of the state or major region, usually in a postal address.
*/
state?: string;
/**
* The name of the country, usually in a postal address.
*/
country?: string;
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
[k: string]: unknown;
};
/**
* phone describes the phone number with country code and area code.
*/
phone?: string;
/**
* fax number for a person or organization
*/
fax?: string;
/**
* orgchart is a tricky one. It is intended to represent the reporting structure within an organization. Introduced for the CanadaGAP audit. It is a flat object with keys that represent the "id" of a person. Each value in this outer object is a single person, and may have name, job_title, and job_description. If this person reports to someone else, the reports_to key should be included in their object as well (an array of all the people they report to), thus creating a directed graph of relationships.
*/
orgchart?: {
/**
* An orgchart_person has all the possible properties of a person, but also can have job_title, job_description, and reports_to.
*
* This interface was referenced by `undefined`'s JSON-Schema definition
* via the `patternProperty` ".*".
*/
[k: string]: {
/**
* The title of this person within their organization.
*/
job_title?: string;
/**
* A description of what this person does or is responsible for within an organization.
*/
job_description?: string;
/**
* An array of all the ID strings of the people to whom this person reports
*/
reports_to?: string[];

@@ -87,33 +284,117 @@ [k: string]: unknown;

};
/**
* scope describes the breadth of the audit in terms of operations, personnel, products, etc.
*/
scope?: {
/**
* a string description of an object, usually longer than "name"
*/
description: string;
/**
* notification describes whether the target of the audit was notified in advance that this audit would take place. "announced" or "unannounced".
*/
notification?: string;
/**
* an object describing the operation that is under audit. For GlobalGAP, this is just an object with a name. For PrimusGFS, this is holds description
*/
operation: {
/**
* type of a given operation
*/
operation_type?: string;
/**
* operator is used to detail the information about the crew or on-site operators for a given operation.
*/
operator?: {
/**
* contacts is a list of contact people for an organization.
*/
contacts?: {
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
/**
* email address for an organization or contact
*/
email?: string;
/**
* location describes the postal address used to identify where something is.
*/
location?: {
/**
* postal_code is the postal code used in a postal address
*/
postal_code?: string;
/**
* The street name and mailbox number of a postal address.
*/
street_address?: string;
/**
* The name of the city, usually in a postal address.
*/
city?: string;
/**
* The name of the state or major region, usually in a postal address.
*/
state?: string;
/**
* The name of the country, usually in a postal address.
*/
country?: string;
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
[k: string]: unknown;
};
/**
* phone describes the phone number with country code and area code.
*/
phone?: string;
/**
* fax number for a person or organization
*/
fax?: string;
/**
* Indicates if this particular contact person has some special role in the organization such as "Food Safety Program Coordinator" or "Recall Coordinator." Introduced for CanadaGAP Audit
*/
contact_type?: string;
/**
* Allows one person to be multiple contact types. Introduced for CanadaGAP audits.
*/
contact_types?: string[];
[k: string]: unknown;
}[];
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
/**
* location describes the postal address used to identify where something is.
*/
location?: {
/**
* postal_code is the postal code used in a postal address
*/
postal_code?: string;
/**
* The street name and mailbox number of a postal address.
*/
street_address?: string;
/**
* The name of the city, usually in a postal address.
*/
city?: string;
/**
* The name of the state or major region, usually in a postal address.
*/
state?: string;
/**
* The name of the country, usually in a postal address.
*/
country?: string;
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;

@@ -124,32 +405,101 @@ [k: string]: unknown;

};
/**
* shipper is the parent organization who will be responsible for moving the product(s) to their next destination.
*/
shipper?: {
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
[k: string]: unknown;
};
/**
* location describes the postal address used to identify where something is.
*/
location?: {
/**
* postal_code is the postal code used in a postal address
*/
postal_code?: string;
/**
* The street name and mailbox number of a postal address.
*/
street_address?: string;
/**
* The name of the city, usually in a postal address.
*/
city?: string;
/**
* The name of the state or major region, usually in a postal address.
*/
state?: string;
/**
* The name of the country, usually in a postal address.
*/
country?: string;
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
[k: string]: unknown;
};
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
[k: string]: unknown;
};
/**
* The set of products evaluated in the audit.
*/
products_observed: {
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
/**
* organic is a true/false value indicating if a particular product is considered organic or not.
*/
organic?: boolean;
/**
* area describes a quantity of area such as acres or hectares.
*/
area?: {
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
[k: string]: unknown;
};
/**
* location describes the postal address used to identify where something is.
*/
location?: {
/**
* postal_code is the postal code used in a postal address
*/
postal_code?: string;
/**
* The street name and mailbox number of a postal address.
*/
street_address?: string;
/**
* The name of the city, usually in a postal address.
*/
city?: string;
/**
* The name of the state or major region, usually in a postal address.
*/
state?: string;
/**
* The name of the country, usually in a postal address.
*/
country?: string;
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;

@@ -160,16 +510,55 @@ [k: string]: unknown;

}[];
/**
* array of products not under evaulation that may be similar to those observed in the audit.
*/
similar_products_not_observed?: {
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
/**
* organic is a true/false value indicating if a particular product is considered organic or not.
*/
organic?: boolean;
/**
* area describes a quantity of area such as acres or hectares.
*/
area?: {
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
[k: string]: unknown;
};
/**
* location describes the postal address used to identify where something is.
*/
location?: {
/**
* postal_code is the postal code used in a postal address
*/
postal_code?: string;
/**
* The street name and mailbox number of a postal address.
*/
street_address?: string;
/**
* The name of the city, usually in a postal address.
*/
city?: string;
/**
* The name of the state or major region, usually in a postal address.
*/
state?: string;
/**
* The name of the country, usually in a postal address.
*/
country?: string;
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;

@@ -180,16 +569,55 @@ [k: string]: unknown;

}[];
/**
* array of products that had been applied for but are not under evaulation in this particular audit.
*/
products_applied_for_but_not_observed?: {
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
/**
* organic is a true/false value indicating if a particular product is considered organic or not.
*/
organic?: boolean;
/**
* area describes a quantity of area such as acres or hectares.
*/
area?: {
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
[k: string]: unknown;
};
/**
* location describes the postal address used to identify where something is.
*/
location?: {
/**
* postal_code is the postal code used in a postal address
*/
postal_code?: string;
/**
* The street name and mailbox number of a postal address.
*/
street_address?: string;
/**
* The name of the city, usually in a postal address.
*/
city?: string;
/**
* The name of the state or major region, usually in a postal address.
*/
state?: string;
/**
* The name of the country, usually in a postal address.
*/
country?: string;
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;

@@ -200,19 +628,67 @@ [k: string]: unknown;

}[];
/**
* production_sites is an array of object, each of which are a production site.
*/
production_sites?: {
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
/**
* An id is a string which should be reasonably unique to represent the object it belongs to.
*/
id?: string;
/**
* The set of products evaluated in the audit.
*/
products_observed?: {
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
/**
* organic is a true/false value indicating if a particular product is considered organic or not.
*/
organic?: boolean;
/**
* area describes a quantity of area such as acres or hectares.
*/
area?: {
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
[k: string]: unknown;
};
/**
* location describes the postal address used to identify where something is.
*/
location?: {
/**
* postal_code is the postal code used in a postal address
*/
postal_code?: string;
/**
* The street name and mailbox number of a postal address.
*/
street_address?: string;
/**
* The name of the city, usually in a postal address.
*/
city?: string;
/**
* The name of the state or major region, usually in a postal address.
*/
state?: string;
/**
* The name of the country, usually in a postal address.
*/
country?: string;
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;

@@ -225,13 +701,43 @@ [k: string]: unknown;

}[];
/**
* parallel_production is defined for GlobalGAP as to whether the site is growing other things in addition to those under audit.
*/
parallel_production?: boolean;
/**
* parallel_ownership is defined for GlobalGAP as to whether the site is growing things owned by someone other than the party under audit
*/
parallel_ownership?: boolean;
/**
* Introduced for CanadaGAP, this holds a free-form string describing which types of sites this audit applies to.
*/
applicable_sites_description?: string;
[k: string]: unknown;
};
/**
* describes conditions when the audit took place. Date audit started/finished, etc.
*/
conditions_during_audit?: {
/**
* the period (beginning and ending times) of the FSMS portion of the audit.
*/
FSMS_observed_date: {
/**
* start describes the date and time when the audit started
*/
start: string;
/**
* end describes the date and time when the audit was completed.
*/
end: string;
/**
* duration describes how long an audit took to perform. Introduced for GlobalGAP audits since that is how they specify it instead of start/end.
*/
duration?: {
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;

@@ -242,7 +748,25 @@ [k: string]: unknown;

};
/**
* the period (beginning and ending times) of the walk-through/field operations portion of the audit.
*/
operation_observed_date: {
/**
* start describes the date and time when the audit started
*/
start: string;
/**
* end describes the date and time when the audit was completed.
*/
end: string;
/**
* duration describes how long an audit took to perform. Introduced for GlobalGAP audits since that is how they specify it instead of start/end.
*/
duration?: {
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;

@@ -255,2 +779,5 @@ [k: string]: unknown;

};
/**
* certificate_validity_period denotes the period of time (beginning date to end date) through which the audit is valid.
*/
certificate_validity_period?: {

@@ -261,62 +788,191 @@ start: string;

};
/**
* certificationid is an id which spans all documents for a single certification process. i.e. the audit, corrective actions, and final certificate all share the same certificationid
*/
certificationid?: {
/**
* An id is a string which should be reasonably unique to represent the object it belongs to.
*/
id?: string;
/**
* An id_source is a representation of who assigned the id: i.e. who do you go ask to figure out what a particular ID goes to.
*/
id_source?: string;
[k: string]: unknown;
};
/**
* score presents the quanititative performance of a control point, section, or overall audit.
*/
score?: {
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* A prelimiary score for an audit
*/
preliminary?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* The final score for an audit
*/
final?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
/**
* written description indicating the level of satisfaction of the control point. E.g., "Total Compliance", "Minor Deficiency", or simply "Pass"/"Fail".
*/
compliance?: string;
/**
* GlobalGAP has particular levels of major_musts and minor_must that are entirely unique to GlobalGAP, hence the name.
*/
globalgap_levels?: {
/**
* The summary score for all major-must level questions
*/
major_musts?: ({
/**
* yes is used to represent the summary count of "yes" answers in the audit
*/
yes?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* no is used to represent the summary count of "no" answers in the audit
*/
no?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* n_a is used to represent the summary count of "Not Applicable" answers in the audit
*/
n_a?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* GlobalGAP has an overall true/false compliance for an audit score
*/
is_compliant?: boolean;
[k: string]: unknown;
} | {
/**
* major_must is used to represent the summary count of "Major Must" answers in the audit
*/
major_must?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* major_must is used to represent the summary count of "Minor Must" answers in the audit
*/
minor_must?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* major_must is used to represent the summary count of "Minor Must" answers in the audit
*/
recommended?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;

@@ -327,39 +983,117 @@ [k: string]: unknown;

});
/**
* The summary score for all minor-must level questions
*/
minor_musts?: ({
/**
* yes is used to represent the summary count of "yes" answers in the audit
*/
yes?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* no is used to represent the summary count of "no" answers in the audit
*/
no?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* n_a is used to represent the summary count of "Not Applicable" answers in the audit
*/
n_a?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* GlobalGAP has an overall true/false compliance for an audit score
*/
is_compliant?: boolean;
[k: string]: unknown;
} | {
/**
* major_must is used to represent the summary count of "Major Must" answers in the audit
*/
major_must?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* major_must is used to represent the summary count of "Minor Must" answers in the audit
*/
minor_must?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* major_must is used to represent the summary count of "Minor Must" answers in the audit
*/
recommended?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;

@@ -372,59 +1106,185 @@ [k: string]: unknown;

};
/**
* If the audit is scored as autofail, this key should be set to true in the score section. Otherwise it can either be missing or set to false. Specific to CanadaGAP
*/
canadagap_isautofail?: boolean;
/**
* Introduced for CanadaGAP. Represents the sub totals for various combinations of sections as specified by CanadaGAP, as well as the weighting_factor for that combination of sections toward the overall score. This is needed because the subtotals do not perfectly match the sections, so it exists here as a separate key. Other audits should just put the subtotal under the section that it goes with.
*/
subtotals?: {
/**
* Do not use score_core in an audit schema. It exists to avoid recursive definition of score and subtotals.
*/
score?: {
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* A prelimiary score for an audit
*/
preliminary?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* The final score for an audit
*/
final?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
/**
* written description indicating the level of satisfaction of the control point. E.g., "Total Compliance", "Minor Deficiency", or simply "Pass"/"Fail".
*/
compliance?: string;
/**
* GlobalGAP has particular levels of major_musts and minor_must that are entirely unique to GlobalGAP, hence the name.
*/
globalgap_levels?: {
/**
* The summary score for all major-must level questions
*/
major_musts?: ({
/**
* yes is used to represent the summary count of "yes" answers in the audit
*/
yes?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* no is used to represent the summary count of "no" answers in the audit
*/
no?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* n_a is used to represent the summary count of "Not Applicable" answers in the audit
*/
n_a?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* GlobalGAP has an overall true/false compliance for an audit score
*/
is_compliant?: boolean;
[k: string]: unknown;
} | {
/**
* major_must is used to represent the summary count of "Major Must" answers in the audit
*/
major_must?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* major_must is used to represent the summary count of "Minor Must" answers in the audit
*/
minor_must?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* major_must is used to represent the summary count of "Minor Must" answers in the audit
*/
recommended?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;

@@ -435,39 +1295,117 @@ [k: string]: unknown;

});
/**
* The summary score for all minor-must level questions
*/
minor_musts?: ({
/**
* yes is used to represent the summary count of "yes" answers in the audit
*/
yes?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* no is used to represent the summary count of "no" answers in the audit
*/
no?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* n_a is used to represent the summary count of "Not Applicable" answers in the audit
*/
n_a?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* GlobalGAP has an overall true/false compliance for an audit score
*/
is_compliant?: boolean;
[k: string]: unknown;
} | {
/**
* major_must is used to represent the summary count of "Major Must" answers in the audit
*/
major_must?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* major_must is used to represent the summary count of "Minor Must" answers in the audit
*/
minor_must?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;
[k: string]: unknown;
};
/**
* major_must is used to represent the summary count of "Minor Must" answers in the audit
*/
recommended?: {
/**
* a numeric or qualitative value, represented as a string
*/
value?: string;
/**
* the units used to interpret the associated value.
*/
units?: string;
/**
* Number of points possible for this control point
*/
possible?: string;

@@ -480,7 +1418,19 @@ [k: string]: unknown;

};
/**
* If the audit is scored as autofail, this key should be set to true in the score section. Otherwise it can either be missing or set to false. Specific to CanadaGAP
*/
canadagap_isautofail?: boolean;
[k: string]: unknown;
};
/**
* name is a string, typically the name of the object the key appears in.
*/
name?: string;
/**
* An array of section id strings that belong to a subtotal or a sub-section.
*/
sectionids?: string[];
/**
* Introduced for CanadaGAP. Represents the weight used to combine sections into a total score.
*/
weighting_factor?: string;

@@ -491,6 +1441,21 @@ [k: string]: unknown;

};
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev?: number;
/**
* _meta is a link to the meta document for a resources.
*/
_meta?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;

@@ -497,0 +1462,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/certificate/primusgfs/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/certificate/primusgfs/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/trellis/certificate/primusgfs/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,10 +1,45 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/certifications/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/certifications/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/trellis/certifications/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* This is document with a list of links to certifications. The keys are random strings. It is also possible to have a dynamic index that represents a set of smaller groups of certifications. In that case, an id-index key or other grouping would be found here.
*/
export interface V1Schema {
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev?: number;
/**
* _meta is a link to the meta document for a resources.
*/
_meta?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;

@@ -11,0 +46,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/certifications/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/certifications/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/trellis/certifications/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,20 +1,79 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/gs1/produce/receiving_event/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/gs1/produce/receiving_event/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/trellis/gs1/produce/receiving_event/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* GS1 receiving event has certain required fields and and array element
*/
export interface V1Schema {
/**
* all receiving trading items
*/
contents_of_receipt?: {
[k: string]: unknown;
}[];
/**
* gln of the data originator and the data owner
*/
originator?: string;
/**
* gln of the trading partner
*/
trading_partner?: string;
/**
* defines the business process that taking place
*/
activity_type?: string;
/**
* trading_partner_type of the originating trading partner
*/
originator_type?: string;
/**
* trading_partner_type of the receiving trading partner
*/
receiver_type?: string;
/**
* defines the timestamp of the data capture
*/
timestamp?: string;
/**
* defines a unique identifer to implicate the transaction id of the business event - purchase order id etc
*/
activity_no?: string;
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev?: number;
/**
* _meta is a link to the meta document for a resources.
*/
_meta?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;

@@ -21,0 +80,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/gs1/produce/receiving_event/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/gs1/produce/receiving_event/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/trellis/gs1/produce/receiving_event/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,20 +1,79 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/gs1/produce/shipping_event/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/gs1/produce/shipping_event/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/trellis/gs1/produce/shipping_event/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* GS1 receiving event has certain required fields and and array element
*/
export interface V1Schema {
/**
* gln of the data originator and the data owner
*/
originator?: string;
/**
* gln of the trading partner
*/
trading_partner?: string;
/**
* defines the business process that taking place
*/
activity_type?: string;
/**
* trading_partner_type of the originating trading partner
*/
originator_type?: string;
/**
* trading_partner_type of the receiving trading partner
*/
receiver_type?: string;
/**
* defines the timestamp of the data capture
*/
timestamp?: string;
/**
* defines a unique identifer to implicate the transaction id of the business event - purchase order id etc
*/
activity_no?: string;
/**
* all shipping trading items
*/
contents_of_shipment?: {
[k: string]: unknown;
}[];
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev?: number;
/**
* _meta is a link to the meta document for a resources.
*/
_meta?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;

@@ -21,0 +80,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/gs1/produce/shipping_event/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/gs1/produce/shipping_event/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/trellis/gs1/produce/shipping_event/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,23 +1,85 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/gs1/produce/transformation_event/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/gs1/produce/transformation_event/v1.schema.json}
*/
export declare const $id = "https://formats.openag.io/trellis/gs1/produce/transformation_event/v1.schema.json";
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export declare function is(val: unknown): val is V1Schema;
/**
* Asserts that `val` is a @type `V1Schema`
*/
export declare function assert(val: unknown): asserts val is V1Schema;
export default V1Schema;
/**
* GS1 receiving event has certain required fields and and array element
*/
export interface V1Schema {
/**
* gln of the data originator and the data owner
*/
originator?: string;
/**
* gln of the trading partner
*/
trading_partner?: string;
/**
* defines the business process that taking place
*/
activity_type?: string;
/**
* trading_partner_type of the originating trading partner
*/
originator_type?: string;
/**
* trading_partner_type of the receiving trading partner
*/
receiver_type?: string;
/**
* defines the timestamp of the data capture
*/
timestamp?: string;
/**
* defines a unique identifer to implicate the transaction id of the business event - purchase order id etc
*/
activity_no?: string;
/**
* all input trading items for a transformation
*/
transformation_input?: {
[k: string]: unknown;
}[];
/**
* all output new trading items after a transformation
*/
transformation_output?: {
[k: string]: unknown;
}[];
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev?: number;
/**
* _meta is a link to the meta document for a resources.
*/
_meta?: {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision string for a resource in the OADA API.
*/
_rev: number;

@@ -24,0 +86,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/gs1/produce/transformation_event/v1.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './v1-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/gs1/produce/transformation_event/v1.schema.json}
*/
export const $id = 'https://formats.openag.io/trellis/gs1/produce/transformation_event/v1.schema.json';
/**
* Returns true if `val` is a @type `V1Schema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `V1Schema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,11 +1,40 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/rules.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/rules.schema.json}
*/
export declare const $id = "https://formats.openag.io/trellis/rules.schema.json";
/**
* Returns true if `val` is a @type `RulesSchema`, false otherwise
*/
export declare function is(val: unknown): val is RulesSchema;
/**
* Asserts that `val` is a @type `RulesSchema`
*/
export declare function assert(val: unknown): asserts val is RulesSchema;
export default RulesSchema;
/**
* Endpoint for rules engine stuff
*/
export declare type RulesSchema = (RulesSchema1 & RulesSchema2);
export declare type RulesSchema1 = HttpsFormatsOpenagIoOadaResourceSchemaJson;
export interface HttpsFormatsOpenagIoOadaResourceSchemaJson {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;
_meta: Versioned;
/**
* _type identifies the content-type of a resource in the OADA API and is required for all OADA-defined formats. It usually looks like application/vnd.oada.something.1+json.
*/
_type: string;

@@ -15,4 +44,13 @@ [k: string]: unknown;

export interface Versioned {
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _type identifies the content-type of a resource in the OADA API and is required for all OADA-defined formats. It usually looks like application/vnd.oada.something.1+json.
*/
_type?: string;

@@ -19,0 +57,0 @@ }

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/rules.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './rules-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/rules.schema.json}
*/
export const $id = 'https://formats.openag.io/trellis/rules.schema.json';
/**
* Returns true if `val` is a @type `RulesSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `RulesSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,7 +1,30 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/rules/action.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/rules/action.schema.json}
*/
export declare const $id = "https://formats.openag.io/trellis/rules/action.schema.json";
/**
* Returns true if `val` is a @type `ActionSchema`, false otherwise
*/
export declare function is(val: unknown): val is ActionSchema;
/**
* Asserts that `val` is a @type `ActionSchema`
*/
export declare function assert(val: unknown): asserts val is ActionSchema;
export default ActionSchema;
/**
* A description of an action which can be used in OADA rules
*/
export declare type ActionSchema = (ActionSchema1 & ActionSchema2);
export declare type ActionSchema1 = HttpsFormatsOpenagIoOadaResourceSchemaJson;
/**
* Input parameters for the action
*/
export declare type CoreAndValidationSpecificationsMetaSchema = (CoreAndValidationSpecificationsMetaSchema1 & CoreAndValidationSpecificationsMetaSchema2 & CoreAndValidationSpecificationsMetaSchema3);

@@ -29,2 +52,11 @@ export declare type CoreAndValidationSpecificationsMetaSchema1 = (CoreVocabularyMetaSchema & ApplicatorVocabularyMetaSchema & ValidationVocabularyMetaSchema & MetaDataVocabularyMetaSchema & FormatVocabularyMetaSchema & ContentVocabularyMetaSchema);

export declare type ApplicatorVocabularyMetaSchema = (ApplicatorVocabularyMetaSchema1 & ApplicatorVocabularyMetaSchema2);
/**
* @minItems 1
*
* This interface was referenced by `ApplicatorVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "schemaArray".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "schemaArray".
*/
export declare type SchemaArray = [

@@ -99,14 +131,56 @@ {

exclusiveMinimum?: number;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxLength?: number;
minLength?: number;
pattern?: string;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxItems?: number;
minItems?: number;
uniqueItems?: boolean;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxContains?: number;
minContains?: number;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxProperties?: number;
minProperties?: number;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "stringArray".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "stringArray".
*/
required?: string[];
dependentRequired?: {
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "stringArray".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "stringArray".
*/
[k: string]: string[];

@@ -146,5 +220,14 @@ };

export interface HttpsFormatsOpenagIoOadaResourceSchemaJson {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;
_meta: Versioned;
/**
* _type identifies the content-type of a resource in the OADA API and is required for all OADA-defined formats. It usually looks like application/vnd.oada.something.1+json.
*/
_type: string;

@@ -154,11 +237,35 @@ [k: string]: unknown;

export interface Versioned {
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _type identifies the content-type of a resource in the OADA API and is required for all OADA-defined formats. It usually looks like application/vnd.oada.something.1+json.
*/
_type?: string;
}
export interface ActionSchema2 {
/**
* Name of the action
*/
name: string;
/**
* Name of the service implementing/performing the action
*/
service: string;
/**
* Content-type(s) with which this action works
*/
type: (string | string[]);
/**
* Human description of the action for UI etc.
*/
description: string;
/**
* UISchema for the params
*/
uischema?: {

@@ -248,14 +355,56 @@ [k: string]: unknown;

exclusiveMinimum?: number;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxLength?: number;
minLength?: number;
pattern?: string;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxItems?: number;
minItems?: number;
uniqueItems?: boolean;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxContains?: number;
minContains?: number;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxProperties?: number;
minProperties?: number;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "stringArray".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "stringArray".
*/
required?: string[];
dependentRequired?: {
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "stringArray".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "stringArray".
*/
[k: string]: string[];

@@ -262,0 +411,0 @@ };

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/rules/action.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './action-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/rules/action.schema.json}
*/
export const $id = 'https://formats.openag.io/trellis/rules/action.schema.json';
/**
* Returns true if `val` is a @type `ActionSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `ActionSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,7 +1,30 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/rules/compiled.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/rules/compiled.schema.json}
*/
export declare const $id = "https://formats.openag.io/trellis/rules/compiled.schema.json";
/**
* Returns true if `val` is a @type `CompiledSchema`, false otherwise
*/
export declare function is(val: unknown): val is CompiledSchema;
/**
* Asserts that `val` is a @type `CompiledSchema`
*/
export declare function assert(val: unknown): asserts val is CompiledSchema;
export default CompiledSchema;
/**
* Represents a "compiled" bit of work to implement rules
*/
export declare type CompiledSchema = (CompiledSchema1 & CompiledSchema2);
export declare type CompiledSchema1 = HttpsFormatsOpenagIoOadaResourceSchemaJson;
/**
* A JSON Schema which filters inputs to this work
*/
export declare type CoreAndValidationSpecificationsMetaSchema = (CoreAndValidationSpecificationsMetaSchema1 & CoreAndValidationSpecificationsMetaSchema2 & CoreAndValidationSpecificationsMetaSchema3);

@@ -29,2 +52,11 @@ export declare type CoreAndValidationSpecificationsMetaSchema1 = (CoreVocabularyMetaSchema & ApplicatorVocabularyMetaSchema & ValidationVocabularyMetaSchema & MetaDataVocabularyMetaSchema & FormatVocabularyMetaSchema & ContentVocabularyMetaSchema);

export declare type ApplicatorVocabularyMetaSchema = (ApplicatorVocabularyMetaSchema1 & ApplicatorVocabularyMetaSchema2);
/**
* @minItems 1
*
* This interface was referenced by `ApplicatorVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "schemaArray".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "schemaArray".
*/
export declare type SchemaArray = [

@@ -99,14 +131,56 @@ {

exclusiveMinimum?: number;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxLength?: number;
minLength?: number;
pattern?: string;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxItems?: number;
minItems?: number;
uniqueItems?: boolean;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxContains?: number;
minContains?: number;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxProperties?: number;
minProperties?: number;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "stringArray".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "stringArray".
*/
required?: string[];
dependentRequired?: {
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "stringArray".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "stringArray".
*/
[k: string]: string[];

@@ -146,5 +220,14 @@ };

export interface HttpsFormatsOpenagIoOadaResourceSchemaJson {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;
_meta: Versioned;
/**
* _type identifies the content-type of a resource in the OADA API and is required for all OADA-defined formats. It usually looks like application/vnd.oada.something.1+json.
*/
_type: string;

@@ -154,4 +237,13 @@ [k: string]: unknown;

export interface Versioned {
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _type identifies the content-type of a resource in the OADA API and is required for all OADA-defined formats. It usually looks like application/vnd.oada.something.1+json.
*/
_type?: string;

@@ -161,8 +253,26 @@ }

rule: Versioned1;
/**
* Name of the action invloved
*/
action: string;
/**
* Name of the service performing this piece of work
*/
service: string;
schema: CoreAndValidationSpecificationsMetaSchema;
/**
* The path to an OADA list to watch for inputs
*/
path: string;
/**
* Content-type(s) with which this works
*/
type: (string | string[]);
/**
* Whether to trigger on new item, changed item, etc.
*/
on: ("new" | "change");
/**
* Parameter values for this work
*/
options?: {

@@ -173,4 +283,10 @@ [k: string]: unknown;

}
/**
* Reference to the rule this is implementing
*/
export interface Versioned1 {
_id: string;
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;

@@ -257,14 +373,56 @@ [k: string]: unknown;

exclusiveMinimum?: number;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxLength?: number;
minLength?: number;
pattern?: string;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxItems?: number;
minItems?: number;
uniqueItems?: boolean;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxContains?: number;
minContains?: number;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxProperties?: number;
minProperties?: number;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "stringArray".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "stringArray".
*/
required?: string[];
dependentRequired?: {
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "stringArray".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "stringArray".
*/
[k: string]: string[];

@@ -271,0 +429,0 @@ };

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/rules/compiled.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './compiled-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/rules/compiled.schema.json}
*/
export const $id = 'https://formats.openag.io/trellis/rules/compiled.schema.json';
/**
* Returns true if `val` is a @type `CompiledSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `CompiledSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,7 +1,30 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/rules/condition.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/rules/condition.schema.json}
*/
export declare const $id = "https://formats.openag.io/trellis/rules/condition.schema.json";
/**
* Returns true if `val` is a @type `ConditionSchema`, false otherwise
*/
export declare function is(val: unknown): val is ConditionSchema;
/**
* Asserts that `val` is a @type `ConditionSchema`
*/
export declare function assert(val: unknown): asserts val is ConditionSchema;
export default ConditionSchema;
/**
* A description of a condtion which can be used in OADA rules
*/
export declare type ConditionSchema = (ConditionSchema1 & ConditionSchema2);
export declare type ConditionSchema1 = HttpsFormatsOpenagIoOadaResourceSchemaJson;
/**
* A JSON Schema to which implements this condition
*/
export declare type CoreAndValidationSpecificationsMetaSchema = (CoreAndValidationSpecificationsMetaSchema1 & CoreAndValidationSpecificationsMetaSchema2 & CoreAndValidationSpecificationsMetaSchema3);

@@ -29,2 +52,11 @@ export declare type CoreAndValidationSpecificationsMetaSchema1 = (CoreVocabularyMetaSchema & ApplicatorVocabularyMetaSchema & ValidationVocabularyMetaSchema & MetaDataVocabularyMetaSchema & FormatVocabularyMetaSchema & ContentVocabularyMetaSchema);

export declare type ApplicatorVocabularyMetaSchema = (ApplicatorVocabularyMetaSchema1 & ApplicatorVocabularyMetaSchema2);
/**
* @minItems 1
*
* This interface was referenced by `ApplicatorVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "schemaArray".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "schemaArray".
*/
export declare type SchemaArray = [

@@ -99,14 +131,56 @@ {

exclusiveMinimum?: number;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxLength?: number;
minLength?: number;
pattern?: string;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxItems?: number;
minItems?: number;
uniqueItems?: boolean;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxContains?: number;
minContains?: number;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxProperties?: number;
minProperties?: number;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "stringArray".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "stringArray".
*/
required?: string[];
dependentRequired?: {
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "stringArray".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "stringArray".
*/
[k: string]: string[];

@@ -145,2 +219,5 @@ };

export declare type CoreAndValidationSpecificationsMetaSchema3 = ((CoreVocabularyMetaSchema2 & ApplicatorVocabularyMetaSchema2 & ValidationVocabularyMetaSchema2 & MetaDataVocabularyMetaSchema2 & FormatVocabularyMetaSchema2 & ContentVocabularyMetaSchema2) | ((CoreVocabularyMetaSchema2 & ApplicatorVocabularyMetaSchema2 & ValidationVocabularyMetaSchema2 & MetaDataVocabularyMetaSchema2 & FormatVocabularyMetaSchema2 & ContentVocabularyMetaSchema2) & boolean));
/**
* Input parameters for the condition
*/
export declare type CoreAndValidationSpecificationsMetaSchema4 = (CoreAndValidationSpecificationsMetaSchema5 & CoreAndValidationSpecificationsMetaSchema6 & CoreAndValidationSpecificationsMetaSchema7);

@@ -150,5 +227,14 @@ export declare type CoreAndValidationSpecificationsMetaSchema5 = (CoreVocabularyMetaSchema2 & ApplicatorVocabularyMetaSchema2 & ValidationVocabularyMetaSchema2 & MetaDataVocabularyMetaSchema2 & FormatVocabularyMetaSchema2 & ContentVocabularyMetaSchema2);

export interface HttpsFormatsOpenagIoOadaResourceSchemaJson {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;
_meta: Versioned;
/**
* _type identifies the content-type of a resource in the OADA API and is required for all OADA-defined formats. It usually looks like application/vnd.oada.something.1+json.
*/
_type: string;

@@ -158,12 +244,36 @@ [k: string]: unknown;

export interface Versioned {
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _type identifies the content-type of a resource in the OADA API and is required for all OADA-defined formats. It usually looks like application/vnd.oada.something.1+json.
*/
_type?: string;
}
export interface ConditionSchema2 {
/**
* Name of the condition
*/
name: string;
/**
* Name of the service implementing/performing the condition
*/
service?: string;
schema?: CoreAndValidationSpecificationsMetaSchema;
/**
* Content-type(s) with which this condition works
*/
type: (string | string[]);
/**
* Human description of the condition for UI etc.
*/
description: string;
/**
* UISchema for the params
*/
uischema?: {

@@ -173,5 +283,14 @@ [k: string]: unknown;

params?: CoreAndValidationSpecificationsMetaSchema4;
/**
* A map for applying params to schema.
*/
pointers?: {
[k: string]: {
/**
* Name of the input to apply at this path.
*/
name: string;
/**
* Wether to replace the key or the value.
*/
iskey: boolean;

@@ -261,14 +380,56 @@ [k: string]: unknown;

exclusiveMinimum?: number;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxLength?: number;
minLength?: number;
pattern?: string;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxItems?: number;
minItems?: number;
uniqueItems?: boolean;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxContains?: number;
minContains?: number;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "nonNegativeInteger".
*/
maxProperties?: number;
minProperties?: number;
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "stringArray".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "stringArray".
*/
required?: string[];
dependentRequired?: {
/**
* This interface was referenced by `ValidationVocabularyMetaSchema1`'s JSON-Schema
* via the `definition` "stringArray".
*
* This interface was referenced by `undefined`'s JSON-Schema
* via the `definition` "stringArray".
*/
[k: string]: string[];

@@ -275,0 +436,0 @@ };

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/rules/condition.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './condition-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/rules/condition.schema.json}
*/
export const $id = 'https://formats.openag.io/trellis/rules/condition.schema.json';
/**
* Returns true if `val` is a @type `ConditionSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `ConditionSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,14 +1,58 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/rules/configured.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/rules/configured.schema.json}
*/
export declare const $id = "https://formats.openag.io/trellis/rules/configured.schema.json";
/**
* Returns true if `val` is a @type `ConfiguredSchema`, false otherwise
*/
export declare function is(val: unknown): val is ConfiguredSchema;
/**
* Asserts that `val` is a @type `ConfiguredSchema`
*/
export declare function assert(val: unknown): asserts val is ConfiguredSchema;
export default ConfiguredSchema;
/**
* Representation of a constructed OADA rule for rules engine
*/
export interface ConfiguredSchema {
/**
* Wether this rule should be active
*/
enabled?: boolean;
/**
* Array of the names of the services involved in this rule
*/
services?: string[];
/**
* Content-type this rule applies to
*/
type: string;
/**
* Whether to trigger on new item, changed item, etc.
*/
on?: ("new" | "change");
/**
* The path to an OADA list to which to apply this rule
*/
path: string;
/**
* List of conditions involved in this rule
*/
conditions: {
/**
* Particular condition involved in this rule
*/
[k: string]: {
condition: Versioned;
/**
* Parameter values for this condition
*/
options?: {

@@ -20,5 +64,14 @@ [k: string]: unknown;

};
/**
* List of actions involved in this rule
*/
actions: {
/**
* Particular action involved in this rule
*/
[k: string]: {
action: Versioned1;
/**
* Parameter values for this action
*/
options?: {

@@ -32,11 +85,23 @@ [k: string]: unknown;

}
/**
* A link to the condition document
*/
export interface Versioned {
_id: string;
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;
[k: string]: unknown;
}
/**
* A link to the action document
*/
export interface Versioned1 {
_id: string;
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;
[k: string]: unknown;
}

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/rules/configured.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './configured-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/rules/configured.schema.json}
*/
export const $id = 'https://formats.openag.io/trellis/rules/configured.schema.json';
/**
* Returns true if `val` is a @type `ConfiguredSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `ConfiguredSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,5 +1,28 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/service/abalonemail/config/email.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/service/abalonemail/config/email.schema.json}
*/
export declare const $id = "https://formats.openag.io/trellis/service/abalonemail/config/email.schema.json";
/**
* Returns true if `val` is a @type `EmailSchema`, false otherwise
*/
export declare function is(val: unknown): val is EmailSchema;
/**
* Asserts that `val` is a @type `EmailSchema`
*/
export declare function assert(val: unknown): asserts val is EmailSchema;
export default EmailSchema;
/**
* Object for email and associated person's name
*
* This interface was referenced by `EmailSchema`'s JSON-Schema
* via the `definition` "email".
*/
export declare type Email = (string | {

@@ -10,3 +33,9 @@ email: string;

});
/**
* Abalonemail email config format for @oada/job job
*/
export interface EmailSchema {
/**
* If separate emails to each `to` (true) or if one email to all of `to` (false)
*/
multiple?: boolean;

@@ -19,2 +48,5 @@ from: Email;

html?: string;
/**
* Data to use when filling out email template
*/
templateData?: {

@@ -34,9 +66,24 @@ [k: string]: unknown;

export interface Versioned {
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _type identifies the content-type of a resource in the OADA API and is required for all OADA-defined formats. It usually looks like application/vnd.oada.something.1+json.
*/
_type?: string;
}
export interface Unversioned {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _type identifies the content-type of a resource in the OADA API and is required for all OADA-defined formats. It usually looks like application/vnd.oada.something.1+json.
*/
_type?: string;
}

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/service/abalonemail/config/email.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './email-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/service/abalonemail/config/email.schema.json}
*/
export const $id = 'https://formats.openag.io/trellis/service/abalonemail/config/email.schema.json';
/**
* Returns true if `val` is a @type `EmailSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `EmailSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,17 +1,58 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/service/abalonemail/email.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/service/abalonemail/email.schema.json}
*/
export declare const $id = "https://formats.openag.io/trellis/service/abalonemail/email.schema.json";
/**
* Returns true if `val` is a @type `EmailSchema`, false otherwise
*/
export declare function is(val: unknown): val is EmailSchema;
/**
* Asserts that `val` is a @type `EmailSchema`
*/
export declare function assert(val: unknown): asserts val is EmailSchema;
export default EmailSchema;
/**
* Extension @oada/jobs job queue format for Abalonemail
*/
export declare type EmailSchema = (EmailSchema1 & EmailSchema2);
export declare type EmailSchema1 = HttpsFormatsOpenagIoOadaServiceJobSchemaJson;
/**
* The format for an @oada/jobs job queue job.
*/
export interface HttpsFormatsOpenagIoOadaServiceJobSchemaJson {
/**
* Service name which job is for
*/
service: string;
/**
* Service specific identifier of job type
*/
type: string;
/**
* Job spceific configuration object
*/
config?: {
[k: string]: unknown;
};
/**
* Final result of job
*/
result?: {
[k: string]: unknown;
};
/**
* Current status of job
*/
status?: string;
/**
* A list of updates as job progresses. Keys shall be sorted in time order.
*/
updates?: {

@@ -22,5 +63,17 @@ [k: string]: HttpsFormatsOpenagIoOadaServiceJobUpdateSchemaJson;

}
/**
* A list of updates as job progresses. Keys shall be sorted in time order.
*/
export interface HttpsFormatsOpenagIoOadaServiceJobUpdateSchemaJson {
/**
* Status of job at the time of update
*/
status: string;
/**
* ISO8601 UTC date-time of update time
*/
time: string;
/**
* Additional meta data about the status update
*/
meta?: {

@@ -32,5 +85,14 @@ [k: string]: unknown;

export interface EmailSchema2 {
/**
* Service name
*/
service?: "abalonemail";
/**
* Email job type
*/
type?: "email";
config: HttpsFormatsOpenagIoTrellisServiceAbalonemailConfigEmailSchemaJson;
/**
* Final result of job
*/
result?: {

@@ -41,4 +103,16 @@ [k: string]: unknown;

}
/**
* Job spceific configuration object
*/
export interface HttpsFormatsOpenagIoTrellisServiceAbalonemailConfigEmailSchemaJson {
/**
* If separate emails to each `to` (true) or if one email to all of `to` (false)
*/
multiple?: boolean;
/**
* Object for email and associated person's name
*
* This interface was referenced by `HttpsFormatsOpenagIoTrellisServiceAbalonemailConfigEmailSchemaJson`'s JSON-Schema
* via the `definition` "email".
*/
from: (string | {

@@ -58,2 +132,8 @@ email: string;

})[]);
/**
* Object for email and associated person's name
*
* This interface was referenced by `HttpsFormatsOpenagIoTrellisServiceAbalonemailConfigEmailSchemaJson`'s JSON-Schema
* via the `definition` "email".
*/
replyTo?: (string | {

@@ -67,2 +147,5 @@ email: string;

html?: string;
/**
* Data to use when filling out email template
*/
templateData?: {

@@ -82,9 +165,24 @@ [k: string]: unknown;

export interface Versioned {
/**
* _rev is the revision for a resource in the OADA API.
*/
_rev: number;
/**
* _id identifies a resource in the OADA API.
*/
_id?: string;
/**
* _type identifies the content-type of a resource in the OADA API and is required for all OADA-defined formats. It usually looks like application/vnd.oada.something.1+json.
*/
_type?: string;
}
export interface Unversioned {
/**
* _id identifies a resource in the OADA API.
*/
_id: string;
/**
* _type identifies the content-type of a resource in the OADA API and is required for all OADA-defined formats. It usually looks like application/vnd.oada.something.1+json.
*/
_type?: string;
}

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/service/abalonemail/email.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './email-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/service/abalonemail/email.schema.json}
*/
export const $id = 'https://formats.openag.io/trellis/service/abalonemail/email.schema.json';
/**
* Returns true if `val` is a @type `EmailSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `EmailSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,17 +1,58 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/service/fl-pusher/sync.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/service/fl-pusher/sync.schema.json}
*/
export declare const $id = "https://formats.openag.io/trellis/service/fl-pusher/sync.schema.json";
/**
* Returns true if `val` is a @type `SyncSchema`, false otherwise
*/
export declare function is(val: unknown): val is SyncSchema;
/**
* Asserts that `val` is a @type `SyncSchema`
*/
export declare function assert(val: unknown): asserts val is SyncSchema;
export default SyncSchema;
/**
* Extension of @oada/job format for fl-pusher
*/
export declare type SyncSchema = (SyncSchema1 & SyncSchema2);
export declare type SyncSchema1 = HttpsFormatsOpenagIoOadaServiceJobSchemaJson;
/**
* The format for an @oada/jobs job queue job.
*/
export interface HttpsFormatsOpenagIoOadaServiceJobSchemaJson {
/**
* Service name which job is for
*/
service: string;
/**
* Service specific identifier of job type
*/
type: string;
/**
* Job spceific configuration object
*/
config?: {
[k: string]: unknown;
};
/**
* Final result of job
*/
result?: {
[k: string]: unknown;
};
/**
* Current status of job
*/
status?: string;
/**
* A list of updates as job progresses. Keys shall be sorted in time order.
*/
updates?: {

@@ -22,5 +63,17 @@ [k: string]: HttpsFormatsOpenagIoOadaServiceJobUpdateSchemaJson;

}
/**
* A list of updates as job progresses. Keys shall be sorted in time order.
*/
export interface HttpsFormatsOpenagIoOadaServiceJobUpdateSchemaJson {
/**
* Status of job at the time of update
*/
status: string;
/**
* ISO8601 UTC date-time of update time
*/
time: string;
/**
* Additional meta data about the status update
*/
meta?: {

@@ -32,10 +85,31 @@ [k: string]: unknown;

export interface SyncSchema2 {
/**
* Service Name
*/
service?: "fl-pusher";
/**
* Foodlogiq Synchronization Job
*/
type?: "sync";
/**
* Job specific configuration object
*/
config?: {
/**
* id for virtualized pdf
*/
resourceId: string;
/**
* The foodlogiq business ID where the document is stored
*/
businessId: string;
/**
* The foodlogiq community IDs the document is to be shared with
*/
communityIds?: string[];
[k: string]: unknown;
};
/**
* Final result of job
*/
result?: {

@@ -42,0 +116,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/service/fl-pusher/sync.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './sync-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/service/fl-pusher/sync.schema.json}
*/
export const $id = 'https://formats.openag.io/trellis/service/fl-pusher/sync.schema.json';
/**
* Returns true if `val` is a @type `SyncSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `SyncSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,17 +1,58 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/service/ift-pusher/sync.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/service/ift-pusher/sync.schema.json}
*/
export declare const $id = "https://formats.openag.io/trellis/service/ift-pusher/sync.schema.json";
/**
* Returns true if `val` is a @type `SyncSchema`, false otherwise
*/
export declare function is(val: unknown): val is SyncSchema;
/**
* Asserts that `val` is a @type `SyncSchema`
*/
export declare function assert(val: unknown): asserts val is SyncSchema;
export default SyncSchema;
/**
* Extension of @oada/job format for ift-pusher
*/
export declare type SyncSchema = (SyncSchema1 & SyncSchema2);
export declare type SyncSchema1 = HttpsFormatsOpenagIoOadaServiceJobSchemaJson;
/**
* The format for an @oada/jobs job queue job.
*/
export interface HttpsFormatsOpenagIoOadaServiceJobSchemaJson {
/**
* Service name which job is for
*/
service: string;
/**
* Service specific identifier of job type
*/
type: string;
/**
* Job spceific configuration object
*/
config?: {
[k: string]: unknown;
};
/**
* Final result of job
*/
result?: {
[k: string]: unknown;
};
/**
* Current status of job
*/
status?: string;
/**
* A list of updates as job progresses. Keys shall be sorted in time order.
*/
updates?: {

@@ -22,5 +63,17 @@ [k: string]: HttpsFormatsOpenagIoOadaServiceJobUpdateSchemaJson;

}
/**
* A list of updates as job progresses. Keys shall be sorted in time order.
*/
export interface HttpsFormatsOpenagIoOadaServiceJobUpdateSchemaJson {
/**
* Status of job at the time of update
*/
status: string;
/**
* ISO8601 UTC date-time of update time
*/
time: string;
/**
* Additional meta data about the status update
*/
meta?: {

@@ -32,8 +85,23 @@ [k: string]: unknown;

export interface SyncSchema2 {
/**
* Service Name
*/
service?: "ift-pusher";
/**
* IFT Synchronization Job
*/
type?: "sync";
/**
* Job specific configuration object
*/
config?: {
/**
* id for virtualized pdf
*/
resourceId: string;
[k: string]: unknown;
};
/**
* Final result of job
*/
result?: {

@@ -40,0 +108,0 @@ [k: string]: unknown;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/service/ift-pusher/sync.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './sync-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/service/ift-pusher/sync.schema.json}
*/
export const $id = 'https://formats.openag.io/trellis/service/ift-pusher/sync.schema.json';
/**
* Returns true if `val` is a @type `SyncSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `SyncSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,5 +1,25 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/service/master-data-sync/product.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/service/master-data-sync/product.schema.json}
*/
export declare const $id = "https://formats.openag.io/trellis/service/master-data-sync/product.schema.json";
/**
* Returns true if `val` is a @type `ProductSchema`, false otherwise
*/
export declare function is(val: unknown): val is ProductSchema;
/**
* Asserts that `val` is a @type `ProductSchema`
*/
export declare function assert(val: unknown): asserts val is ProductSchema;
export default ProductSchema;
/**
* Product JSON format for master-data-sync
*/
export interface ProductSchema {

@@ -6,0 +26,0 @@ sapid: string;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/service/master-data-sync/product.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './product-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/service/master-data-sync/product.schema.json}
*/
export const $id = 'https://formats.openag.io/trellis/service/master-data-sync/product.schema.json';
/**
* Returns true if `val` is a @type `ProductSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `ProductSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -0,5 +1,25 @@

/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/service/master-data-sync/tradingpartners.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/service/master-data-sync/tradingpartners.schema.json}
*/
export declare const $id = "https://formats.openag.io/trellis/service/master-data-sync/tradingpartners.schema.json";
/**
* Returns true if `val` is a @type `TradingpartnersSchema`, false otherwise
*/
export declare function is(val: unknown): val is TradingpartnersSchema;
/**
* Asserts that `val` is a @type `TradingpartnersSchema`
*/
export declare function assert(val: unknown): asserts val is TradingpartnersSchema;
export default TradingpartnersSchema;
/**
* Trading Partners config format for master-data-sync
*/
export interface TradingpartnersSchema {

@@ -6,0 +26,0 @@ id?: string;

@@ -0,6 +1,27 @@

/* eslint-disable unicorn/no-abusive-eslint-disable, eslint-comments/no-unlimited-disable */
/* eslint-disable */
/* tslint:disable */
/**
* File automatically generated using json-schema-to-typescript.
* ! DO NOT MODIFY IT BY HAND !
* Instead, modify the source file /trellis/service/master-data-sync/tradingpartners.schema.json of @oada/formats
* and run `$ yarn build` to regenerate this file.
* @packageDocumentation
*/
// Import packed validation function
import validate from './tradingpartners-validate.cjs';
/**
* `$id` of the source schema
* @see {@link https://formats.openag.io/trellis/service/master-data-sync/tradingpartners.schema.json}
*/
export const $id = 'https://formats.openag.io/trellis/service/master-data-sync/tradingpartners.schema.json';
/**
* Returns true if `val` is a @type `TradingpartnersSchema`, false otherwise
*/
export function is(val) {
return validate(val);
}
/**
* Asserts that `val` is a @type `TradingpartnersSchema`
*/
export function assert(val) {

@@ -7,0 +28,0 @@ if (!validate(val)) {

@@ -6,2 +6,3 @@ {

"esModuleInterop": true,
"removeComments": false,
"rootDir": "src",

@@ -8,0 +9,0 @@ "outDir": "."

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc