diff --git a/404.html b/404.html index 8250b05ed36..6a521dc6c53 100644 --- a/404.html +++ b/404.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Page Not Found

We could not find what you were looking for.

Please contact the owner of the site that linked you to the original URL and let them know their link is broken.

- - + + \ No newline at end of file diff --git a/adaptors.html b/adaptors.html index cd8089e2e23..8060c85c3d7 100644 --- a/adaptors.html +++ b/adaptors.html @@ -22,8 +22,8 @@ - - + +
@@ -39,7 +39,7 @@ packages" and the two terms are sometimes used interchangeably, but the preferred way of communicating about adaptors is as follows:

In short, most adaptors follow the naming convention @openfn/language-xyz.

Where to find them

Here's a list of the 45 publicly supported OpenFn adaptors. Note that only some have been migrated to our new and have their docs sites served here. For the rest, you can view the docs and source by clicking into the adaptor and choosing your version.

asana (docs)
The current API docs, changelog, and developer readme for asana are available here. You can view the source & documentation via these links:
beyonic (docs)
The current API docs, changelog, and developer readme for beyonic are available here. You can view the source & documentation via these links:
bigquery (docs)
The current API docs, changelog, and developer readme for bigquery are available here. You can view the source & documentation via these links:
cartodb
This adaptor hasn't been migrated yet, but it still works just fine and you can view the source & documentation via these links:
commcare (docs)
The current API docs, changelog, and developer readme for commcare are available here. You can view the source & documentation via these links:
common (docs)
The current API docs, changelog, and developer readme for common are available here. You can view the source & documentation via these links:
dhis2 (docs)
The current API docs, changelog, and developer readme for dhis2 are available here. You can view the source & documentation via these links:
dynamics (docs)
The current API docs, changelog, and developer readme for dynamics are available here. You can view the source & documentation via these links:
facebook (docs)
The current API docs, changelog, and developer readme for facebook are available here. You can view the source & documentation via these links:
fhir (docs)
The current API docs, changelog, and developer readme for fhir are available here. You can view the source & documentation via these links:
godata (docs)
The current API docs, changelog, and developer readme for godata are available here. You can view the source & documentation via these links:
googlehealthcare (docs)
The current API docs, changelog, and developer readme for googlehealthcare are available here. You can view the source & documentation via these links:
googlesheets (docs)
The current API docs, changelog, and developer readme for googlesheets are available here. You can view the source & documentation via these links:
http (docs)
The current API docs, changelog, and developer readme for http are available here. You can view the source & documentation via these links:
khanacademy (docs)
The current API docs, changelog, and developer readme for khanacademy are available here. You can view the source & documentation via these links:
kobotoolbox (docs)
The current API docs, changelog, and developer readme for kobotoolbox are available here. You can view the source & documentation via these links:
magpi (docs)
The current API docs, changelog, and developer readme for magpi are available here. You can view the source & documentation via these links:
mailchimp (docs)
The current API docs, changelog, and developer readme for mailchimp are available here. You can view the source & documentation via these links:
mailgun (docs)
The current API docs, changelog, and developer readme for mailgun are available here. You can view the source & documentation via these links:
maximo (docs)
The current API docs, changelog, and developer readme for maximo are available here. You can view the source & documentation via these links:
medicmobile (docs)
The current API docs, changelog, and developer readme for medicmobile are available here. You can view the source & documentation via these links:
mogli (docs)
The current API docs, changelog, and developer readme for mogli are available here. You can view the source & documentation via these links:
mongodb (docs)
The current API docs, changelog, and developer readme for mongodb are available here. You can view the source & documentation via these links:
msgraph (docs)
The current API docs, changelog, and developer readme for msgraph are available here. You can view the source & documentation via these links:
mssql (docs)
The current API docs, changelog, and developer readme for mssql are available here. You can view the source & documentation via these links:
mysql (docs)
The current API docs, changelog, and developer readme for mysql are available here. You can view the source & documentation via these links:
nexmo (docs)
The current API docs, changelog, and developer readme for nexmo are available here. You can view the source & documentation via these links:
ocl (docs)
The current API docs, changelog, and developer readme for ocl are available here. You can view the source & documentation via these links:
openfn (docs)
The current API docs, changelog, and developer readme for openfn are available here. You can view the source & documentation via these links:
openhim (docs)
The current API docs, changelog, and developer readme for openhim are available here. You can view the source & documentation via these links:
openmrs (docs)
The current API docs, changelog, and developer readme for openmrs are available here. You can view the source & documentation via these links:
postgresql (docs)
The current API docs, changelog, and developer readme for postgresql are available here. You can view the source & documentation via these links:
primero (docs)
progres (docs)
The current API docs, changelog, and developer readme for progres are available here. You can view the source & documentation via these links:
rapidpro (docs)
The current API docs, changelog, and developer readme for rapidpro are available here. You can view the source & documentation via these links:
resourcemap (docs)
The current API docs, changelog, and developer readme for resourcemap are available here. You can view the source & documentation via these links:
salesforce (docs)
sftp (docs)
The current API docs, changelog, and developer readme for sftp are available here. You can view the source & documentation via these links:
smpp (docs)
The current API docs, changelog, and developer readme for smpp are available here. You can view the source & documentation via these links:
surveycto (docs)
The current API docs, changelog, and developer readme for surveycto are available here. You can view the source & documentation via these links:
telerivet (docs)
The current API docs, changelog, and developer readme for telerivet are available here. You can view the source & documentation via these links:
template (docs)
The current API docs, changelog, and developer readme for template are available here. You can view the source & documentation via these links:
twilio (docs)
The current API docs, changelog, and developer readme for twilio are available here. You can view the source & documentation via these links:
vtiger (docs)
The current API docs, changelog, and developer readme for vtiger are available here. You can view the source & documentation via these links:
zoho (docs)
The current API docs, changelog, and developer readme for zoho are available here. You can view the source & documentation via these links:

On the OpenFn platform

When creating or editing a job on platform, you can choose the adaptor to run +running npm install @openfn/language-dhis2.

In short, most adaptors follow the naming convention @openfn/language-xyz.

Where to find them

Here's a list of the 45 publicly supported OpenFn adaptors. Note that only some have been migrated to our new and have their docs sites served here. For the rest, you can view the docs and source by clicking into the adaptor and choosing your version.

asana (docs)
The current API docs, changelog, and developer readme for asana are available here. You can view the source & documentation via these links:
beyonic (docs)
The current API docs, changelog, and developer readme for beyonic are available here. You can view the source & documentation via these links:
bigquery (docs)
The current API docs, changelog, and developer readme for bigquery are available here. You can view the source & documentation via these links:
cartodb
This adaptor hasn't been migrated yet, but it still works just fine and you can view the source & documentation via these links:
commcare (docs)
The current API docs, changelog, and developer readme for commcare are available here. You can view the source & documentation via these links:
common (docs)
The current API docs, changelog, and developer readme for common are available here. You can view the source & documentation via these links:
dhis2 (docs)
The current API docs, changelog, and developer readme for dhis2 are available here. You can view the source & documentation via these links:
dynamics (docs)
The current API docs, changelog, and developer readme for dynamics are available here. You can view the source & documentation via these links:
facebook (docs)
The current API docs, changelog, and developer readme for facebook are available here. You can view the source & documentation via these links:
fhir (docs)
The current API docs, changelog, and developer readme for fhir are available here. You can view the source & documentation via these links:
godata (docs)
The current API docs, changelog, and developer readme for godata are available here. You can view the source & documentation via these links:
googlehealthcare (docs)
The current API docs, changelog, and developer readme for googlehealthcare are available here. You can view the source & documentation via these links:
googlesheets (docs)
The current API docs, changelog, and developer readme for googlesheets are available here. You can view the source & documentation via these links:
http (docs)
The current API docs, changelog, and developer readme for http are available here. You can view the source & documentation via these links:
khanacademy (docs)
The current API docs, changelog, and developer readme for khanacademy are available here. You can view the source & documentation via these links:
kobotoolbox (docs)
The current API docs, changelog, and developer readme for kobotoolbox are available here. You can view the source & documentation via these links:
magpi (docs)
The current API docs, changelog, and developer readme for magpi are available here. You can view the source & documentation via these links:
mailchimp (docs)
The current API docs, changelog, and developer readme for mailchimp are available here. You can view the source & documentation via these links:
mailgun (docs)
The current API docs, changelog, and developer readme for mailgun are available here. You can view the source & documentation via these links:
maximo (docs)
The current API docs, changelog, and developer readme for maximo are available here. You can view the source & documentation via these links:
medicmobile (docs)
The current API docs, changelog, and developer readme for medicmobile are available here. You can view the source & documentation via these links:
mogli (docs)
The current API docs, changelog, and developer readme for mogli are available here. You can view the source & documentation via these links:
mongodb (docs)
The current API docs, changelog, and developer readme for mongodb are available here. You can view the source & documentation via these links:
msgraph (docs)
The current API docs, changelog, and developer readme for msgraph are available here. You can view the source & documentation via these links:
mssql (docs)
The current API docs, changelog, and developer readme for mssql are available here. You can view the source & documentation via these links:
mysql (docs)
The current API docs, changelog, and developer readme for mysql are available here. You can view the source & documentation via these links:
nexmo (docs)
The current API docs, changelog, and developer readme for nexmo are available here. You can view the source & documentation via these links:
ocl (docs)
The current API docs, changelog, and developer readme for ocl are available here. You can view the source & documentation via these links:
openfn (docs)
The current API docs, changelog, and developer readme for openfn are available here. You can view the source & documentation via these links:
openhim (docs)
The current API docs, changelog, and developer readme for openhim are available here. You can view the source & documentation via these links:
openmrs (docs)
The current API docs, changelog, and developer readme for openmrs are available here. You can view the source & documentation via these links:
postgresql (docs)
The current API docs, changelog, and developer readme for postgresql are available here. You can view the source & documentation via these links:
primero (docs)
progres (docs)
The current API docs, changelog, and developer readme for progres are available here. You can view the source & documentation via these links:
rapidpro (docs)
The current API docs, changelog, and developer readme for rapidpro are available here. You can view the source & documentation via these links:
resourcemap (docs)
The current API docs, changelog, and developer readme for resourcemap are available here. You can view the source & documentation via these links:
salesforce (docs)
sftp (docs)
The current API docs, changelog, and developer readme for sftp are available here. You can view the source & documentation via these links:
smpp (docs)
The current API docs, changelog, and developer readme for smpp are available here. You can view the source & documentation via these links:
surveycto (docs)
The current API docs, changelog, and developer readme for surveycto are available here. You can view the source & documentation via these links:
telerivet (docs)
The current API docs, changelog, and developer readme for telerivet are available here. You can view the source & documentation via these links:
template (docs)
The current API docs, changelog, and developer readme for template are available here. You can view the source & documentation via these links:
twilio (docs)
The current API docs, changelog, and developer readme for twilio are available here. You can view the source & documentation via these links:
vtiger (docs)
The current API docs, changelog, and developer readme for vtiger are available here. You can view the source & documentation via these links:
zoho (docs)
The current API docs, changelog, and developer readme for zoho are available here. You can view the source & documentation via these links:

On the OpenFn platform

When creating or editing a job on platform, you can choose the adaptor to run the job. This way you "import" the needed operations. Simply open the dropdown list of adaptors, and click on one.

On npm

Most of our adaptors are also available on npmjs.

Adaptors list in npm

Install on platform via npm

When using platform, you can install adaptors that are not part of the @@ -57,7 +57,7 @@ via the Select Unreleased Adaptor dialog.

Building and extending adaptors

The source code and technical documentation for developing or extending existing adaptors can be found here.

- - + + \ No newline at end of file diff --git a/adaptors/cht.html b/adaptors/cht.html index f1853ed4c47..1b38e5d2ef5 100644 --- a/adaptors/cht.html +++ b/adaptors/cht.html @@ -22,8 +22,8 @@ - - + +
@@ -37,7 +37,7 @@ property. This will structure the payload that is sent to your OpenFn Inbox as a "Message".

To send data to CHT applications, check out the CHT API.

- - + + \ No newline at end of file diff --git a/adaptors/ckan.html b/adaptors/ckan.html index c504fb15c45..aefe9b19191 100644 --- a/adaptors/ckan.html +++ b/adaptors/ckan.html @@ -22,8 +22,8 @@ - - + +
@@ -91,7 +91,7 @@ to access the web API.

Implementation Examples

CKAN has been implemented in catalog.data.gov, open.canada.ca/data, and data.humdata.org.

- - + + \ No newline at end of file diff --git a/adaptors/commcare.html b/adaptors/commcare.html index 254d30aaf00..288c7f18f36 100644 --- a/adaptors/commcare.html +++ b/adaptors/commcare.html @@ -22,8 +22,8 @@ - - + +
@@ -83,7 +83,7 @@ with the CommCare API.

Implementation Examples

- - + + \ No newline at end of file diff --git a/adaptors/dhis2.html b/adaptors/dhis2.html index 79385e52bc2..f14de74655e 100644 --- a/adaptors/dhis2.html +++ b/adaptors/dhis2.html @@ -22,8 +22,8 @@ - - + +
@@ -64,7 +64,7 @@ DHIS2 Integration Scenarios

4 Interoperable DHIS2-LMIS in Senegal, Tanzania and Ghana

5 CRVS Fellowship report SmartVA and DHIS2 integration in Sri Lanka

Integration Options

  1. Data integration via DHIS2 Web API: https://docs.dhis2.org/en/develop/using-the-api/dhis-core-version-235/web-api.html

  2. Metadata integration via DHIS2 Web API. OpenFn implementations can leverage the DHIS2 adaptor.

Integration Examples

  1. DHIS2 Demo Implementations: https://github.com/OpenFn/dhis2-demo
  2. Lesotho Integration connecting two DHIS2 instances: https://github.com/OpenFn/lesotho-dhis2
- - + + \ No newline at end of file diff --git a/adaptors/godata.html b/adaptors/godata.html index 634cbdbeb45..892e458cb93 100644 --- a/adaptors/godata.html +++ b/adaptors/godata.html @@ -22,8 +22,8 @@ - - + +
@@ -36,7 +36,7 @@ language-http can be used to make HTTP requests to the Go.Data API and can perform any operations not supported by language-godata.

Implementation Examples

See Go.Data docs site: https://worldhealthorganization.github.io/godata/integration-scripts/

- - + + \ No newline at end of file diff --git a/adaptors/googlesheets.html b/adaptors/googlesheets.html index 4371a85826a..877e4e81969 100644 --- a/adaptors/googlesheets.html +++ b/adaptors/googlesheets.html @@ -22,8 +22,8 @@ - - + +
@@ -31,7 +31,7 @@ example when a new submission is made to a Google Form. Below is some sample code you may add to your Google Sheet to make it push data to OpenFn whenever new rows are added.

function sendToOpenFn(e) {
var payload = JSON.stringify(e);
var url = 'https://www.openfn.org/inbox/your-id-here';
var options = {
method: 'post',
contentType: 'application/json',
payload: payload,
};
var response = UrlFetchApp.fetch(url, options);
}

function isDate(v) {
if (Object.prototype.toString.call(v) === '[object Date]') {
if (isNaN(v.getTime())) {
return false;
} else {
return true;
}
} else {
return false;
}
}

function isNumber(v) {
if (Object.prototype.toString.call(v) === '[object Number]') {
return true;
} else {
return false;
}
}

function getReportData() {
var bookReportData = { formId: 'bookReport', data: [] };
var data = SpreadsheetApp.getActiveSheet().getDataRange().getValues();

var pageCount = 0;
var bookRating = 0;

for (i in data) {
if (isDate(data[i][0])) {
// ignore header line
if (isNumber(data[i][3])) {
pageCount = data[i][3];
}

if (isNumber(data[i][6])) {
bookRating = data[i][6];
}

bookReportData.data.push({
Timestamp: data[i][0],
Title: data[i][1],
Author: data[i][2],
NumberOfPages: pageCount,
Summary: data[i][4],
Protagonist: data[i][5],
Rating: bookRating,
EmailTeacher: data[i][7],
EmailStudent: data[i][8],
SendStatus: data[i][9],
});
}
}

// Logger.log(bookReportData);

sendToOpenFn(bookReportData);
}
- - + + \ No newline at end of file diff --git a/adaptors/kobotoolbox.html b/adaptors/kobotoolbox.html index 962559ac3aa..9da2de8ac10 100644 --- a/adaptors/kobotoolbox.html +++ b/adaptors/kobotoolbox.html @@ -22,8 +22,8 @@ - - + +
@@ -89,7 +89,7 @@ requirements, language-http may also be implemented to send GET/POST/PUT requests to the Kobo APIs.

Integration Examples

See the ConSoSci Github repo for several example Kobo-to-database jobs: https://github.com/OpenFn/consosci

- - + + \ No newline at end of file diff --git a/adaptors/library.html b/adaptors/library.html index 289cb6f8841..ea5a127b6a7 100644 --- a/adaptors/library.html +++ b/adaptors/library.html @@ -22,8 +22,8 @@ - - + +
@@ -61,7 +61,7 @@ experience in the future. We'd like to provide a way for users to "upvote" or "downvote" certain jobs (think: StackOverflow) which they found useful. Get in touch if you're interested in helping out!

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/0-Get-TEI-data-2021-06-02.html b/adaptors/library/jobs/auto/0-Get-TEI-data-2021-06-02.html index 73a92e3a580..dccbd555a89 100644 --- a/adaptors/library/jobs/auto/0-Get-TEI-data-2021-06-02.html +++ b/adaptors/library/jobs/auto/0-Get-TEI-data-2021-06-02.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

0 - Get TEI data

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

alterState, dataValue, getData

Expression

// TODO: get all TEIs with vaccination state 'NOT YET REQUESTED' via save filter from Austin.


// NOTE: if we can get a webhook with the desired info, let's drop this job!

getData('trackedEntityInstances', {
fields: '*',
ou: 'V5XvX1wr1kF', // traningland?
program: 'EZkN8vYZwjR', //
trackedEntityInstance: dataValue('id'), // the value from the post
});

alterState(state => {
console.log('The response from DHIS2', state.data);
console.log('Only pass necessary data to the DIVOC job.');
const necessary = state.data.trackedEntityInstances[0];
console.log(necessary);
return { ...state, data: necessary };
});

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/01-send-mailgun-email-2018-12-04.html b/adaptors/library/jobs/auto/01-send-mailgun-email-2018-12-04.html index e0a77c74529..427ead9fec0 100644 --- a/adaptors/library/jobs/auto/01-send-mailgun-email-2018-12-04.html +++ b/adaptors/library/jobs/auto/01-send-mailgun-email-2018-12-04.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

01 send mailgun email

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataValue, field, fields, send

Expression

send(
fields(
field('from', 'aleksa@openfn.org'),
field('to', 'aleksa@openfn.org, aleksa@verasolutions.org'),
field('subject', 'Kobo: New Form Submitted'),
//You can write your own custom, anonymous functions to do whatever you desire - see function(state)
field('text', function(state) {
const msgText = "A form was submitted by "+ dataValue("_submitted_by")(state) + ". Please login to review!"
return msgText
//result will be an email with body text "A form was submitted by [Kobo Submitted By User]. Please login to review!"

})
)
)
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/01a-Create-Registrants-2019-11-19.html b/adaptors/library/jobs/auto/01a-Create-Registrants-2019-11-19.html index af249a6e57a..e4d919714dd 100644 --- a/adaptors/library/jobs/auto/01a-Create-Registrants-2019-11-19.html +++ b/adaptors/library/jobs/auto/01a-Create-Registrants-2019-11-19.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

01a/ Create Registrants

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: 01a/ Create Registrants
  • Adaptor: @openfn/language-http
  • Adaptor Version: latest
  • Created almost 4 years ago
  • Updated over 3 years ago
  • Score: 0 (an indicator of how useful this job may be)

Key Functions

alterState, post, JSON

Expression

// @trigger 'odk submission' either via Aggregate JSON Forwarding or via direct
// submission to OpenFn.org/inbox
// @credential 'ihris'
// @adaptor 'http'
// -----------------------------------------------------------------------------

// =============================================================================
// Pluck out parts of the ODK submission and prepare our 'person' object that we
// will use in multiple requests to iHRIS. =====================================
console.log(JSON.stringify(state.data))
alterState(state => {
state.person = {
'form[person][0][0][fields][id]': 'person|0',
'form[person][0][0][fields][surname]': state.data.RegistrationForm.last_name,
'form[person][0][0][fields][firstname]': state.data.RegistrationForm.first_name,
'form[person][0][0][fields][nationality]': `country|${state.data.RegistrationForm.country}`,
'form[person][0][0][fields][residence]': 'district|3',
};
return state;
});

// =============================================================================
// Create records via iHRIS api, with the hostUrl, port, and authentication
// handled by the credential ===================================================
post(
'/manage/person',
{
formData: state => {
state.person.submit_type = 'confirm';
return state.person;
},
},
post('/manage/person', {
formData: state => {
state.person.submit_type = 'save';
return state.person;
},
options: {
successCodes: [302],
},
})
);


- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/01b-Query-new-person-record-2019-12-13.html b/adaptors/library/jobs/auto/01b-Query-new-person-record-2019-12-13.html index 1df1e923a98..c8ba269f6fa 100644 --- a/adaptors/library/jobs/auto/01b-Query-new-person-record-2019-12-13.html +++ b/adaptors/library/jobs/auto/01b-Query-new-person-record-2019-12-13.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

01b/ Query new person record

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: 01b/ Query new person record
  • Adaptor: @openfn/language-mysql
  • Adaptor Version: latest
  • Created almost 4 years ago
  • Updated over 3 years ago
  • Score: 0 (an indicator of how useful this job may be)

Key Functions

alterState

Expression

sqlString(state => {
// The person information is in state from the previous operation
console.log(state.references[0].RegistrationForm)
return (
`SELECT id FROM hippo_person WHERE firstname='` +
state.references[0].RegistrationForm.first_name +
`' AND surname='` +
state.references[0].RegistrationForm.last_name +
`'`
);
});

alterState(state => {
// Note: we pluck out on the 'RowDataResponses' from the SQL server.
const personData = state.response.body;
console.log(personData);
// Get the first record
state.data.person_id = personData[0] && personData[0].id
return state;
});

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/01c-Create-person_position-record-2019-12-13.html b/adaptors/library/jobs/auto/01c-Create-person_position-record-2019-12-13.html index 41053e8ed14..e3ee0036196 100644 --- a/adaptors/library/jobs/auto/01c-Create-person_position-record-2019-12-13.html +++ b/adaptors/library/jobs/auto/01c-Create-person_position-record-2019-12-13.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

01c/ Create person_position record

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: 01c/ Create person_position record
  • Adaptor: @openfn/language-http
  • Adaptor Version: latest
  • Created almost 4 years ago
  • Updated over 3 years ago
  • Score: 0 (an indicator of how useful this job may be)

Key Functions

alterState, post

Expression

// Pluck out parts of the ODK submission and prepare our 'person_postion' object that we
// will use in multiple requests to iHRIS. =====================================
alterState(state => {
console.log(state);
// The position field in the form holds the position ID and the salary
const positionData = state.references[0].RegistrationForm.position.split('_');
const startDateComponents = state.references[0].RegistrationForm.start_date.split('-')
state.person_position = {
'form[person_position][0][0][fields][id]': 'person_position|0',
'form[person_position][0][0][fields][parent]': state.data.person_id,
'form[person_position][0][0][fields][position]': 'position|'+positionData[0],
'form[person_position][0][0][fields][start_date][day]': startDateComponents[2],
'form[person_position][0][0][fields][start_date][month]': startDateComponents[1],
'form[person_position][0][0][fields][start_date][year]': startDateComponents[0],
'form[salary][0][0][fields][salary]': 'currency|3='+positionData[1],
'can_edit_position': '1'
};
state.person_contact = {
'form[person_contact_personal][0][0][fields][id]': 'person_contact_personal|0',
'form[person_contact_personal][0][0][fields][parent]': state.data.person_id,
'form[person_contact_personal][0][0][fields][mobile_phone]': state.references[0].RegistrationForm.phone_number,
'contact_type': 'personal',
};
return state;
});

// =============================================================================
// Create records via iHRIS api, with the hostUrl, port, and authentication
// handled by the credential ===================================================
post(
'/manage/make_offer',
{
formData: state => {
state.person_position.submit_type = 'confirm';
return state.person_position;
},
},
post('/manage/make_offer', {
formData: state => {
state.person_position.submit_type = 'save';
return state.person_position;
},
options: {
successCodes: [302],
},
})
);

post(
'/manage/contact?contact_type=personal',
{
formData: state => {
state.person_contact.submit_type = 'confirm';
return state.person_contact;
},
},
post('/manage/contact?contact_type=personal', {
formData: state => {
state.person_contact.submit_type = 'save';
return state.person_contact;
},
options: {
successCodes: [302],
},
})
);


- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/02a-Query-DB-for-people-to-pay-2019-12-11.html b/adaptors/library/jobs/auto/02a-Query-DB-for-people-to-pay-2019-12-11.html index 15550b77085..e4f8b12eab1 100644 --- a/adaptors/library/jobs/auto/02a-Query-DB-for-people-to-pay-2019-12-11.html +++ b/adaptors/library/jobs/auto/02a-Query-DB-for-people-to-pay-2019-12-11.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

02a/ Query DB for people to pay

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: 02a/ Query DB for people to pay
  • Adaptor: @openfn/language-mysql
  • Adaptor Version: latest
  • Created almost 4 years ago
  • Updated over 3 years ago
  • Score: 0 (an indicator of how useful this job may be)

Key Functions

alterState

Expression


sqlString(state => {
// stored procedure will return a list of names, phone numbers (MSISDN), and salary info for employees that should be paid today
return 'CALL get_employees_to_pay();';
});

//alterState(state => {
// Note: we pluck out on the 'RowDataResponses' from the SQL server.
// state.data.records = state.response.body[0];
// return state;
//});
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/02b-Initiate-Payments-2019-11-19.html b/adaptors/library/jobs/auto/02b-Initiate-Payments-2019-11-19.html index 4f4e209879b..2bd05a5a01d 100644 --- a/adaptors/library/jobs/auto/02b-Initiate-Payments-2019-11-19.html +++ b/adaptors/library/jobs/auto/02b-Initiate-Payments-2019-11-19.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

02b/ Initiate Payments

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: 02b/ Initiate Payments
  • Adaptor: @openfn/language-http
  • Adaptor Version: latest
  • Created almost 4 years ago
  • Updated over 3 years ago
  • Score: 0 (an indicator of how useful this job may be)

Key Functions

alterState, dataPath, each, map, post

Expression

// @trigger 'when 2a succeeds'
// @credential 'ihris-mifos-combined'
// @adaptor 'http'
// -----------------------------------------------------------------------------

// Hang 'payees' on state so that operations which replace "response" don't
// overwrite these data. QUESTION: Why pluck body[0] instead of body[*]? What
// happens if there are multiple payees? Is that first item in the body array an
// array itself?
alterState(state => {
state.data = { payees: state.response.body[0] };
state.saved_config = state.configuration;
return state;
});

// ===========================================================================
// Make payment requests in Mifos with the reponse, either in bulk or by
// iterating through the array of registrants and making a separate request
// for each one ==============================================================
each(
dataPath('payees[*]'),
post(
`${state.configuration.mifosUrl}/channel/transactions`,
{
authentication: state.configuration.mifosAuth,
headers: {
'content-type': 'application/json',
'X-Tenant-Identifier': 'tn07',
},
// Can we send an array of payments to make in a single request?
// body: state.data.registrants.map(r => {
// console.log(`Initiating payment for ${r.name}.`);
// return {
// payer: { msisdn: state.configuration.mifosAcct },
// payee: { msisdn: r.phone },
// amount: r.amount,
// };
// }),
body: state => {
return {
payer: {
partyIdInfo: {
partyIdType: 'MSISDN',
partyIdentifier: '27710203999',
},
},
payee: {
partyIdInfo: {
partyIdType: 'MSISDN',
partyIdentifier: state.data.msisdn,
},
},
amountType: 'SEND',
transactionType: {
scenario: 'PAYMENT',
initiator: 'PAYER',
initiatorType: 'CONSUMER',
},
amount: {
currency: 'USD',
amount: state.data.salary / 52,
},
};
},
},
state => {
const today = new Date();
const currPayee = state.references[0];
state.data.person_payment = {
'form[person_payments][0][0][fields][id]': 'person_payments|0',
'form[person_payments][0][0][fields][parent]':
'person|' + currPayee.person_id,
'form[person_payments][0][0][fields][date][day]': today.getDate(),
'form[person_payments][0][0][fields][date][month]':
today.getMonth() + 1,
'form[person_payments][0][0][fields][date][year]': today.getFullYear(),
'form[person_payments][0][0][fields][amount]': currPayee.salary / 52,
'form[person_payments][0][0][fields][transactionId]':
state.data.body.transactionId,
'form[person_payments][0][0][fields][status]':
state.data.body.transactionId ? 'initiated' : 'failed',
};
// =====================================================================
// Create "initiated" payments in iHRIS with their mifos external IDs ==
post(
`${state.saved_config.ihrisUrl}/manage/person_payments`,
{
authentication: state.configuration.ihrisAuth,
formData: state => {
state.data.person_payment.submit_type = 'confirm';
console.log('PaymentData: ' + state.data.person_payment);
return state.data.person_payment;
},
},
post(`${state.saved_config.ihrisUrl}/manage/person_payments`, {
authentication: state.configuration.ihrisAuth,
formData: state => {
state.references[1].person_payment.submit_type = 'save';
return state.references[1].person_payment;
},
options: {
successCodes: [302],
},
})
)(state);
}
)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/03-Update-Payment-Status-2019-11-19.html b/adaptors/library/jobs/auto/03-Update-Payment-Status-2019-11-19.html index d6ed6f091bf..daaddf10054 100644 --- a/adaptors/library/jobs/auto/03-Update-Payment-Status-2019-11-19.html +++ b/adaptors/library/jobs/auto/03-Update-Payment-Status-2019-11-19.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

03/ Update Payment Status

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: 03/ Update Payment Status
  • Adaptor: @openfn/language-mysql
  • Adaptor Version: latest
  • Created almost 4 years ago
  • Updated over 3 years ago
  • Score: 0 (an indicator of how useful this job may be)

Key Functions

alterState

Expression

sqlString(state => {
console.log(state.data.transactionCode);
return `SELECT record FROM entry WHERE string_value='${state.data.transactionCode}'`;
});

alterState(state => {
// Note: we pluck out on the 'RowDataResponses' from the SQL server.
const recordData = state.response.body.filter(x => x.record !== undefined);
// Get the first record
state.data.record = recordData[0] && recordData[0].record;
return state;
});

sqlString(state => {
return `UPDATE entry SET string_value='completed' where record=${state.data.record} and string_value='initiated'`;
});

sqlString(state => {
return `UPDATE last_entry SET string_value='completed' where record=${state.data.record} and string_value='initiated'`;
});

sqlString(state => {
return `UPDATE hippo_person_payments SET status='completed' where id='person_payments|${state.data.record}'`;
});
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/04a-Query-for-job-changes-2019-12-12.html b/adaptors/library/jobs/auto/04a-Query-for-job-changes-2019-12-12.html index 8f03cfd667a..db3e1a03d92 100644 --- a/adaptors/library/jobs/auto/04a-Query-for-job-changes-2019-12-12.html +++ b/adaptors/library/jobs/auto/04a-Query-for-job-changes-2019-12-12.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

04a/Query for job changes

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: 04a/Query for job changes
  • Adaptor: @openfn/language-mysql
  • Adaptor Version: latest
  • Created almost 4 years ago
  • Updated over 3 years ago
  • Score: 0 (an indicator of how useful this job may be)

Key Functions

alterState

Expression

sqlString(state => {
return "SELECT position_id, position_name, salary, facility_id, facility_name, status \
FROM position_updates WHERE status in ('NEW', 'CLOSED');";
});

alterState(state => {
state.new_jobs = state.response.body;
console.log(state.new_jobs);
return state;
})

sqlString(state => {
return `UPDATE position_updates SET status='PROCESSED' WHERE status in ('NEW','CLOSED')`;
});
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/04b-Update-ODK-form-2019-12-03.html b/adaptors/library/jobs/auto/04b-Update-ODK-form-2019-12-03.html index 48a6aaea79f..d375cdebff7 100644 --- a/adaptors/library/jobs/auto/04b-Update-ODK-form-2019-12-03.html +++ b/adaptors/library/jobs/auto/04b-Update-ODK-form-2019-12-03.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

04b/ Update ODK form

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: 04b/ Update ODK form
  • Adaptor: @openfn/language-http
  • Adaptor Version: latest
  • Created almost 4 years ago
  • Updated over 3 years ago
  • Score: 0 (an indicator of how useful this job may be)

Key Functions

get, post, Number

Expression

// Your job goes here.
get(
'http://165.227.185.106/formXml',
{
query: {
formId: 'registration_form',
},
},
state => {
console.log('Start processing state and form template!');

let template = state.data.body;
let templateUpdated = false;

const itemEx = /<item>\s?<label>[^<>]*<\/label>\s?<value>[^<>]*<\/value>\s?<\/item>/gi;
const itemMatches = template.match(itemEx);

const selectFacilityEx = /<select1\s+ref="\/RegistrationForm\/position_facility">/gi;
//const selectFacilityEx = /<select1\s+ref="\/data\/position_facility">/gi;
const selectPositionEx = /<select1\s+ref="\/RegistrationForm\/position">/gi;
//const selectPositionEx = /<select1\s+ref="\/data\/position">/gi;

console.log(`Received ${state.new_jobs.length} new data!`);

for(let j = 0; j < state.new_jobs.length; j ++) {
let facilityExists = false;
let positionExists = false;

let facilityId = state.new_jobs[j].facility_id;
console.log(`Processing facility: ${facilityId}.`);

const positions = state.new_jobs[j].position_id.split('|');
const salaries = state.new_jobs[j].salary.split('=');

let positionId = `${positions[1]}_${salaries[1]}`;
console.log(`Processing position: ${positionId}.`);
for(let i = 0; i < itemMatches.length; i ++) {
if (itemMatches[i].indexOf(facilityId) >= 0) {
facilityExists = true;
}
if (itemMatches[i].indexOf(positionId) >= 0) {
if (state.new_jobs[j].status === 'CLOSED') {
console.log(`Removing closed position: ${positionId}.`);
template = template.replace(itemMatches[i], '');
templateUpdated = true;
}
positionExists = true;
}
}

if (!facilityExists) {
const selectFacilityMatches = template.match(selectFacilityEx);
console.log("Facility matches: "+selectFacilityMatches)
const facilityItem =
`<item><label>${state.new_jobs[j].facility_name}</label><value>${facilityId}</value></item>`;
console.log(`Adding facility: ${facilityItem}.`);
template = template.replace(
selectFacilityEx,
selectFacilityMatches[0] + facilityItem
);
templateUpdated = true;
} else {
console.log('Not seeing any facility to add. Moving along!');
}

if (!positionExists && state.new_jobs[j].status === 'NEW') {
const selectPositionMatches = template.match(selectPositionEx);
const positionItem =
`<item><label>${state.new_jobs[j].position_name}</label><value>${positionId}</value></item>`;
console.log(`Adding position: ${positionItem}.`);
template = template.replace(
selectPositionEx,
selectPositionMatches[0] + positionItem
);
templateUpdated = true;
} else {
console.log('Not seeing any position to add. Moving along!');
}
}

if (templateUpdated) {
const versionEx = /id="\S+"\s+version="(\S+)"/;
const versionMatches = template.match(versionEx);
const currentVersion = Number.parseInt(versionMatches[1]);
console.log(`Updating form version from: ${currentVersion}`);
template = template.replace(currentVersion, currentVersion + 1);
}

state.template = template;
return state;
}
);

post('http://165.227.185.106/formUpload', {
formData: state => {
return {
form_def_file: {
value: state.template,
options: {
filename: 'registration_form.xml'
}
}
};
},
});

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/05-Submit-employee-evaluation-2019-12-03.html b/adaptors/library/jobs/auto/05-Submit-employee-evaluation-2019-12-03.html index a14bf8ba110..64e4a9ceeed 100644 --- a/adaptors/library/jobs/auto/05-Submit-employee-evaluation-2019-12-03.html +++ b/adaptors/library/jobs/auto/05-Submit-employee-evaluation-2019-12-03.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

05/ Submit employee evaluation

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: 05/ Submit employee evaluation
  • Adaptor: @openfn/language-http
  • Adaptor Version: latest
  • Created almost 4 years ago
  • Updated over 3 years ago
  • Score: 0 (an indicator of how useful this job may be)

Key Functions

alterState, post

Expression

// @trigger 'when employee evaluation form arrives'
// @credential 'ihris-mifos-combined'
// @adaptor 'http'
// -----------------------------------------------------------------------------

alterState(state => {
state.payee = state.data.EvaluationForm;
state.saved_config = state.configuration;
return state;
});

post(
`${state.configuration.mifosUrl}/channel/transactions`,
{
authentication: state.configuration.mifosAuth,
headers: {
'content-type': 'application/json',
'X-Tenant-Identifier': 'tn07',
},
body: state => {
return {
payer: {
partyIdInfo: {
partyIdType: 'MSISDN',
partyIdentifier: '27710407990',
},
},
payee: {
partyIdInfo: {
partyIdType: 'MSISDN',
partyIdentifier: state.payee.social_worker_id.split('_')[1],
},
},
amountType: 'SEND',
transactionType: {
scenario: 'PAYMENT',
initiator: 'PAYER',
initiatorType: 'CONSUMER',
},
amount: {
currency: 'USD',
// Calculate the bonus amount - for now just use number of clients seen * 100
amount: state.payee.client_counts*100,
},
};
},
},
state => {
const today = new Date();
state.data.person_payment = {
'form[person_payments][0][0][fields][id]': 'person_payments|0',
'form[person_payments][0][0][fields][parent]':
'person|' + state.payee.social_worker_id.split('_')[0],
'form[person_payments][0][0][fields][date][day]': today.getDate(),
'form[person_payments][0][0][fields][date][month]':
today.getMonth() + 1,
'form[person_payments][0][0][fields][date][year]': today.getFullYear(),
'form[person_payments][0][0][fields][amount]': state.payee.client_counts*100,
'form[person_payments][0][0][fields][transactionId]':
state.data.body.transactionId,
'form[person_payments][0][0][fields][status]':
state.data.body.transactionId ? 'initiated' : 'failed',
};
// =====================================================================
// Create "initiated" payments in iHRIS with their mifos external IDs ==
post(
`${state.saved_config.ihrisUrl}/manage/person_payments`,
{
authentication: state.configuration.ihrisAuth,
formData: state => {
state.data.person_payment.submit_type = 'confirm';
console.log('PaymentData: ' + state.data.person_payment);
return state.data.person_payment;
},
},
post(`${state.saved_config.ihrisUrl}/manage/person_payments`, {
authentication: state.configuration.ihrisAuth,
formData: state => {
state.references[1].person_payment.submit_type = 'save';
return state.references[1].person_payment;
},
options: {
successCodes: [302],
},
})
)(state);
}
);


- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/05a-Query-for-new-employees-2019-12-19.html b/adaptors/library/jobs/auto/05a-Query-for-new-employees-2019-12-19.html index 21c67995a17..0b3ac3d08f0 100644 --- a/adaptors/library/jobs/auto/05a-Query-for-new-employees-2019-12-19.html +++ b/adaptors/library/jobs/auto/05a-Query-for-new-employees-2019-12-19.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

05a/Query for new employees

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: 05a/Query for new employees
  • Adaptor: @openfn/language-mysql
  • Adaptor Version: latest
  • Created over 3 years ago
  • Updated over 3 years ago
  • Score: 0 (an indicator of how useful this job may be)

Key Functions

alterState

Expression

sqlString(state => {
return "SELECT person_id, person_name, msisdn, status FROM employee_updates WHERE status='NEW';";
});

alterState(state => {
state.new_employees = state.response.body;
console.log(state.new_employees);
return state;
})

sqlString(state => {
return `UPDATE employee_updates SET status='PROCESSED' WHERE status='NEW'`;
});
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/05b-Update-ODK-eval-form-2019-12-19.html b/adaptors/library/jobs/auto/05b-Update-ODK-eval-form-2019-12-19.html index 633aa9132f6..1e6bdaad2cf 100644 --- a/adaptors/library/jobs/auto/05b-Update-ODK-eval-form-2019-12-19.html +++ b/adaptors/library/jobs/auto/05b-Update-ODK-eval-form-2019-12-19.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

05b/Update ODK eval form

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: 05b/Update ODK eval form
  • Adaptor: @openfn/language-http
  • Adaptor Version: latest
  • Created over 3 years ago
  • Updated over 3 years ago
  • Score: 0 (an indicator of how useful this job may be)

Key Functions

get, post, Number

Expression

// Your job goes here.
get(
'http://165.227.185.106/formXml',
{
query: {
formId: 'evaluation_form',
},
},
state => {
let template = state.data.body;
let templateUpdated = false;

const itemEx = /<item>\s?<label>[^<>]*<\/label>\s?<value>[^<>]*<\/value>\s?<\/item>/gi;
const itemMatches = template.match(itemEx);

const selectUserEx = /<select1\s+ref="\/EvaluationForm\/social_worker_id">/gi;

console.log(`Receiving ${state.new_employees.length} new data!`);

for (let j = 0; j < state.new_employees.length; j++) {
let userExists = false;

let userId = state.new_employees[j].person_id.split('|')[1];
console.log(`Processing user: ${userId}.`);

for (let i = 0; i < itemMatches.length; i++) {
if (itemMatches[i].indexOf(userId) >= 0) {
userExists = true;
}
}

if (!userExists) {
const selectUserMatches = template.match(selectUserEx);
const msisdn = state.new_employees[j].msisdn;
const userItem =
`<item><label>${state.new_employees[j].person_name}</label><value>${userId}_${msisdn}</value></item>`;
console.log(`Adding user: ${userItem}.`);
template = template.replace(
selectUserEx,
selectUserMatches[0] + userItem
);
templateUpdated = true;
} else {
console.log('Not seeing any user to add. Moving along!');
}
}

if (templateUpdated) {
const versionEx = /id="\S+"\s+version="(\S+)"/;
const versionMatches = template.match(versionEx);
const currentVersion = Number.parseInt(versionMatches[1]);
console.log(`Updating form version from: ${currentVersion}`);
template = template.replace(currentVersion, currentVersion + 1);
}

state.template = template;
return state;
}
);

post('http://165.227.185.106/formUpload', {
formData: state => {
return {
form_def_file: {
value: state.template,
options: {
filename: 'evaluation_form.xml'
}
}
};
},
});

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/1-Create-Payment-in-SF-2018-09-03.html b/adaptors/library/jobs/auto/1-Create-Payment-in-SF-2018-09-03.html index f822d863424..3bb94fbdd39 100644 --- a/adaptors/library/jobs/auto/1-Create-Payment-in-SF-2018-09-03.html +++ b/adaptors/library/jobs/auto/1-Create-Payment-in-SF-2018-09-03.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

1. Create Payment in SF

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

create, dataValue, field, fields, relationship

Expression

create('Payment__c', fields(
field('Name', dataValue('reference_number')),
field('Amount__c', dataValue('amount')),
field('Phone_Number__c', dataValue('sender_number')),
relationship('Contract__r', 'ContractNumber', dataValue('contract_number'))
));
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/1-Get-CommCare-Forms-Bulk-Extract-2021-04-08.html b/adaptors/library/jobs/auto/1-Get-CommCare-Forms-Bulk-Extract-2021-04-08.html index c30024fd993..a7d863424c5 100644 --- a/adaptors/library/jobs/auto/1-Get-CommCare-Forms-Bulk-Extract-2021-04-08.html +++ b/adaptors/library/jobs/auto/1-Get-CommCare-Forms-Bulk-Extract-2021-04-08.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

1. Get CommCare Forms (Bulk Extract)

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: 1. Get CommCare Forms (Bulk Extract)
  • Adaptor: @openfn/language-http
  • Adaptor Version: v3.1.7
  • Created over 2 years ago
  • Updated over 1 year ago
  • Score: 0 (an indicator of how useful this job may be)

Key Functions

each, get, post

Expression

get(
'https://www.commcarehq.org/a/grassrootsoccertrial/api/v0.5/form/',
{
query: {
limit: 1000, //max limit: 1000
offset: state.meta && state.meta.next ? state.meta.limit + state.meta.offset : 0,
received_on_start: '2022-02-16',
received_on_end: '2022-02-18',
xmlns: 'http://openrosa.org/formdesigner/D771417E-354E-4906-A686-DF0BA230F16A',
},
},
state => {
const { meta, objects } = state.data;
const { openfnInboxUrl } = state.configuration;
const xmlnsList = [
// 'http://openrosa.org/formdesigner/40BBC9E3-C650-4F72-A027-235BF33D87AB', //Create Intervention form
// 'http://openrosa.org/formdesigner/D50A9A33-B1B4-41B2-9ACA-15DBBDFBCF8C', // My Team/Group Name form
//'http://openrosa.org/formdesigner/D771417E-354E-4906-A686-DF0BA230F16A', // Register Participant form
// 'http://openrosa.org/formdesigner/2B9F69A2-7E51-49F6-9FF9-F72F3EC14A9E', // Register Participant skillz
// 'http://openrosa.org/formdesigner/304CABA9-C8A8-4360-83C6-5E2EC1D2C2AC', // Intervention notes
//'http://openrosa.org/formdesigner/56DB98AC-67EC-4BBA-91FC-9443E84E43CE', //PHQ9
// 'http://openrosa.org/formdesigner/5E2E3990-2C3C-42F5-BE0B-922ED29939C4', // ART Adherence Self-Reporting Tool
// 'http://openrosa.org/formdesigner/4CFAC371-88F7-4349-BEB2-3DA2BDE445EA', //Malaria Testing Event Snapshot
// 'http://openrosa.org/formdesigner/FAF8F169-0FF1-4DE4-98B7-E4450BECBC84', //Malaria Testing Event Statistics
// 'http://openrosa.org/formdesigner/E31B9126-1DCA-4603-AD57-271A843448B3', //Register Skillz Plus Club
//'http://openrosa.org/formdesigner/5D8455CE-6044-471D-83BB-131A3D52794B', // Service Referral Followup -> confirm services received
// 'http://openrosa.org/formdesigner/0B3DD3B4-A767-4671-A63C-8A352DAA8E2D', // service referral followup
//'http://openrosa.org/formdesigner/59E1207B-969F-402D-9EEE-675504036F78', //Home Visit log form
// 'http://openrosa.org/formdesigner/3B4B1C64-092A-4922-B033-94D80A11D960', // Coach Session Register form
// 'http://openrosa.org/formdesigner/41DF97A0-0E4B-460D-B983-13D404565009', //HIV Testing Event Snapshot
// 'http://openrosa.org/formdesigner/EAA0ABBB-C517-4E7F-82A9-5799E944FE52', //HIV Testing Event Statistics
// 'http://openrosa.org/formdesigner/EA6C0348-91F7-44FC-8786-B34F50B0CB62', //Register Event
// 'http://openrosa.org/formdesigner/34DD6DFD-13E7-4E19-8A27-F18B6D39E12E', //Attendance
//'http://openrosa.org/formdesigner/F55C4DF9-0CCD-4AED-A5C4-1E39ED2E45C4', //Attendance skillz plus club
// 'http://openrosa.org/formdesigner/A3AF9DA6-1D57-46E4-8431-A5C262DC2DBA', // Pre Challenges
// 'http://openrosa.org/formdesigner/D2F0F23F-9C0E-41E7-9C46-7553F8B5DCC8', // Post Challenges
//'http://openrosa.org/formdesigner/0DAB6FD9-A7C1-4F56-A1C8-794B7C123F95', // Service Referral
// 'http://openrosa.org/formdesigner/98041DA3-B37D-4E8E-A9B9-29EDC036A46A', // Aggregate Service Referrals
// 'http://openrosa.org/formdesigner/50A337EB-FBD8-4607-A664-21AAE51DFCD1', // Coach Support Visit form
// 'http://openrosa.org/formdesigner/AA396157-EBF9-4B51-B25A-D5BDA4F3DF73', // Coach Support Visit form Zambia
// 'http://openrosa.org/formdesigner/3FFDCE4F-35A9-4FA9-971F-EFFDC94E597F', //Risk & vulnerability assessment
//'http://openrosa.org/formdesigner/3DAF13EC-FA77-4480-8946-667D841B439A', //risk & vulnerability assessment | new Referrals
];

// const forms = objects.filter(obj => xmlnsList.includes(obj.form['@xmlns']));
const forms = objects;

state.configuration = { baseUrl: 'https://www.openfn.org' };
console.log('Posting form submissions to OpenFn Inbox...');

return each(forms, state => {
return post(`/inbox/${openfnInboxUrl}`, { body: state.data }, state => ({
...state,
data: {},
references: [],
}))(state);
})(state);
}
);
//ALL form xmlns codes
//xmlns: 'http://openrosa.org/formdesigner/D50A9A33-B1B4-41B2-9ACA-15DBBDFBCF8C', // My Team/Group Name form
//xmlns: 'http://openrosa.org/formdesigner/D771417E-354E-4906-A686-DF0BA230F16A', // Register Participant form
//xmlns: 'http://openrosa.org/formdesigner/2B9F69A2-7E51-49F6-9FF9-F72F3EC14A9E', // Register Participant skillz
//xmlns: 'http://openrosa.org/formdesigner/304CABA9-C8A8-4360-83C6-5E2EC1D2C2AC', // Intervention notes
//xmlns: 'http://openrosa.org/formdesigner/304CABA9-C8A8-4360-83C6-5E2EC1D2C2AC', // Intervention Notes form
//xmlns: 'http://openrosa.org/formdesigner/AA396157-EBF9-4B51-B25A-D5BDA4F3DF73', // Coach Support Visit form Zambia
//xmlns: 'http://openrosa.org/formdesigner/50A337EB-FBD8-4607-A664-21AAE51DFCD1', // Coach Support Visit form
//xmlns: 'http://openrosa.org/formdesigner/3B4B1C64-092A-4922-B033-94D80A11D960', // Coach Session Register form
//xmlns: 'http://openrosa.org/formdesigner/34DD6DFD-13E7-4E19-8A27-F18B6D39E12E', //Attendance
//xmlns: 'http://openrosa.org/formdesigner/4CFAC371-88F7-4349-BEB2-3DA2BDE445EA', //Malaria Testing Event Snapshot
//xmlns: 'http://openrosa.org/formdesigner/59E1207B-969F-402D-9EEE-675504036F78', //Home Visit log form
//xmlns: 'http://openrosa.org/formdesigner/41DF97A0-0E4B-460D-B983-13D404565009', //HIV Testing Event Snapshot
//xmlns: 'http://openrosa.org/formdesigner/551BCED9-077B-40EE-849D-0416756B9A75', // PHQ9
//xmlns: 'http://openrosa.org/formdesigner/0DAB6FD9-A7C1-4F56-A1C8-794B7C123F95', // Service Referral
//xmlns: 'http://openrosa.org/formdesigner/0B3DD3B4-A767-4671-A63C-8A352DAA8E2D', // Service Referral Followup
//xmlns: 'http://openrosa.org/formdesigner/98041DA3-B37D-4E8E-A9B9-29EDC036A46A', // Aggregate Service Referrals
//xmlns: 'http://openrosa.org/formdesigner/5E2E3990-2C3C-42F5-BE0B-922ED29939C4', // ART Adherence Self-Reporting Tool
//xmlns: 'http://openrosa.org/formdesigner/A3AF9DA6-1D57-46E4-8431-A5C262DC2DBA', // Pre Challenges
//xmlns: 'http://openrosa.org/formdesigner/D2F0F23F-9C0E-41E7-9C46-7553F8B5DCC8', // Post Challenges
//xmlns: 'http://openrosa.org/formdesigner/FAF8F169-0FF1-4DE4-98B7-E4450BECBC84', // Malaria Testing Event Statistics
//xmlns: 'http://openrosa.org/formdesigner/EA6C0348-91F7-44FC-8786-B34F50B0CB62', //Register Event
//xmlns: 'http://openrosa.org/formdesigner/EAA0ABBB-C517-4E7F-82A9-5799E944FE52', //HIV Testing Event Statistics

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/1-Get-data-from-SLUHIS-2023-03-08.html b/adaptors/library/jobs/auto/1-Get-data-from-SLUHIS-2023-03-08.html index 0b756ee71d2..fd1fbc79616 100644 --- a/adaptors/library/jobs/auto/1-Get-data-from-SLUHIS-2023-03-08.html +++ b/adaptors/library/jobs/auto/1-Get-data-from-SLUHIS-2023-03-08.html @@ -22,13 +22,13 @@ - - + +
Skip to main content
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/2-SMS-Balance-Update-to-Customer-2018-12-14.html b/adaptors/library/jobs/auto/2-SMS-Balance-Update-to-Customer-2018-12-14.html index 43451a8c6b7..b5d70433bfc 100644 --- a/adaptors/library/jobs/auto/2-SMS-Balance-Update-to-Customer-2018-12-14.html +++ b/adaptors/library/jobs/auto/2-SMS-Balance-Update-to-Customer-2018-12-14.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

2. SMS Balance Update to Customer

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataValue, field, fields, send

Expression

send(
fields(
field('to_number',
dataValue('Envelope.Body.notification.Phone_Number__c')
),
field('message_type', 'sms'),
field('route_id', 'PN5d224d8136086997'),
field('content',
'Payment successful! Your updated contract balance is '
+ state.data.Envelope.Body.notification.AmountDue__c
)
)
);
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Add-DHIS2-Data-Value-Sets-2016-03-28.html b/adaptors/library/jobs/auto/Add-DHIS2-Data-Value-Sets-2016-03-28.html index 6196c114fff..ebc7d75020a 100644 --- a/adaptors/library/jobs/auto/Add-DHIS2-Data-Value-Sets-2016-03-28.html +++ b/adaptors/library/jobs/auto/Add-DHIS2-Data-Value-Sets-2016-03-28.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Add DHIS2 Data Value Sets

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: Add DHIS2 Data Value Sets
  • Adaptor: @openfn/language-dhis2
  • Adaptor Version: v0.1.0
  • Created over 7 years ago
  • Updated almost 6 years ago
  • Score: 0 (an indicator of how useful this job may be)

Key Functions

dataPath, dataValue, each, field, fields

Expression

each(
dataPath("data[*]"),
// Use our system specific helper functions...
dataValueSet(
fields(
field("dataSet", "pBOMPrpg1QX"),
field("orgUnit", "DiszpKrYNg8"),
field("period", "201401"),
field("completeData", dataValue("today")),
field("dataValues", function(state) {
// Or write your own JS...
console.log("Do anything you want in here.");
return [
dataElement("qrur9Dvnyt5", state.data.site_school_number),
dataElement("oZg33kd9taw", state.data.light_source),
dataElement("msodh3rEMJa", state.data.number_of_children)
];
})
)
)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Attendance-Non-Skillz-2021-06-14.html b/adaptors/library/jobs/auto/Attendance-Non-Skillz-2021-06-14.html index 5e9c23cbe7c..1ba53f27fa0 100644 --- a/adaptors/library/jobs/auto/Attendance-Non-Skillz-2021-06-14.html +++ b/adaptors/library/jobs/auto/Attendance-Non-Skillz-2021-06-14.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Attendance Non Skillz

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataPath, dataValue, each, field, fields, lastReferenceValue, map, merge, query, relationship, upsert, Array

Expression

fn(state => {
if (!state.data.form.attendance_list.update_participant_cases.item) {
console.log('No participant attendance data was provided, not upserting to Salesforce.');
return state;
} else {
// query(
// `SELECT Id, Name, CommCare_Ext_ID__c FROM Event__c WHERE CommCare_Case_ID__c = '${state.data.form.attendance_list.update_participant_cases.item[0]['@id']}'`
// );

// fn(state => {
const records = lastReferenceValue('records')(state);
const eventName = lastReferenceValue('records[0].CommCare_Ext_ID__c')(state);

function replaceAccents(input) {
return input
.replace(/á|â|ã|à/, 'a')
.replace(/Á|Â|Ã|À/, 'A')
.replace(/ç/, 'c')
.replace(/é|ê/, 'e')
.replace(/É|Ê/, 'E')
.replace(/í/, 'i')
.replace(/Í/, 'I')
.replace(/ó|ô|õ/, 'o')
.replace(/Ó|Ô|Õ/, 'O')
.replace(/ú/, 'u')
.replace(/Ú/, 'u');
}
// if (!eventName) {
// console.log(
// `Participant not found with CommCare_Case_ID__c: ${state.data.form.attendance_list.update_participant_cases.item[0]['@id']}`
// );
// return state;
// }

return execute(
fn(state => {
// Note: lastReferenceValue selects the first item in the references array.
state.data.eventName = eventName ? eventName.replace(/\//gi, '') : null;

function getSessionValue(present) {
switch (present.toString().toLowerCase()) {
case 'yes':
return 'X';
case 'no':
return 'A';
case '':
return 'N';
default:
return 'U';
}
}

function getSessionId(session_text) {
return session_text.toString().trim().slice(0, session_text.indexOf(' ')).slice(1);
}

function objectToArray(object) {
if (!object) return [];
return !Array.isArray(object) ? [object] : object;
}

state.data.form.attendance_list.update_participant_cases.item = objectToArray(
state.data.form.attendance_list.update_participant_cases.item
);

const sessionText = dataValue('form.attendance_list.session')(state);
const sessionId = getSessionId(sessionText);

// @aleksa-krolls confirm the path for the session date
const sessionDate = dataValue("form.case['@date_modified']")(state);

state.data.form.attendance_list.update_participant_cases.item =
state.data.form.attendance_list.update_participant_cases.item.map(item => {
const sessionValue = getSessionValue(item.attendance_session);
return {
...item,
dynamicFields: {
[`Session_${sessionId}__c`]: sessionValue,
[`Session_${sessionId}_Date__c`]: sessionDate,
},
};
});

return state;
}),

each(
merge(
dataPath('form.attendance_list.update_participant_cases.item[*]'),
fields(
field('intervention_name', dataValue('form.intervention_name')),
field('eventName', dataValue('eventName')),
field('caseid', dataValue('form.case.@case_id'))
)
),
upsert('Attendance__c', 'CommCare_Ext_ID__c', state => ({
...fields(
relationship('Event__r', 'CommCare_Case_ID__c', dataValue('caseid')),
field(
'CommCare_Ext_ID__c',
state => `${state.data['@id']}-${replaceAccents(state.data.intervention_name)}`
),
relationship('Person_Attendance__r', 'Participant_Identification_Number_PID__c', dataValue('@id'))
),
...state.data.dynamicFields,
}))
)
)(state);
}
});

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/CHW-case-to-DHIS2-2023-04-27.html b/adaptors/library/jobs/auto/CHW-case-to-DHIS2-2023-04-27.html index d84db2d7f4e..53b1e269783 100644 --- a/adaptors/library/jobs/auto/CHW-case-to-DHIS2-2023-04-27.html +++ b/adaptors/library/jobs/auto/CHW-case-to-DHIS2-2023-04-27.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

CHW case to DHIS2

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

create, dataValue

Expression

create('trackedEntityInstances', {
trackedEntityType: 'nEenWmSyUEp', // a person
orgUnit: 'DiszpKrYNg8',
attributes: [
{
attribute: 'w75KJ2mc4zz', // attribute id for first name
value: dataValue('case.firstName')(state) // data from submission
},
{
attribute: 'zDhUuAYrxNC', // attribute id for last name
value: dataValue('case.lastName')(state) // data from another submission field
}
]
});
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Catch-Error-in-HTTP-Request-2016-08-26.html b/adaptors/library/jobs/auto/Catch-Error-in-HTTP-Request-2016-08-26.html index ef68eb8c2ac..b407074a797 100644 --- a/adaptors/library/jobs/auto/Catch-Error-in-HTTP-Request-2016-08-26.html +++ b/adaptors/library/jobs/auto/Catch-Error-in-HTTP-Request-2016-08-26.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Catch Error in HTTP Request

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: Catch Error in HTTP Request
  • Adaptor: @openfn/language-http
  • Adaptor Version: latest
  • Created about 7 years ago
  • Updated 11 months ago
  • Score: 0 (an indicator of how useful this job may be)

Key Functions

get, JSON

Expression

get(
'https://jsonplaceholder.typicode.com/wrongUrl', // the url
{
transformResponse: [
data => {
console.log("The data from the response, BEFORE the error is thrown");
console.log(JSON.stringify(data, null, 2))
return data;
}
],
}, // no additional options
state => { // the callback
console.log('the data', state.data)
return state;
}
);
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Coach-Session-Register-2021-05-03.html b/adaptors/library/jobs/auto/Coach-Session-Register-2021-05-03.html index 91e3daaaa63..9d645901f2d 100644 --- a/adaptors/library/jobs/auto/Coach-Session-Register-2021-05-03.html +++ b/adaptors/library/jobs/auto/Coach-Session-Register-2021-05-03.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Coach Session Register

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataValue, each, field, fields, query, relationship, upsert

Expression

// push to production
query(
`SELECT Coach_A__c, Coach_A__r.Name from Event__c where CommCare_Case_ID__c = '${state.data.form.case['@case_id']}'`
);

fn(state => {
const present = dataValue('form.present')(state).toLowerCase();

function getSessionValue() {
let value;
switch (present) {
case 'yes':
value = 'X';
break;
case 'no':
value = 'A';
break;
case '':
value = 'N';
break;
default:
value = 'U';
break;
}
return value;
}

const session_text = dataValue('form.session')(state);

const session_id = session_text.trim().slice(0, session_text.indexOf(' ')).slice(1);

const coachname = dataValue('form.coach_name')(state)
? dataValue('form.coach_name')(state)
: state.references[0].records[0].Coach_A__r.Name;

let external_id = `${dataValue('form.case.@case_id')(state)}
${coachname}`; //case_id + coach_name for external Id

state.data.commcare_external_id = external_id.toLowerCase().replace(/\s/g, '').trim();

state.data.dynamicFields = [
field(`Session_${session_id}__c`, getSessionValue()),
field(`Session_${session_id}_Date__c`, dataValue('form.date')(state)),
//field(`Session_${session_id}_Duration__c`, dataValue('form.duration')(state)), //NOTE: Duration fields don't exist in SF?
];

state.data.durationFields = [field(`Session_${session_id}_Duration__c`, dataValue('form.duration')(state))];

return state;
});

upsert('Event__c', 'CommCare_Case_ID__c', state => ({
...fields(field('CommCare_Case_ID__c', dataValue('form.case.@case_id'))),
...fields(...state.data.durationFields),
}));

query(
`SELECT Coach_A__c, Coach_A__r.CommCare_Ext_ID__c from Event__c where CommCare_Case_ID__c = '${state.data.form.case['@case_id']}'`
);

fn(state => {
const coaches = dataValue('form.coach_name')(state).split(' ');
const dynamicFields = state.data.dynamicFields;
const commcare_external_id = state.data.commcare_external_id;
const caseid = state.data.form.case['@case_id'];
return each(
coaches,
upsert('Attendance__c', 'CommCare_Ext_ID__c', state => ({
...fields(
//relationship('RecordType', 'Name', 'Coach Development'),
field('RecordTypeId', '012500000009jqaAAA'),
relationship('Event__r', 'CommCare_Case_ID__c', caseid),
relationship('Person_Attendance__r', 'CommCare_Ext_ID__c', state => {
const coach_name = state.data;
return coach_name;
}),
field('CommCare_Ext_ID__c', commcare_external_id)
),
...fields(...dynamicFields),
}))
)(state);
});

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/CommCare-FHIR.html b/adaptors/library/jobs/auto/CommCare-FHIR.html index 4e766ca9acf..f001f9d16ee 100644 --- a/adaptors/library/jobs/auto/CommCare-FHIR.html +++ b/adaptors/library/jobs/auto/CommCare-FHIR.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Create encounter in OpenHIM

📜 This job is an official example from OpenFn.

Metadata

Key Functions

dataValue, field, fields

Expression

// CommCare form submission mapped to the FHIR patient encounter standard,
// submitted by Simon Kelly @ Dimagi.
encounter(
fields(
field('resourceType', 'Encounter'),
field('status', 'finished'),
field('type', function (state) {
return [
{
coding: [
{
system: 'momconnect:type',
code: '8',
},
],
},
];
}),
field('contained', function (state) {
return [
{
resourceType: 'Patient',
id: 'patient',
identifier: [
{
use: 'official',
system: 'momconnect:sanid',
value: dataValue('properties.id_number')(state),
},
],
name: [
{
use: 'official',
family: [dataValue('properties.family_name')(state)],
given: [dataValue('properties.given_name')(state)],
text: dataValue('properties.given_name')(state).concat(
' ',
dataValue('properties.family_name')(state)
),
},
],
gender: 'female',
birthDate: dataValue('properties.dob')(state),
telecom: [
{
system: 'phone',
value: dataValue('properties.msisdn')(state),
},
],
communication: [
{
language: {
coding: [
{
system: 'urn:ietf:bcp:47',
code: dataValue('properties.language_code')(state),
},
],
},
preferred: true,
},
],
},
{
resourceType: 'Observation',
id: 'edd',
code: {
coding: [
{
system: 'http://loinc.org',
code: '11778-8',
display: 'Delivery date Estimated',
},
],
},
valueDateTime: dataValue('properties.edd')(state),
status: 'preliminary',
},
];
}),
field('patient', function (state) {
return {
reference: '#patient',
};
}),
field('period', function (state) {
return {
start: dataValue('properties.visit_date')(state),
};
}),
field('extension', function (state) {
return [
{
url: 'momconnect:mha',
valueInteger: 2,
},
{
url: 'momconnect:swt',
valueInteger: 3,
},
{
url: 'momconnect:dmsisdn',
valueString: '+27831111111',
},
];
})
)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/CommCare-to-Azure-Sql-2020-01-27.html b/adaptors/library/jobs/auto/CommCare-to-Azure-Sql-2020-01-27.html index 8ef90c454c5..ac6967bc776 100644 --- a/adaptors/library/jobs/auto/CommCare-to-Azure-Sql-2020-01-27.html +++ b/adaptors/library/jobs/auto/CommCare-to-Azure-Sql-2020-01-27.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

CommCare to Azure Sql

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

alterState, join, map, sql

Expression

// Insert household, fail on duplicate (consider upsert strategy, if you want!)
sql({
query:
'INSERT INTO Household (' +
[
'commcare_id',
'is_head',
'total_members',
'head_name',
'date_registered',
'village',
'new_thing',
].join(', ') +
`) VALUES ('` +
[
state.data.metadata.instanceID,
state.data.form.head_of_household === 'yes' ? 1 : 0,
state.data.form.hh_members,
state.data.form.individual_name,
state.data.form.registration_date,
state.data.form.village_name,
state.data.form.new_q,
].join(`', '`) +
`');`,
});

// Prepare a string to be used for VALUES (...) in our member insert.
alterState(state => {
const data = state.references[0];
const form = data.form;
const parentId = data.metadata.instanceID;
const memArr = form.register_hh_members.map((m, i) => {
return `('${parentId}-${i}', '${parentId}', '${m.hh_member_name}', '${m.age}')`;
});

state.members = memArr.join(', ');
return state;
});

// Insert members, fail on duplicate
sql({
query: state =>
`INSERT INTO HouseholdMember (commcare_id, parent, name, age) VALUES ${state.members}`,
});

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Create-Intervention-2021-04-08.html b/adaptors/library/jobs/auto/Create-Intervention-2021-04-08.html index 6f32600f870..3a1dd663274 100644 --- a/adaptors/library/jobs/auto/Create-Intervention-2021-04-08.html +++ b/adaptors/library/jobs/auto/Create-Intervention-2021-04-08.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Create Intervention

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

alterState, dataValue, field, fields, join, map, relationship, upsert

Expression

alterState((state) => {

function clean(str) {
if (!!str)
return str
.split('_')
.map(word => {
let new_word = word.toString().toLowerCase();
return new_word.slice(0, 1).toUpperCase() + new_word.slice(1);
})
.join(' ');
}

state.data.form.delivery_method = clean(state.data.form.delivery_method);

const coachFieldNames = ['Coach_A__r','Coach_B__r','Coach_C__r','Coach_D__r']

state.data.destinationCoachFields = state.data.form.coaches
.split(' ')
.reduce(
(accumulator, currentValue, currentIndex) => [
...accumulator,
(currentIndex < coachFieldNames.length && !!currentValue
? relationship(coachFieldNames[currentIndex], 'CommCare_Ext_ID__c', currentValue)
: []),
],
[]
);

return state;
});

upsert(
'Event__c',
'CommCare_Case_ID__c',
state=>({
...fields(
field('Name', dataValue('form.name_of_intervention')),
field('CommCare_Ext_ID__c', state => {
return dataValue('form.name_of_intervention')(state).replace(/\//gi, '');
}),
field('CommCare_Case_ID__c', dataValue('form.case.@case_id')),
relationship('RecordType', 'Name', 'Intervention'),
field('Business_Unit__c', state => {
const bu = dataValue('form.business_unit')(state);
return bu==='65680f0c4c144b03ad0f86bdc46c1ebc' ? 'GRS Zambia' :
bu==='04d98397e28046118fade28ced6b65cb' ? 'GRS Zimbabwe' :
bu==='ed125ab19ec34aacab79585e59eb76f4' ? 'GRS Partnerships': undefined ;
}),
relationship(
'Site__r',
'CommCare_Ext_ID__c',
dataValue('form.site')
),
relationship(
'Venue__r',
'CommCare_Ext_ID__c',
dataValue('form.Venue')

),
relationship(
'Curriculum__r',
'CommCare_Ext_ID__c',
dataValue('form.curriculum_selection.curriculum')
),
field('Delivery_Method__c', dataValue('form.delivery_method')),
field('Class_Group_Team__c', dataValue('form.class_grade')),
field('Pre_Post_Administered__c', dataValue('form.prepost_administered')),
field('Start_Date__c', dataValue('form.intervention_dates.start_date')),
field('End_Date__c', dataValue('form.intervention_dates.end_date'))
),
...fields(...state.data.destinationCoachFields)
})
);
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Create-Patient-in-OpenMRS-2019-10-24.html b/adaptors/library/jobs/auto/Create-Patient-in-OpenMRS-2019-10-24.html index 8f4a1c207a9..3c05a210155 100644 --- a/adaptors/library/jobs/auto/Create-Patient-in-OpenMRS-2019-10-24.html +++ b/adaptors/library/jobs/auto/Create-Patient-in-OpenMRS-2019-10-24.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Create Patient in OpenMRS

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataValue, field, fields

Expression

//Job to create patient in OpenMRS 
patient(
fields(
field("gender", dataValue("form.gender")), //map values from CommCare forms
field("names", function(state) {
return [{
"patient_id": dataValue("form.case.@case_id")(state),
"creator": dataValue("form.user")(state)
}]
})
)
)





- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Create-Person-in-OpenMRS-2016-02-12.html b/adaptors/library/jobs/auto/Create-Person-in-OpenMRS-2016-02-12.html index aca3d37d22e..62326c1f892 100644 --- a/adaptors/library/jobs/auto/Create-Person-in-OpenMRS-2016-02-12.html +++ b/adaptors/library/jobs/auto/Create-Person-in-OpenMRS-2016-02-12.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Create Person in OpenMRS

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataValue, field, fields

Expression

person(
fields(
field("gender", "M"),
field("names", function(state) {
return [{
"givenName": dataValue("form.first_name")(state),
"familyName": "Sports_Music_Field_Day"
}]
})
)
)
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Create-Person-in-SF-2019-02-25.html b/adaptors/library/jobs/auto/Create-Person-in-SF-2019-02-25.html index 9ae66f6b8a5..bfccb6c64b2 100644 --- a/adaptors/library/jobs/auto/Create-Person-in-SF-2019-02-25.html +++ b/adaptors/library/jobs/auto/Create-Person-in-SF-2019-02-25.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Create Person in SF

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataValue, field, fields, humanProper, relationship, upsert

Expression

upsert("Patient__c", "CommCare_Case_ID__c", fields(
field('CommCare_Case_ID__c', dataValue("form.case.@case_id")),
relationship('Clinic__r', 'Location_ID__c', dataValue('form.case.create.owner_id')),
field('First_Name__c', humanProper(state.data.form.case.update.patient_first_name)),
field('Last_Name__c', humanProper(state.data.form.case.update.patient_last_name)),
field('Patient_ID__c', dataValue('form.case.update.patient_id')),
field('Age_Months_Started_Treatment__c', dataValue('form.case.update.age_months_start_treatment_rounded')),
field('Registration_Date__c', (state) => {
const validDate = state.data.form.case.update.registration_date
return ( validDate ? new Date(validDate).toISOString() : null )
})
))
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Create-SMS-Linked-to-Contact-in-SF.html b/adaptors/library/jobs/auto/Create-SMS-Linked-to-Contact-in-SF.html index d08a2762e1e..6a1234e4eda 100644 --- a/adaptors/library/jobs/auto/Create-SMS-Linked-to-Contact-in-SF.html +++ b/adaptors/library/jobs/auto/Create-SMS-Linked-to-Contact-in-SF.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Create SMS linked to contact

📜 This job is an official example from OpenFn.

Metadata

Key Functions

create, dataValue, field, fields, relationship

Expression

create(
'SMS__c',
fields(
field('text__c', dataValue('message_text')),
relationship(
'Contact__r',
'Contact_Phone_Number__c',
dataValue('from_number')
),
field('date__c', dataValue('date'))
)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Create-TEI-dhis2-2021-03-22.html b/adaptors/library/jobs/auto/Create-TEI-dhis2-2021-03-22.html index 84e3cdb9322..5a6239f4197 100644 --- a/adaptors/library/jobs/auto/Create-TEI-dhis2-2021-03-22.html +++ b/adaptors/library/jobs/auto/Create-TEI-dhis2-2021-03-22.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Create TEI (dhis2)

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

create, dataValue

Expression

create('trackedEntityInstances', {
orgUnit: 'g8upMTyEZGZ',
trackedEntityType: 'nEenWmSyUEp',
program: 'IpHINAT79UW',
attributes: [
{ attribute: 'zDhUuAYrxNC', value: dataValue('body.Patient_name') },
{ attribute: 'w75KJ2mc4zz', value: dataValue('body.Last_Name_of_Patient') },
],
enrollments: [
{
orgUnit: 'g8upMTyEZGZ',
program: 'IpHINAT79UW',
programState: 'oRySG82BKE6', // active
enrollmentDate: dataValue('body.Date'),
incidentDate: dataValue('body.Date'),
},
],
});
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Create-contact-2021-03-01.html b/adaptors/library/jobs/auto/Create-contact-2021-03-01.html index 64dcbdebae8..56c4b8f9de8 100644 --- a/adaptors/library/jobs/auto/Create-contact-2021-03-01.html +++ b/adaptors/library/jobs/auto/Create-contact-2021-03-01.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Create contact

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

create, dataValue

Expression

create('Contact', {
FirstName: dataValue("body.Patient_name"),
LastName: dataValue('body.Last_Name_of_Patient'),
Age__c: dataValue("body.Age"),
Sex__c: dataValue('body.Sex'),
Case_ID__c: dataValue("body.National_ID"),
Comments__c: dataValue("body.Comments")
});

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/DHIS2-DataValues-API.html b/adaptors/library/jobs/auto/DHIS2-DataValues-API.html index cb956834dc1..9ae09f99475 100644 --- a/adaptors/library/jobs/auto/DHIS2-DataValues-API.html +++ b/adaptors/library/jobs/auto/DHIS2-DataValues-API.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Add data values

📜 This job is an official example from OpenFn.

Metadata

Key Functions

dataValue, field, fields

Expression

// ----
// Add data to data value sets in DHIS2 using a generic JSON message, submitted
// by Taylor Downs @ OpenFn.
// ---

dataValueSet(
fields(
field('dataSet', 'pBOMPrpg1QX'),
field('orgUnit', 'DiszpKrYNg8'),
field('period', '201401'),
field('completeData', dataValue('form.date')),
field('dataValues', function (state) {
return [
dataElement('qrur9Dvnyt5', dataValue('form.prop_a')(state)),
dataElement('oZg33kd9taw', dataValue('form.prop_b')(state)),
dataElement('msodh3rEMJa', dataValue('form.prop_c')(state)),
];
})
)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/DHIS2-Events-2016-01-27.html b/adaptors/library/jobs/auto/DHIS2-Events-2016-01-27.html index 02704cb8eb0..e70fa787b15 100644 --- a/adaptors/library/jobs/auto/DHIS2-Events-2016-01-27.html +++ b/adaptors/library/jobs/auto/DHIS2-Events-2016-01-27.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

DHIS2 Events

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

create, dataValue, Math

Expression

create('trackedEntityInstances', {
orgUnit: 'DiszpKrYNg8',
trackedEntityType: 'Zy2SEgA61ys',
attributes: [
{
attribute: 'flGbXLXCrEo', // system case ID
value: Math.random(),
},
],
});

// create('trackedEntityInstances', {
// trackedEntityType: 'nEenWmSyUEp', // a person
// orgUnit: 'g8upMTyEZGZ', // Njandama MCHP
// attributes: [
// {
// attribute: 'w75KJ2mc4zz', // attribute id for first name
// value: dataValue('case.firstName')(state), // data from submission
// },
// {
// attribute: 'zDhUuAYrxNC', // attribute id for last name
// value: dataValue('case.lastName')(state), // data from another submission field
// },
// ],
// enrollments: [
// {
// orgUnit: 'g8upMTyEZGZ', // Njandama MCHP
// program: 'IpHINAT79UW', // enroll in Child Program
// enrollmentDate: new Date().toISOString().slice(0, 10), // some custom javascript
// incidentDate: state.data.metadata.timeStart.slice(0, 10), // more custom javascript
// },
// ],
// });
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/DHIS2-Events-API.html b/adaptors/library/jobs/auto/DHIS2-Events-API.html index 26dae07440d..4cb3e9bf3cf 100644 --- a/adaptors/library/jobs/auto/DHIS2-Events-API.html +++ b/adaptors/library/jobs/auto/DHIS2-Events-API.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Add events

📜 This job is an official example from OpenFn.

Metadata

Key Functions

dataValue, field, fields

Expression

// ----
// Create new events in DHIS2 using a generic JSON message, submitted by
// Taylor Downs @ OpenFn for demonstration porpoises.
// ---

event(
fields(
field('program', 'eBAyeGv0exc'),
field('orgUnit', 'DiszpKrYNg8'),
field('eventDate', dataValue('meta.date')),
field('status', 'COMPLETED'),
field('storedBy', 'admin'),
field('coordinate', {
latitude: '59.8',
longitude: '10.9',
}),
field('dataValues', function (state) {
return [
dataElement('qrur9Dvnyt5', dataValue('form.prop_a')(state)),
dataElement('oZg33kd9taw', dataValue('form.prop_b')(state)),
dataElement('msodh3rEMJa', dataValue('form.prop_c')(state)),
];
})
)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Extract-Vitas-Data-2021-05-11.html b/adaptors/library/jobs/auto/Extract-Vitas-Data-2021-05-11.html index cd8b4712cd4..0304c5f9758 100644 --- a/adaptors/library/jobs/auto/Extract-Vitas-Data-2021-05-11.html +++ b/adaptors/library/jobs/auto/Extract-Vitas-Data-2021-05-11.html @@ -22,13 +22,13 @@ - - + +
Skip to main content
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Failed-Payment-Notification-2021-04-23.html b/adaptors/library/jobs/auto/Failed-Payment-Notification-2021-04-23.html index 70f6f2f5d55..eff8a00075b 100644 --- a/adaptors/library/jobs/auto/Failed-Payment-Notification-2021-04-23.html +++ b/adaptors/library/jobs/auto/Failed-Payment-Notification-2021-04-23.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Failed Payment Notification

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: Failed Payment Notification
  • Adaptor: @openfn/language-http
  • Adaptor Version: v3.1.7
  • Created over 2 years ago
  • Updated over 2 years ago
  • Score: 0 (an indicator of how useful this job may be)

Key Functions

alterState

Expression

alterState(state => {
console.log("We have notified the administrator to manually initiate payment.");
console.log("We have notified the CHW that payment is pending.");
return state;
})
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Fetch-Claims-2023-07-17.html b/adaptors/library/jobs/auto/Fetch-Claims-2023-07-17.html index 16dd77bdcbb..4437fd829d9 100644 --- a/adaptors/library/jobs/auto/Fetch-Claims-2023-07-17.html +++ b/adaptors/library/jobs/auto/Fetch-Claims-2023-07-17.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Fetch Claims

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

create, get, map, JSON

Expression

// establish a baseline for the cursor
fn(state => {
const today = new Date().toISOString().split('T')[0];
console.log(
`Fetching all claims updated on or after ${state.cursor || '2023-07-19'}`
);
return { ...state, today };
});

// Get claims and related patients from HAPI, updated since cursor date
get(
'Claim',
{
query: {
_lastUpdated: `ge${state.cursor || '2023-07-19'}`,
_include: 'Claim:patient',
_sort: '-_lastUpdated',
_count: 200,
},
},
next => {
if (next.data.total == 0)
return { ...next, data: { claims: [], patients: [] } };

const byType = next.data.entry.reduce((r, a) => {
r[a.resource.resourceType] = r[a.resource.resourceType] || [];
r[a.resource.resourceType].push(a);
return r;
}, Object.create(null));

return {
...next,
data: {
claims: byType.Claim,
patients: byType.Patient,
},
};
}
);

// clean and merge data
fn(state => {
const { claims, patients } = state.data;

// Noisy logs to help debug data quality issues
claims.forEach(c => {
const { resource } = c;
if (!resource.id) console.log('claim', resource.id, 'has no id');
if (!resource.item) {
console.log('claim', resource.id, 'has no item');
} else if (!resource.item[0].productOrService.coding) {
console.log('claim', resource.id, 'has no coding');
}

if (!resource.patient.reference.split('/')[1])
console.log('claim', resource.id, 'has no patient');
});

const patientsWithClaims = patients
// drop all patients without identifiers
.filter(p => p.resource.identifier)
.map(p => ({
...p,
claims: claims.filter(c => {
return (
// has item
c.resource.item &&
// has coding
c.resource.item[0].productOrService.coding &&
// for this patient
p.resource.id == c.resource.patient.reference.split('/')[1]
);
}),
}));

return { ...state, data: { patientsWithClaims } };
});

// print some logs and update the cursor for next time
fn(state => {
const { data, today } = state;

console.log('Found the following patients and claims in FHIR:');
console.log(
JSON.stringify(
data.patientsWithClaims.map(p => ({
patient: p.resource.id,
claims: p.claims.map(c => c.resource.id),
})),
null,
2
)
);

return { data: state.data, cursor: today };
});

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/GET-Data-From-KoboToolbox-2022-03-22.html b/adaptors/library/jobs/auto/GET-Data-From-KoboToolbox-2022-03-22.html index 1f023a166d1..a9cfbb89bcb 100644 --- a/adaptors/library/jobs/auto/GET-Data-From-KoboToolbox-2022-03-22.html +++ b/adaptors/library/jobs/auto/GET-Data-From-KoboToolbox-2022-03-22.html @@ -22,13 +22,13 @@ - - + +
Skip to main content
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Get-CommCare-Forms-Bulk-Extract-2022-05-16.html b/adaptors/library/jobs/auto/Get-CommCare-Forms-Bulk-Extract-2022-05-16.html index 93e474aea14..2c0f4861668 100644 --- a/adaptors/library/jobs/auto/Get-CommCare-Forms-Bulk-Extract-2022-05-16.html +++ b/adaptors/library/jobs/auto/Get-CommCare-Forms-Bulk-Extract-2022-05-16.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Get CommCare Forms (Bulk Extract)

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: Get CommCare Forms (Bulk Extract)
  • Adaptor: @openfn/language-http
  • Adaptor Version: v3.1.7
  • Created over 1 year ago
  • Updated over 1 year ago
  • Score: 0 (an indicator of how useful this job may be)

Key Functions

each, get, post

Expression

// Your job goes here.
get(
'https://www.commcarehq.org/a/commcare-demo-2035/api/v0.5/form/',
{
query: {
limit: 1000, //max limit: 1000
offset: state.meta && state.meta.next ? state.meta.limit + state.meta.offset : 0,
received_on_start: '2022-05-16',
received_on_end: '2022-05-18',
xmlns: 'http://openrosa.org/formdesigner/C87A7E2A-D98D-4E2C-9F0B-997E0AE635C6',
},
},
state => {
const { meta, objects } = state.data;
const { openfnInboxUrl } = state.configuration;
const xmlnsList = [
'http://openrosa.org/formdesigner/C87A7E2A-D98D-4E2C-9F0B-997E0AE635C6'

];

// const forms = objects.filter(obj => xmlnsList.includes(obj.form['@xmlns']));
const forms = objects;

state.configuration = { baseUrl: 'https://www.openfn.org' };
console.log('Posting form submissions to OpenFn Inbox...');

return each(forms, state => {
return post(`/inbox/${openfnInboxUrl}`, { body: state.data }, state => ({
...state,
data: {},
references: [],
}))(state);
})(state);
}
);
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Get-cases-from-Primero-2021-09-23.html b/adaptors/library/jobs/auto/Get-cases-from-Primero-2021-09-23.html index f18e0ac6af2..ce80c97e7aa 100644 --- a/adaptors/library/jobs/auto/Get-cases-from-Primero-2021-09-23.html +++ b/adaptors/library/jobs/auto/Get-cases-from-Primero-2021-09-23.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Get cases from Primero

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

getCases, JSON

Expression

getCases({
remote: true,
case_id: "234bbac3-7278-430a-98b5-1abc460671ec" //extract 1 case using case id
//query: //...or use 'query' to filter by other criteria to get many cases
}, state => {
console.log(`Primero cases extracted: ${JSON.stringify(state.data)}`); //logging Primero response
return { ...state, data: {}, references: [] }
})
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/HIV-Testing-Event-Snapshot-2021-05-03.html b/adaptors/library/jobs/auto/HIV-Testing-Event-Snapshot-2021-05-03.html index 4dbeed10027..98719520693 100644 --- a/adaptors/library/jobs/auto/HIV-Testing-Event-Snapshot-2021-05-03.html +++ b/adaptors/library/jobs/auto/HIV-Testing-Event-Snapshot-2021-05-03.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

HIV Testing Event Snapshot

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataValue, field, fields, upsert

Expression

// push to production
upsert(
'Event__c',
'CommCare_Ext_ID__c',
fields(
field('Name', dataValue('form.basic_information.intervention')),
field('Venue__c', dataValue('form.basic_information.venue')),
field('Coach_A__c', dataValue('form.hidden_properties.coach_name')),
field('Date__c', dataValue('form.basic_information.event_date')),
field('Testing_Partner_Contact_Persion__c', dataValue('form.basic_information.testing_partner__contact_people')),
field('of_People_in_Attendance_Testing_Events__c', dataValue('form.basic_information.number_in_attendance')),
field('Event_Type__c', dataValue('form.basic_information.testing_event_type')),
field('Coordinator__c', dataValue('form.basic_information.event_coordinator')),
field(
'What_organization_discussed_VMMC__c',
dataValue('form.basic_information.question2.what_organisation_discussed_mmc')
),
field(
'What_organization_s_What_topic_s__c',
dataValue(
'form.basic_information.information_sessions_other.what_organisations_delivered_a_session_and_what_was_the_topic_of_the_sessio'
)
),
field(
'How_was_the_information_presented__c',
dataValue('form.basic_information.question2.how_was_this_information_presented_eg_lecture_individua_sessions_etc')
),
field('how_many_people_attended_the_sessions__c', dataValue('form.basic_information.number_in_attendance')),
field(
'How_many_people_attended_the_sessions_oh__c',
dataValue('form.basic_information.question2.approximately_how_many_people_attended_the_sessions_in_total')
),
field(
'Did_other_organizations_conduct__c',
dataValue(
'form.basic_information.information_sessions_other.did_other_organisations_eg_youth-friendly_clinic_ministry_of_health_etc_con'
)
),
field(
'Testing_Key_Lesson_s_Learned__c',
dataValue('form.basic_information.event_overview.highlights_key_challenges')
),
field(
'X2_Main_challenges__c',
dataValue(
'form.basic_information.event_overview.please_describe_highlights_key_challenges_and_main_lessons_learned_from_thi'
)
)
)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/HIV-Testing-Event-Statistics-2021-05-03.html b/adaptors/library/jobs/auto/HIV-Testing-Event-Statistics-2021-05-03.html index 4caaf49046c..1bae63260a7 100644 --- a/adaptors/library/jobs/auto/HIV-Testing-Event-Statistics-2021-05-03.html +++ b/adaptors/library/jobs/auto/HIV-Testing-Event-Statistics-2021-05-03.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

HIV Testing Event Statistics

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataValue, field, fields, upsert

Expression

// push to production
upsert(
'Event__c',
'CommCare_Case_ID__c',
fields(
field('Name', dataValue('form.event_name')),
field('CommCare_Case_ID__c', dataValue('form.case.@case_id')),
field('Tested_Negative_Males_0_9__c', dataValue('form.table_1_testing_results.male_hiv_negative.question2')),
field('Tested_Negative_Males_10_14__c', dataValue('form.table_1_testing_results.male_hiv_negative.question7')),
field('Tested_Negative_Males_15_19__c', dataValue('form.table_1_testing_results.male_hiv_negative.question13')),
field('Tested_Negative_Males_20_24__c', dataValue('form.table_1_testing_results.male_hiv_negative.question18')),
field('Tested_Negative_Males_25_49__c', dataValue('form.table_1_testing_results.male_hiv_negative.question28')),
field('Tested_Negative_Males_50__c', dataValue('form.table_1_testing_results.male_hiv_negative.question32')),
field('Tested_Positive_Males_0_9__c', dataValue('form.table_1_testing_results.question33.question36')),
field('Tested_Positive_Males_10_14__c', dataValue('form.table_1_testing_results.question33.question41')),
field('Tested_Positive_Males_15_19__c', dataValue('form.table_1_testing_results.question33.question45')),
field('Tested_Positive_Males_20_24__c', dataValue('form.table_1_testing_results.question33.question50')),
field('Tested_Positive_Males_25_49__c', dataValue('form.table_1_testing_results.question33.question56')),
field('Tested_Positive_Males_50__c', dataValue('form.table_1_testing_results.question33.question60')),
field('Tested_Negative_Females_0_9__c', dataValue('form.table_1_testing_results.question61.question65')),
field('Tested_Negative_Females_10_14__c', dataValue('form.table_1_testing_results.question61.question69')),
field('Tested_Negative_Females_15_19__c', dataValue('form.table_1_testing_results.question61.question73')),
field('Tested_Negative_Females_20_24__c', dataValue('form.table_1_testing_results.question61.question78')),
field('Tested_Negative_Females_25_49__c', dataValue('form.table_1_testing_results.question61.question84')),
field('Tested_Negative_Females_50__c', dataValue('form.table_1_testing_results.question61.question88')),
field('Tested_Positive_Females_0_9__c', dataValue('form.table_1_testing_results.question89.question92')),
field('Tested_Positive_Females_10_14__c', dataValue('form.table_1_testing_results.question89.question97')),
field('Tested_Positive_Females_15_19__c', dataValue('form.table_1_testing_results.question89.question101')),
field('Tested_Positive_Females_20_24__c', dataValue('form.table_1_testing_results.question89.question106')),
field('Tested_Positive_Females_25_49__c', dataValue('form.table_1_testing_results.question89.question112')),
field('Tested_Positive_Females_50__c', dataValue('form.table_1_testing_results.question89.question116')),
field(
'Pregnant_Women_Tested_0_9__c',
dataValue(
'form.table_3_pregnant_women_tested.enter_the_number_of_pregnant_women_tested_for_each_following_age_group.question120'
)
),
field(
'Pregnant_Women_Tested_10_14__c',
dataValue(
'form.table_3_pregnant_women_tested.enter_the_number_of_pregnant_women_tested_for_each_following_age_group.question124'
)
),
field(
'Pregnant_Women_Tested_15_19__c',
dataValue(
'form.table_3_pregnant_women_tested.enter_the_number_of_pregnant_women_tested_for_each_following_age_group.question129'
)
),
field(
'Pregnant_Women_Tested_20_24__c',
dataValue(
'form.table_3_pregnant_women_tested.enter_the_number_of_pregnant_women_tested_for_each_following_age_group.question134'
)
),
field(
'Pregnant_Women_Tested_25_49__c',
dataValue(
'form.table_3_pregnant_women_tested.enter_the_number_of_pregnant_women_tested_for_each_following_age_group.question140'
)
),
field(
'Pregnant_Women_Tested_50__c',
dataValue(
'form.table_3_pregnant_women_tested.enter_the_number_of_pregnant_women_tested_for_each_following_age_group.question144'
)
),
//field(
// 'Total_Pregnant_Women_Tested__c',
// dataValue(
// 'form.table_3_pregnant_women_tested.enter_the_number_of_pregnant_women_tested_for_each_following_age_group.total_tested_pregnant'
// )
//),
field(
'First_Time_Females_0_9__c',
state =>
dataValue('form.table_4_first_time_testers.question61.question65')(state) +
dataValue('form.table_4_first_time_testers.question89.question92')(state)
),
field(
'First_Time_Females_10_14__c',
state =>
dataValue('form.table_4_first_time_testers.question61.question69')(state) +
dataValue('form.table_4_first_time_testers.question89.question97')(state)
),
field(
'First_Time_Females_15_19__c',
state =>
dataValue('form.table_4_first_time_testers.question61.question73')(state) +
dataValue('form.table_4_first_time_testers.question89.question101')(state)
),
field(
'First_Time_Females_20_24__c',
state =>
dataValue('form.table_4_first_time_testers.question61.question78')(state) +
dataValue('form.table_4_first_time_testers.question89.question106')(state)
),
field(
'First_Time_Females_25_49__c',
state =>
dataValue('form.table_4_first_time_testers.question61.question84')(state) +
dataValue('form.table_4_first_time_testers.question89.question112')(state)
),
field(
'First_Time_Females_50__c',
state =>
dataValue('form.table_4_first_time_testers.question61.question88')(state) +
dataValue('form.table_4_first_time_testers.question89.question116')(state)
),
field(
'First_Time_Males_0_9__c',
state =>
dataValue('form.table_4_first_time_testers.male_hiv_negative.question2')(state) +
dataValue('form.table_4_first_time_testers.question33.question36')(state)
),
field(
'First_Time_Males_10_14__c',
state =>
dataValue('form.table_4_first_time_testers.male_hiv_negative.question7')(state) +
dataValue('form.table_4_first_time_testers.question33.question41')(state)
),
field(
'First_Time_Males_15_19__c',
state =>
dataValue('form.table_4_first_time_testers.male_hiv_negative.question13')(state) +
dataValue('form.table_4_first_time_testers.question33.question45')(state)
),
field(
'First_Time_Males_20_24__c',
state =>
dataValue('form.table_4_first_time_testers.male_hiv_negative.question18')(state) +
dataValue('form.table_4_first_time_testers.question33.question50')(state)
),
field(
'First_Time_Males_25_49__c',
state =>
dataValue('form.table_4_first_time_testers.male_hiv_negative.question28')(state) +
dataValue('form.table_4_first_time_testers.question33.question56')(state)
),
field(
'First_Time_Males_50__c',
state =>
dataValue('form.table_4_first_time_testers.male_hiv_negative.question32')(state) +
dataValue('form.table_4_first_time_testers.question33.question60')(state)
),
field(
'of_Males_Referred_to_Sexual_Abuse__c',
dataValue(
'form.table5_referrals.enter_the_number_of_men_and_women_referred_for_each_referral_tye_and_the_or.abuseviolence_referral'
)
),
field(
'of_Males_Referred_to_Family_Referral__c',
dataValue(
'form.table5_referrals.enter_the_number_of_men_and_women_referred_for_each_referral_tye_and_the_or.family_planning_referral'
)
),
field(
'of_Males_Referred_for_HIV_Positive__c',
dataValue(
'form.table5_referrals.enter_the_number_of_men_and_women_referred_for_each_referral_tye_and_the_or.hiv_positive_referral'
)
),
field(
'of_Males_Referred_to_MMC_Referral__c',
dataValue(
'form.table5_referrals.enter_the_number_of_men_and_women_referred_for_each_referral_tye_and_the_or.medical_male_circumcision_referral'
)
),
field(
'of_Males_Referred_to_STI__c',
dataValue(
'form.table5_referrals.enter_the_number_of_men_and_women_referred_for_each_referral_tye_and_the_or.sexually_transmitted_infection_sti_referral'
)
),
field(
'of_Males_Referred_to_Tuberculosis__c',
dataValue(
'form.table5_referrals.enter_the_number_of_men_and_women_referred_for_each_referral_tye_and_the_or.tuberculosis_tb_referral'
)
),
field(
'of_Females_Referred_to_Sexual_Abuse__c',
dataValue('form.table5_referrals.women_referred_number.abuseviolence_referral_women')
),
field(
'of_Females_Referred_to_Antenatal_Care__c',
dataValue('form.table5_referrals.women_referred_number.antenatal_care_anc_referral_women')
),
field(
'of_Females_Referred_to_Family_Referral__c',
dataValue('form.table5_referrals.women_referred_number.family_planning_referral_women')
),
field(
'of_Females_Referred_for_HIV_Positive__c',
dataValue('form.table5_referrals.women_referred_number.hiv_positive_referral_women')
),
field(
'of_Females_Referred_to_PMTCT__c',
dataValue('form.table5_referrals.women_referred_number.prevention_of_mother-to-child_transmission_women')
),
field(
'of_Females_Referred_to_STI__c',
dataValue('form.table5_referrals.women_referred_number.sexually_transmitted_infection_sti_referral_women')
),
field(
'of_Females_Referred_to_Tuberculosis__c',
dataValue('form.table5_referrals.women_referred_number.tuberculosis_tb_referral_women')
),

field('Community_Members__c', dataValue('form.table_2_tested_profile.enter_the_number_tested_for_each_following_profile.community_members')),
field('GRS_Coaches__c', dataValue('form.table_2_tested_profile.enter_the_number_tested_for_each_following_profile.skillz_coaches')),
field('GRS_Participants__c', dataValue('form.table_2_tested_profile.enter_the_number_tested_for_each_following_profile.skillz_participants')),
field('GRS_Staff__c', dataValue('form.table_2_tested_profile.enter_the_number_tested_for_each_following_profile.staff')),
//field('Total_Tested__c', dataValue('form.table_2_tested_profile.enter_the_number_tested_for_each_following_profile.total_tested')),
)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Load-Upsert-Data-into-PostgreSQL-2022-03-22.html b/adaptors/library/jobs/auto/Load-Upsert-Data-into-PostgreSQL-2022-03-22.html index 2cb9f6b3cd3..0092c4c488c 100644 --- a/adaptors/library/jobs/auto/Load-Upsert-Data-into-PostgreSQL-2022-03-22.html +++ b/adaptors/library/jobs/auto/Load-Upsert-Data-into-PostgreSQL-2022-03-22.html @@ -22,13 +22,13 @@ - - + +
Skip to main content
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Load-to-DB-2022-05-16.html b/adaptors/library/jobs/auto/Load-to-DB-2022-05-16.html index 75b00e55138..62922acd2da 100644 --- a/adaptors/library/jobs/auto/Load-to-DB-2022-05-16.html +++ b/adaptors/library/jobs/auto/Load-to-DB-2022-05-16.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Load to DB

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataValue, upsert

Expression

// Your job goes here.
upsert('patient', 'ON CONSTRAINT patient_pk', {
patient_id: dataValue('data.patient_name'),
patient_name: dataValue('data.patient_name'),
village_name: dataValue('data.village_name'),
last_menstrual_period: dataValue('data.last_menstrual_period'),
expected_delivery_date: dataValue('data.expected_delivery_date'),
children_alive: dataValue('data.children_alive'),
living_children: dataValue('data.living_children'),
feeling_sick: dataValue('data.feeling_sick'),
total_children: dataValue('data.Total_children'),
risk_level: dataValue('data.Risk_level')

});
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Load-to-DHIS2-2023-07-17.html b/adaptors/library/jobs/auto/Load-to-DHIS2-2023-07-17.html index cb9f38448d0..b945bdff9c4 100644 --- a/adaptors/library/jobs/auto/Load-to-DHIS2-2023-07-17.html +++ b/adaptors/library/jobs/auto/Load-to-DHIS2-2023-07-17.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Load to DHIS2

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

create, get, join, map, async

Expression

// build and log nested dhis2 records
fn(state => {
const { patientsWithClaims } = state.data;
const today = new Date().toISOString().split('T')[0];

const teis = patientsWithClaims.map(p => {
const patient = p.resource;
const claims = p.claims;
const treatments = claims
.map(c => c.resource.item[0])
.map(t => t.productOrService.coding[0].display)
.join('; ');

const enrollments = claims.map(c => {
const claim = c.resource;
const display = claim.insurance && claim.insurance[0].coverage.display;

const oclMapping = {
PARN: 'GMfuAqBFS1g',
'Programme Vaccination': 'GMfuAqBFS1g',
'Santé Maternelle': 'wBUDpZSS4Bh',
};

console.log(
`We could use OCL to map "${display}" to "${
oclMapping[display] || 'q5Qyv66pIAI (mTOMADY Other)'
}"`
);

return {
orgUnit: 'KUVJPjmUmWc',
program: oclMapping[display] || 'q5Qyv66pIAI',
status: 'ACTIVE', // active
enrolledAt: today,
occurredAt: today,
};
});

return {
orgUnit: 'KUVJPjmUmWc', // Madagascar
trackedEntityType: 'x5fZpgCyv50', // Patient
attributes: [
{ attribute: 'rDeWj9yYtzv', value: patient.identifier[0].value },
{ attribute: 'E4f4wBsDVgR', value: patient.name[0].family },
{ attribute: 'Fz33peSkK1I', value: patient.name[0].given[0] },
{
attribute: 'POCXiJxpYX1',
value: `${treatments}`,
},
{ attribute: 'dA6ShmrHmhk', value: patient.birthDate },
{ attribute: 'mWOlfweGigO', value: patient.gender },
],
enrollments: enrollments,
};
});

return { ...state, teis };
});

// get current TEIs
get('tracker/trackedEntities', {
orgUnit: 'KUVJPjmUmWc',
trackedEntityType: 'x5fZpgCyv50',
});

// create upsertable array
fn(state => {
const { configuration, teis } = state;
const existing = state.data.instances;

const createable = [];
const updateable = [];

teis.forEach(t => {
const match = existing.find(e => {
const idAttr = e.attributes.find(a => a.displayName == 'Unique ID');
return idAttr && idAttr.value == t.attributes[0].value;
});

if (match) {
const enrollments =
(match.enrollments && match.enrollments.concat(t.enrollments)) ||
t.enrollments;

updateable.push({ ...match, ...t, enrollments });
} else {
createable.push(t);
}
});

console.log(`${updateable.length} to update; ${createable.length} to create`);
const trackedEntities = [...createable, ...updateable];

return { configuration, trackedEntities, references: [] };
});

// send data to DHIS2
create('tracker', state => ({ trackedEntities: state.trackedEntities }), {
params: {
importStrategy: 'CREATE_AND_UPDATE',
atomicMode: 'OBJECT',
async: 'false',
},
});

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Malaria-Testing-Event-Snapshot-2021-05-03.html b/adaptors/library/jobs/auto/Malaria-Testing-Event-Snapshot-2021-05-03.html index 1b6c0777ce3..c690c7d3a9a 100644 --- a/adaptors/library/jobs/auto/Malaria-Testing-Event-Snapshot-2021-05-03.html +++ b/adaptors/library/jobs/auto/Malaria-Testing-Event-Snapshot-2021-05-03.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Malaria Testing Event Snapshot

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataValue, field, fields, upsert

Expression

// push to production
upsert(
'Event__c',
'CommCare_Case_ID__c',
fields(
field('Name', dataValue('form.hidden_properties.event_name')),
field('Date__c', dataValue('form.basic_information.event_details.event_date')),
field('Testing_Partner_Contact_Persion__c', dataValue('form.event_information.testing_partner__contact_people')),
field('of_People_in_Attendance_Testing_Events__c', dataValue('form.event_information.number_in_attendance')),
field('Coordinator__c', dataValue('form.event_information.event_coordinator')),
field(
'Did_an_organization_discuss_Malaria__c',
dataValue('form.malaria_treatment_prevention.info_malaria_treatment')
),
field('What_organization_s_What_topic_s__c', dataValue('form.malaria_treatment_prevention.which_organizations')),
field(
'How_was_the_information_presented__c',
dataValue('form.malaria_treatment_prevention.how_was_info_presented')
),
//field('of_Participants__c', dataValue('form.malaria_treatment_prevention.how_many_total_participants')),
field(
'Did_other_organizations_conduct__c',
dataValue("form.skills_activities['did_other_organisations_eg_youth-friendly_clinic_ministry_of_health_etc_con']")
),
field(
'What_organization_s_What_topic_s__c',
dataValue('form.skills_activities.what_organisations_delivered_a_session_and_what_was_the_topic_of_the_sessio')
),
field('Facilitator_1__c', dataValue('form.skills_activities.facilitators')),
field(
'How_many_people_attended_the_sessions__c',
dataValue('form.skills_activities.how_many_people_attended_the_sessions_in_total')
),
field(
'How_many_people_attended_the_sessions_oh__c',
dataValue('form.skills_activities.how_many_people_attended_the_sessions_in_total')
),
field(
'X2_Main_challenges__c',
dataValue('form.bed_net_distribution.please_describe_highlights_key_challenges_and_main_lessons_learned_from_thi')
),
field(
'X1_Main_successes__c',
dataValue('form.bed_net_distribution.please_describe_highlights_key_challenges_and_main_lessons_learned_from_thi')
),
field(
'Number_of_Bed_Nets_Distributed__c',
dataValue('form.bed_net_distribution.total_number_of_bed_nets_distributed')
),
//field('Site__c', dataValue('form.event_information.site')),
//field('Venue__c', dataValue('form.event_information.venue')),
//field('Curriculum__c', dataValue('form.event_information.curriculum')),
field('X1_0_Intervention_Name__c', dataValue('form.event_information.intervention')),
//field('Coach_1__c', dataValue('form.hidden_properties.coach_name')),
field('CommCare_Case_ID__c', dataValue('form.case.@case_id')),
field('Date__c', dataValue('form.event_information.event_date')),
field('Testing_Partner_Contact_Persion__c', dataValue('form.event_information.testing_partner__contact_people')),
field('of_People_in_Attendance_Testing_Events__c', dataValue('form.event_information.number_in_attendance')),
field('Coordinator__c', dataValue('form.event_information.event_coordinator'))
)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Malaria-Testing-Event-Statistics-2021-05-03.html b/adaptors/library/jobs/auto/Malaria-Testing-Event-Statistics-2021-05-03.html index c15975cc899..9862a46461d 100644 --- a/adaptors/library/jobs/auto/Malaria-Testing-Event-Statistics-2021-05-03.html +++ b/adaptors/library/jobs/auto/Malaria-Testing-Event-Statistics-2021-05-03.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Malaria Testing Event Statistics

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataValue, field, fields, upsert

Expression

// push to production
upsert(
'Event__c',
'CommCare_Case_ID__c',
fields(
field('Name', dataValue('form.event_information.event_name')),
field('CommCare_Case_ID__c', dataValue('form.case.@case_id')),
field(
'Tested_Negative_Males_0_9__c',
dataValue('form.table_1_testing_results_malaria.male_malaria_negative.question2')
),
field(
'Tested_Negative_Males_10_14__c',
dataValue('form.table_1_testing_results_malaria.male_malaria_negative.question7')
),
field(
'Tested_Negative_Males_15_19__c',
dataValue('form.table_1_testing_results_malaria.male_malaria_negative.question13')
),
field(
'Tested_Negative_Males_20_24__c',
dataValue('form.table_1_testing_results_malaria.male_malaria_negative.question18')
),
field(
'Tested_Negative_Males_25_49__c',
dataValue('form.table_1_testing_results_malaria.male_malaria_negative.question28')
),
field(
'Tested_Negative_Males_50__c',
dataValue('form.table_1_testing_results_malaria.male_malaria_negative.question32')
),
field('Tested_Positive_Males_0_9__c', dataValue('form.table_1_testing_results_malaria.question33.question36')),
field('Tested_Positive_Males_10_14__c', dataValue('form.table_1_testing_results_malaria.question33.question41')),
field('Tested_Positive_Males_15_19__c', dataValue('form.table_1_testing_results_malaria.question33.question45')),
field('Tested_Positive_Males_20_24__c', dataValue('form.table_1_testing_results_malaria.question33.question50')),
field('Tested_Positive_Males_25_49__c', dataValue('form.table_1_testing_results_malaria.question33.question56')),
field('Tested_Positive_Males_50__c', dataValue('form.table_1_testing_results_malaria.question33.question60')),
field('Tested_Negative_Females_0_9__c', dataValue('form.table_1_testing_results_malaria.question61.question65')),
field('Tested_Negative_Females_10_14__c', dataValue('form.table_1_testing_results_malaria.question61.question69')),
field('Tested_Negative_Females_15_19__c', dataValue('form.table_1_testing_results_malaria.question61.question73')),
field('Tested_Negative_Females_20_24__c', dataValue('form.table_1_testing_results_malaria.question61.question78')),
field('Tested_Negative_Females_25_49__c', dataValue('form.table_1_testing_results_malaria.question61.question84')),
field('Tested_Negative_Females_50__c', dataValue('form.table_1_testing_results_malaria.question61.question88')),
field('Tested_Positive_Females_0_9__c', dataValue('form.table_1_testing_results_malaria.question89.question92')),
field('Tested_Positive_Females_10_14__c', dataValue('form.table_1_testing_results_malaria.question89.question97')),
field('Tested_Positive_Females_15_19__c', dataValue('form.table_1_testing_results_malaria.question89.question101')),
field('Tested_Positive_Females_20_24__c', dataValue('form.table_1_testing_results_malaria.question89.question106')),
field('Tested_Positive_Females_25_49__c', dataValue('form.table_1_testing_results_malaria.question89.question112')),
field('Tested_Positive_Females_50__c', dataValue('form.table_1_testing_results_malaria.question89.question116'))
));

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/ODK-Create-Many-Records-Moving-In-And-Out-Of-Repeat-Blocks.html b/adaptors/library/jobs/auto/ODK-Create-Many-Records-Moving-In-And-Out-Of-Repeat-Blocks.html index c282c6cd686..7b2a8a4bd0a 100644 --- a/adaptors/library/jobs/auto/ODK-Create-Many-Records-Moving-In-And-Out-Of-Repeat-Blocks.html +++ b/adaptors/library/jobs/auto/ODK-Create-Many-Records-Moving-In-And-Out-Of-Repeat-Blocks.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Handling multiple ODK repeat groups

📜 This job is an official example from OpenFn.

Metadata

Key Functions

create, dataPath, dataValue, each, field, fields, lastReferenceValue, merge

Expression

/*
Create many records from an ODK submission, moving in and out of repeat
blocks, submitted by Taylor Downs @ OpenFn.
*/

beta.each(
'$.data.data[*]',
create(
'ODK__c',
fields(
field('Event_Type__c', dataValue('event_type')),
field('Training_Type__c', dataValue('training_type')),
field('Event_Leader_ID__c', dataValue('leader')),
field('Event_Date__c', dataValue('date')),
field('metainstanceid__c', dataValue('*meta-instance-id*'))
)
)
);

beta.each(
merge(
dataPath('data[*].attendee_new[*]'),
fields(field('parentId', lastReferenceValue('id')))
),
create(
'ODK_Child_2__c',
fields(
field('ODK__c', dataValue('parentId')),
field('Barcode__c', dataValue('new_attendee_id')),
field('First_Name__c', dataValue('new_attendee_first_name')),
field('Last_Name__c', dataValue('new_attendee_last_name')),
field('Phone_Number__c', dataValue('new_attendee_phone'))
)
)
);

beta.each(
merge(
dataPath('data[*].attendee[*]'),
fields(
field('parentId', function (state) {
return state.references[state.references.length - 1].id;
})
// ^^ This will get the sfID of the 1st item created.
)
),
create(
'ODK_Child_1__c',
fields(
field('ODK__c', dataValue('parentId')),
field('Barcode__c', dataValue('attendee_id')),
field('Late__c', dataValue('late'))
)
)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/PHQ9-2021-05-03.html b/adaptors/library/jobs/auto/PHQ9-2021-05-03.html index 2081abb6b3f..aef7ddb5656 100644 --- a/adaptors/library/jobs/auto/PHQ9-2021-05-03.html +++ b/adaptors/library/jobs/auto/PHQ9-2021-05-03.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

PHQ9

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

alterState, dataValue, field, fields, relationship, upsert

Expression

alterState(state => {
function capitalizeFirstLetter(str) {
if (!str) return;
let new_str = str.toString().toLowerCase();
return new_str.slice(0, 1).toUpperCase() + new_str.slice(1);
}

function transform(value) {
if (!value) return;
switch (value.toString().trim()) {
case 'Daughterson':
return 'Daughter/Son';
case 'Other_specify':
return 'Other';
case 'Single_never_married':
return 'Single/Never Married';
case 'Divorced__separated':
return 'Divorced/separated';
default:
return value;
}
}

function getAge(dateString) {
if (!dateString) return;

const today = new Date();
const birthDate = new Date(dateString);
var age = today.getFullYear() - birthDate.getFullYear();
var m = today.getMonth() - birthDate.getMonth();
if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
age--;
}
return age;
}

state.data.form.begin_interview.what_is_your_marital_status = state.data.form.begin_interview && state.data.form.begin_interview.what_is_your_marital_status ? transform(
capitalizeFirstLetter(state.data.form.begin_interview.what_is_your_marital_status)
): undefined;

state.data.form.begin_interview.position_of_respondent_in_the_household = state.data.form.begin_interview && state.data.form.begin_interview.position_of_respondent_in_the_household ? transform(
capitalizeFirstLetter(state.data.form.begin_interview.position_of_respondent_in_the_household)
): undefined;

state.helperFunctions = { getAge };
return state;
});

upsert(
'PHQ_9_Strong_Minds__c',
'CommCare_Ext_ID__c',
fields(
field('CommCare_Ext_ID__c', dataValue('id')),

// relationship('Intervention_Name__r', 'CommCare_Case_ID__c', state => {
// if (state.data.form.hidden_properties.intervention_id) return state.data.form.hidden_properties.intervention_id;
// else return "990221ac-3c05-475d-87c7-24d8a5fcb63e";
// }),
relationship('Intervention_Name__r', 'CommCare_Case_ID__c', dataValue('form.hidden_properties.intervention_id')),


//relationship('Participant__r','CommCare_Ext_ID__c', dataValue('form.hidden_properties.participant_fullname')),
field('Mobile_Contact_Information__c', dataValue('form.hidden_properties.mobile_number')),
field('Curriculum__c', dataValue('form.hidden_properties.curriculum')),
//field('Intervention__c', dataValue('form.hidden_properties.intervention')),
field('Gender__c', dataValue('form.hidden_properties.gender')),
field('Participant_Name__c', state => {
const firstname = state.data.form.hidden_properties.participant_first_name;
const lastname = state.data.form.hidden_properties.participant_surname;
return firstname + ' ' + lastname;
}),

field('Coach_Name__c', dataValue('form.hidden_properties.coach_name')),
relationship(
'Venue2__r',
'CommCare_Ext_ID__c',
dataValue('form.hidden_properties.venue')
),
//field('Venue__c', dataValue('form.hidden_properties.venue')), replacing with the lookup
relationship(
'Site2__r',
'CommCare_Ext_ID__c',
dataValue('form.hidden_properties.site')
),
//field('Site__c', dataValue('form.hidden_properties.site')), replacing with the lookup
field('Interview_Date__c', dataValue('form.interview_date')),
field('Resident_not_shifting_in_3_months_time__c', dataValue('form.full_time_resident')),
field('Participant_DOB__c', state => {
const dob = dataValue('form.hidden_properties.date_of_birth')(state);
return dob ? dob : null;
}),
//field('Area_Center__c', dataValue('form.hidden_properties.venue')), //Can get from Intervention
field('Age_of_Participant__c', state => {
const dob = dataValue('form.hidden_properties.date_of_birth')(state);

return dob ? state.helperFunctions.getAge(dob) : null;
}),


field('Marital_Status__c', dataValue('form.begin_interview.what_is_your_marital_status')),
field(
'Position_of_Respondent_in_Household__c',
dataValue('form.begin_interview.position_of_respondent_in_the_household')
),
field('Q1_Little_interest_pleasure__c', dataValue('form.begin_interview.questions.little_interest')),
field('Q2_Sad_Down_Depressed_Hopeless__c', dataValue('form.begin_interview.questions.depressed_sad_hopeless')),
field('Q3_Trouble_sleeping__c', dataValue('form.begin_interview.questions.trouble_sleeping')),
field('Q4_Feeling_tired__c', dataValue('form.begin_interview.questions.heavy_burden')),
field('Q5_Appetite_problems__c', dataValue('form.begin_interview.questions.appetite_problems')),
field('Q6_Failure_Worthless_Guilt__c', dataValue('form.begin_interview.questions.feeling_bad')),
field('Q7_Trouble_concentrating__c', dataValue('form.begin_interview.questions.trouble_concentrating')),
field('Q8_Trouble_in_speech__c', dataValue('form.begin_interview.questions.moving_slowly')),
field('Q9_Suicidal_thoughts__c', dataValue('form.begin_interview.questions.thoughts_suicide'))
//field('PHQ9_Total_Score__c', dataValue('form.begin_interview.questions.phq9_result.PHQ9_score'))
)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Pay-CHW-2021-04-23.html b/adaptors/library/jobs/auto/Pay-CHW-2021-04-23.html index 55ffa279c02..db2411ee226 100644 --- a/adaptors/library/jobs/auto/Pay-CHW-2021-04-23.html +++ b/adaptors/library/jobs/auto/Pay-CHW-2021-04-23.html @@ -22,13 +22,13 @@ - - + +
Skip to main content
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Q3-2022-Create-Distribution-Referral-in-SF-2020-06-19.html b/adaptors/library/jobs/auto/Q3-2022-Create-Distribution-Referral-in-SF-2020-06-19.html index 3f31627727e..3da69161b99 100644 --- a/adaptors/library/jobs/auto/Q3-2022-Create-Distribution-Referral-in-SF-2020-06-19.html +++ b/adaptors/library/jobs/auto/Q3-2022-Create-Distribution-Referral-in-SF-2020-06-19.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Q3 2022] Create Distribution & Referral in SF

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataValue, field, fields, join, map, relationship, upsert

Expression

//Job to integrate CommCare 'Distribution & Referrals' form
upsert(
'Family_Planning_community_Distribution__c',
'Commcare_Case_ID__c',
fields(
field('Commcare_Case_ID__c', dataValue('id')),
relationship('RecordType', 'Name', 'FP Community Distribution & Referrals'),
field('Distribute_Date__c', dataValue('form.date')),
field('Client_Name__c', dataValue('form.name')),
field('Client_Gender__c', dataValue('form.gender')),
field('Client_Age__c', dataValue('form.age')),
field('Client_currently_on_FP__c', dataValue('form.current_use')),
field('Referral_Date__c', dataValue('form.Referral_Date')),
field('Referral_Method__c', state => {
var method = dataValue('form.referral_method')(state);
var newMethod = method
? method
.split(/_/g)
.map(
word =>
`${word.substring(0, 1).toUpperCase()}${word.substring(1)}`
)
.join(' ')
: '';
return newMethod;
}),
field('Implant_Type__c', state => {
var type = dataValue('form.implant_type')(state);
var newType = '';
if (type) {
if (type === 'implanon') {
newType = '3-year Implanon';
} else {
newType = type === 'jadelle' ? '5-year Jadelle' : null;
}
}
return newType;
}),
field('Male_Condoms__c', dataValue('form.male_condoms_count')),
field('Female_Condoms__c', dataValue('form.female_condoms_count')),
field('POP__c', dataValue('form.POP_count')),
field('COC__c', dataValue('form.COC_count')),
field('Emergency_Pills__c', dataValue('form.emergency_pills_count')),
field(
'Pregnancy_test_positive__c',
dataValue('form.positive_pregnancy_tests')
),
field('Pregnancy_referrals__c', dataValue('form.pregnancy_referrals')),
field(
'Contraception_referrals__c',
dataValue('form.family_planning_referrals')
)
)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Q3-2022-Update-HH-Name-in-CommCare-2021-09-27.html b/adaptors/library/jobs/auto/Q3-2022-Update-HH-Name-in-CommCare-2021-09-27.html index 9d03b56fcb1..fb63588453c 100644 --- a/adaptors/library/jobs/auto/Q3-2022-Update-HH-Name-in-CommCare-2021-09-27.html +++ b/adaptors/library/jobs/auto/Q3-2022-Update-HH-Name-in-CommCare-2021-09-27.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Q3 2022] Update HH Name in CommCare

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

map, submitXls, Array

Expression

// Update CommCare case
fn(state => {
const { Notification } = state.data.Envelope.Body.notifications;

const Notifications = Array.isArray(Notification)
? Notification
: [Notification];

const notifications = Notifications.map(notification => {
console.log(
`Mapping HH code to CommCare: `,
notification.sObject.Household_Code_Autonumber__c
);
return {
case_id: notification.sObject.Commcare_Code__c,
name: notification.sObject.Household_Code_Autonumber__c,
};
});

return { ...state, notifications };
});

submitXls(state => state.notifications, {
case_type: 'Household',
search_field: 'case_id',
search_column: 'case_id',
name_column: 'name',
create_new_cases: 'off',
});

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Q3-2022-Upsert-Household-Household-Visit-in-SF-2022-06-28.html b/adaptors/library/jobs/auto/Q3-2022-Upsert-Household-Household-Visit-in-SF-2022-06-28.html index 33c50dc7327..9b0fa25f86c 100644 --- a/adaptors/library/jobs/auto/Q3-2022-Upsert-Household-Household-Visit-in-SF-2022-06-28.html +++ b/adaptors/library/jobs/auto/Q3-2022-Upsert-Household-Household-Visit-in-SF-2022-06-28.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Q3 2022] Upsert Household & Household Visit in SF

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: Q3 2022] Upsert Household & Household Visit in SF
  • Adaptor: @openfn/language-salesforce
  • Adaptor Version: latest
  • Created about 1 year ago
  • Updated 4 months ago
  • Score: 0 (an indicator of how useful this job may be)

Key Functions

dataValue, field, fields, join, map, query, relationship, upsertIf, Array

Expression

query(
`SELECT Id, Parent_Geographic_Area__c, Parent_Geographic_Area__r.Name, Parent_Geographic_Area__r.Parent_Geographic_Area__c FROM Location__c WHERE CommCare_User_ID__c = '${dataValue(
'properties.owner_id'
)(state)}'`
);

fn(state => { console.log("query1 done"); return state; });
fn(state => {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log('4 second cooldown finished.');
resolve(state);
}, 4000);
});
});

fn(state => ({
...state,
data: {
...state.data,
villageNewId:
state.references[0].records && state.references[0].records.length !== 0
? state.references[0].records[0].Id
: undefined,
areaNewId:
state.references[0].records && state.references[0].records.length !== 0
? state.references[0].records[0].Parent_Geographic_Area__c
: undefined,
catchmentNewId:
state.references[0].records && state.references[0].records.length !== 0
? (state.references[0].records[0].Parent_Geographic_Area__r
? state.references[0].records[0].Parent_Geographic_Area__r.Parent_Geographic_Area__c
: undefined)
: undefined,
},
}));

upsertIf(
state.data.properties.commcare_username !== 'openfn.test' &&
state.data.properties.commcare_username !== 'test.2021' &&
state.data.properties.test_user !== 'Yes' ,
'Household__c',
'CommCare_Code__c',
fields(
field('CommCare_Username__c', dataValue('properties.commcare_username')),
field('MOH_household_code__c', dataValue('properties.moh_code')),
field('CommCare_Code__c', dataValue('case_id')),
field('Source__c', true),
//field('Household_CHW__c', 'a030Q00000A0jeYQAR'), //sandbox hardcoded mapping
field('Household_CHW__c', state => {
var chw = dataValue('properties.CHW_ID')(state);
return chw === 'a030800001zQrk'
? 'a030800001zQrk5'
: chw
? chw
: undefined;
}),
//TODO: Prod mapping to add back before go-live
field('Catchment__c', dataValue('catchmentNewId')),
field('Area__c', dataValue('areaNewId')),
field('Village__c', dataValue('villageNewId')),
field('Household_Village__c', dataValue('properties.village')),
// relationship('Catchment__r', 'Name', state => {
// var catchment =
// state.data.properties.catchement ||
// state.data.properties.catchment_name;
// return catchment === '' || catchment === undefined
// ? 'Unknown Location'
// : catchment;
// }), // check
// field('Area__c', state => {
// // var area = dataValue('properties.Area_Name')(state);
// return area === '' || area === undefined ? 'a000Q00000Egmu4' : area;
// }), // Commented out because it was causing a job error
// field('Household_village__c', dataValue('properties.village')),//case property, but not in message

// field('Village__c',dataValue('properties.village_name')), //lookup
field('Deaths_in_the_last_6_months__c', state => {
var death = dataValue(
'properties.deaths_in_past_6_months'
)(state);
return death > 0 ? 'Yes' : 'No';
}),
field('Access_to_safe_water__c',dataValue('properties.Safe_Water')),//not coming through
field('Treats_Drinking_Water__c',dataValue('properties.Treats_Drinking_Water')),//not coming through
field('Tippy_Tap__c',dataValue('properties.Active_Handwashing_Station')),//not coming through
field('Pit_Latrine__c',dataValue('properties.Functional_Latrine')),//not coming through
field('Rubbish_Pit__c',dataValue('properties.Rubbish_Pit')),//not coming through
field('Drying_Rack__c',dataValue('properties.Drying_Rack')),//not coming through
field('Kitchen_Garden__c',dataValue('properties.Kitchen_Garden')),//not coming through
field('Cookstove__c',dataValue('properties.Improved_Cooking_Method')),//not coming through
field('Clothe__c',dataValue('properties.Clothesline')),//not coming through
field('WASH_Trained__c',dataValue('properties.WASH_Trained')),//not coming through
field('Uses_ITNs__c',dataValue('properties.ITNs')),
field(
'Has_muac_tape__c',
dataValue('properties.family_muac_tape_available')
),
//field('Total_household_people__c',dataValue('properties.Total_Number_of_Members')), //not coming through
field('Health_insurance__c', dataValue('properties.health_insurace_cover')),
field('Health_insurance_active_status__c',dataValue('properties.healthinsurance_active')),
field('Health_insurance_type__c', state => {
var status = dataValue('properties.health_insurance')(state);
return status && status === 'other_please_specify_if_active'
? 'Other'
: status === 'nhif'
? 'NHIF'
: status === 'Linda_mama' || 'linda_mama'
? 'Linda mama'
: status;
}),
field('Other_Health_Insurance__c',dataValue('properties.if_other_please_specify')),
field('Work_with_TBA__c', dataValue('properties.tba')),
field('TBA_name__c', dataValue('properties.which_tba')),
field('Last_Modified_Date_CommCare__c', dataValue('server_date_modified')),//Need a case property),
field('Active_Household__c', state => {
var status = dataValue('properties.Household_Status')(state);
return status && status === 'No'
? false
: status === 'Yes'
? true
: status;
}),
// relationship('Head_of_Household__r', 'CommCare_ID__c', dataValue('properties.head_of_household_case_id')),
field('Inactive_Reason__c', state => {
var reason = dataValue('properties.Reason_for_Inactive')(state);
return reason ? reason.toString().replace(/_/g, ' ') : null;
}),
field(
'Active_in_Nutrition_Program__c',
dataValue(
'properties.enrolled_in_a_lwala_nutrition_program'
)
),
field(
'lwala_nutrition_program_enrollment_date__c',
dataValue(
'properties.lwala_nutrition_program_enrollment_date'
)
),
field(
'Trained_in_gardening__c',
dataValue('properties.household_trained_on_gardening')
),
field(
'household_trained_on_gardening_date__c',
dataValue(
'properties.when_was_the_household_trained_on_gardening'
)
),
field(
'Seed_Input_Support__c',
dataValue('properties.household_provided_with_seed_input_support'
)
),
field(
'household_provided_with_seed_input_suppo__c',
dataValue(
'properties.when_was_the_household_provided_with_seed_input_support'
)
),
field(
'MIYCN_Trained__c',
dataValue('properties.household_trained_on_MIYCN')
),
// not in message:
// field(
// 'Kitchen_Garden__c',
// dataValue('properties.nutrition_enrollment.household_has_kitchen_garden')
// ),

//field('Case_Closed_Date__c', state => {
// var closed = dataValue('date_closed')(state);
// var date = dataValue('server_date_modified')(state);
// return closed && closed == true ? date : undefined;
// })
)
);

fn(state => { console.log("upsertIf1 done"); return state; });
fn(state => {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log('4 second cooldown finished.');
resolve(state);
}, 4000);
});
});

//Household Visit
query(
`SELECT Id, Parent_Geographic_Area__c, Parent_Geographic_Area__r.Name, Parent_Geographic_Area__r.Parent_Geographic_Area__c FROM Location__c WHERE CommCare_User_ID__c = '${dataValue(
'properties.owner_id'
)(state)}'`
);

fn(state => { console.log("query2 done"); return state; });
fn(state => {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log('4 second cooldown finished.');
resolve(state);
}, 4000);
});
});

fn(state => ({
...state,
data: {
...state.data,
catchmentNewId:
state.references[0].records && state.references[0].records.length !== 0
? (state.references[0].records[0].Parent_Geographic_Area__r
? state.references[0].records[0].Parent_Geographic_Area__r.Parent_Geographic_Area__c
: undefined)
: undefined,
},
}));

fn(state => {
/* const deaths = state.data.form.household_deaths
? state.data.form.household_deaths.deaths
: '';
if (deaths !== '' && !Array.isArray(deaths)) {
state.data.form.household_deaths.deaths = [deaths];
}*/

const supervisorMap = {
community_health_nurse: 'Community Health Nurse',
chw_supervisor: 'CHW Supervisor',
chewschas: 'CHEWs/CHAs',
other: 'Other',
none: 'None',
};

const insuranceMap = {
nhif: 'NHIF',
Linda_mama: 'Linda mama',
other_please_specify_if_active: 'Other',
none: 'None',
};

return { ...state, supervisorMap, insuranceMap };
});

upsertIf(
// state.data.properties.username !== 'openfn.test' &&
state.data.properties.username !== 'test.2021' &&
state.data.properties.test_user !== 'Yes' ,
'Visit__c',
'CommCare_Visit_ID__c',
fields(
field('CommCare_Username__c', dataValue('properties.commcare_username')),//
// field('CommCare_Visit_ID__c', dataValue('id')),
field('CommCare_Visit_ID__c', state => {
var case_id = dataValue('case_id')(state);
var submitted = dataValue('properties.last_form_opened_date_and_time')(state);
return case_id + '_' + submitted;
}),
// field('Household_CHW__c', 'a030Q00000A0jeY'),
// field('Catchment__c', dataValue('a000Q00000Egmtk')),
field('Catchment__c', dataValue('catchmentNewId')),
// field('Household__c','a010Q00000BL6lT'),
// field('Household__c', dataValue('form.case.@case_id')),
relationship(
'Household__r',
'CommCare_Code__c',
dataValue('case_id')),
field('Date__c',dataValue('properties.Date')),
field('Form_Submitted__c', dataValue('properties.last_form_opened_name')),

//field('MOH_household_code__c', state => {
// var moh = dataValue('form.Household_Information.moh_code')(state);
// var mohLinked = dataValue('form.MOH_household_code_linked')(state);
// return moh ? moh : mohLinked && mohLinked !== '' ? mohLinked : undefined;
// }),
field('Active_Household__c', state => {
var status = dataValue('properties.Household_Status')(state);
return status && status === 'No'
? false
: status === 'Yes'
? true
: status;
}),
//field('Inactive_Reason__c', state => {
// var reason = dataValue('form.Reason_for_Inactive')(state);
// return reason ? reason.toString().replace(/_/g, ' ') : null;
//}),
//field('Source__c', 1),//
//relationship(
// 'Household_CHW__r',
// 'CommCare_ID__c',
// dataValue('form.sfid')),TO UPDATE IN PRODUCTION
// field('Household_village__c', dataValue('form.village')),//
//New Nutrition Field (MOTG)
field(
'Active_in_Nutrition_Program__c',
dataValue(
'properties.enrolled_in_a_lwala_nutrition_program'
)
),
field(
'lwala_nutrition_program_enrollment_date__c',
dataValue(
'properties.lwala_nutrition_program_enrollment_date'
)
),
field(
'Trained_in_gardening__c',
dataValue('properties.household_trained_on_gardening')
),
field(
'household_trained_on_gardening_date__c',
dataValue(
'properties.when_was_the_household_trained_on_gardening'
)
),
field(
'Seed_Input_Support__c',
dataValue(
'properties.household_provided_with_seed_input_support'
)
),
field(
'household_provided_with_seed_input_suppo__c',
dataValue(
'properties.when_was_the_household_provided_with_seed_input_support'
)
),
field(
'MIYCN_Trained__c',
dataValue('properties.household_trained_on_MIYCN')
),
field(
'Kitchen_Garden__c',
dataValue('properties.Kitchen_Garden')
),

field(
'Access_to_safe_water__c',
dataValue('properties.Safe_Water')
),
field(
'Treats_Drinking_Water__c',
dataValue('properties.Treats_Drinking_Water')
),
field(
'Tippy_Tap__c',
dataValue('properties.Active_Handwashing_Station')
),
field(
'Pit_Latrine__c',
dataValue('properties.Functional_Latrine')
),
field(
'Rubbish_Pit__c',
dataValue('properties.Rubbish_Pit')
),
field(
'Drying_Rack__c',
dataValue('properties.Drying_Rack')
),
field(
'Kitchen_Garden__c',
dataValue('properties.Kitchen_Garden')
),
field(
'Cookstove__c',
dataValue('properties.Improved_Cooking_Method')
),
field('Clothe__c', dataValue('properties.Clothesline')),
field(
'WASH_Trained__c',
dataValue('properties.WASH_Trained')
),
field(
'Has_muac_tape__c',
dataValue('properties.family_muac_tape_available')
),
field('Uses_ITNs__c', dataValue('properties.ITNs')),
field('Supervisor_Visit__c', state =>
state.data.properties.supervisor_visit
? state.supervisorMap[state.data.properties.supervisor_visit]
: null
),
field('Health_insurance__c', dataValue('properties.health_insurace_cover')),
field(
'Health_insurance_active_status__c',
dataValue('properties.healthinsurance_active')
),
field('Health_insurance_type__c', state => {
var status = dataValue('properties.health_insurance')(state);
var value =
status && status !== ''
? status
.replace(/ /gi, ';')
.split(';')
.map(value => {
return state.insuranceMap[value] || value;
})
: undefined;
return value ? value.join(';') : undefined;
}),
field(
'Other_Health_Insurance__c',
dataValue('properties.if_other_please_specify')
),
//field('Last_Modified_Date_CommCare__c', dataValue('server_modified_on')),
field('CommCare_Form_Opened__c', state=> {
var form_opened = dataValue('properties.last_form_opened_date_and_time')(state);
var value1 = form_opened.split('-').slice(0, 2).join('-');
var value2 = form_opened.split('-').slice(2).join('-');
var formattedValue = [value1, value2].join(' ');
return new Date(formattedValue).toISOString();
}),
field('Case_Closed_Date__c', state => {
var closed = dataValue('date_closed')(state);
var date = dataValue('server_modified_on')(state);
return closed && closed == true ? date : undefined;
})
)
);

fn(state => { console.log("upsertIf2 done"); return state; });
fn(state => {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log('Final 4 second cooldown finished.');
resolve(state);
}, 4000);
});
});


- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Q3-2022-Upsert-Person-2022-04-21.html b/adaptors/library/jobs/auto/Q3-2022-Upsert-Person-2022-04-21.html index b834f1a96d6..5095e84951d 100644 --- a/adaptors/library/jobs/auto/Q3-2022-Upsert-Person-2022-04-21.html +++ b/adaptors/library/jobs/auto/Q3-2022-Upsert-Person-2022-04-21.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Q3 2022] Upsert Person

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataValue, field, fields, join, map, query, relationship, upsertIf

Expression

// create constants and functions
fn(state => {
state.cleanChoice = function (state, choice) {
if (choice) {
return choice.charAt(0).toUpperCase() + choice.slice(1).replace('_', ' ');
} else {
return '';
}
};

state.handleMultiSelect = function (state, multiField) {
return multiField
? multiField
.replace(/ /gi, ';')
.toLowerCase()
.split(';')
.map(value => {
return (
value.charAt(0).toUpperCase() + value.slice(1).replace('_', ' ')
);
})
.join(';')
: '';
};

const pregDangerMap = {
Vaginal_Bleeding: 'Vaginal Bleeding',
Water_Breaks: 'Water Breaks before Time of Delivery',
Prolonged_Labour: 'Prolonged Labour over 12 Hours',
Convulsions: 'Convulsions or Fits',
Abdominal_Pain: 'Severe Abdominal Pain before Delivery',
High_Fever: 'High Fever',
Low_Baby_Movement: 'Feeling the Baby move less or not at all',
Swelling: 'Swelling of Face and Hands',
Severe_Headache: 'Severe or Continuous Headache for more than 12 hours',
Severe_Vomiting: 'Severe or Continuous Vomiting',
none: 'None',
};

const counselMap = {
anc_visits: 'ANC Visits',
early_initiation_of_anc_less_than_3_months:
'Early initiation of ANC (less than 3 months)',
completing_recomended_anc_visits: 'Completing recomended ANC visits',
danger_signs: 'Danger signs',
skilled_birth: 'Skilled birth',
immunization: 'Immunization',
individual_birth_plan: 'Individual Birth Plan',
emergency_preparedness: 'Emergency preparedness',
childcare_and_affection: 'Childcare and affection',
nutrition_counseling: 'Nutrition counseling',
growth_monitoring: 'Growth monitoring',
exclusive_breastfeeding: 'Exclusive breastfeeding',
complementary_feeding: 'Complementary feeding',
sleeping_under_llitn: 'Sleeping under LLITN',
knowing_hiv_status: 'Knowing HIV status',
indoor_pollution: 'Indoor pollution',
personal_hygiene: 'Personal Hygiene',
safe_drinking_water: 'Safe drinking water',
safe_disposal_of_human_waste: 'Safe disposal of human waste',
};

const serviceMap = {
Scheduled_PSC_Apt: 'Scheduled PSC Apt',
Adverse_Drug_Reaction_Side_Effect: 'Adverse Drug Reaction/Side Effect',
Malnutrition: 'Malnutrition',
Malaria: 'Malaria',
TB: 'TB',
Treatment_for_Other_OIs: 'Treatment for other Ols',
ARI: 'ARI',
Anemia: 'Anemia',
Diarrhea: 'Diarrhea',
Pregnancy_Care: 'Pregnancy Care (ANC)',
Family_Planning: 'Family Planning (FP)',
Preconception_Counseling: 'Preconception Counseling',
Injury: 'Injury',
Other: 'Other',
};

const reasonMapping = {
lack_of_access_to_fp_information: 'Lack of access to FP information',
no_access_to_fp_services_hospitals:
'Lack of hospitals or places where FP services can be accessed',
not_willing_to_use_fp_due_to_negative_effects_myths_and_misconceptions:
'Myths and misconceptions',
barriers_at_service_delivery_points: 'Barriers at service delivery points',
pregnant: 'The client is pregnant',
intentions_of_getting_pregnant: 'Intentions of getting pregnant',
not_sexually_active: 'The client is not sexually active',
other_barriers_culture_male_partners_parents_etc:
'Other barriers (culture, male partners, parents, etc)',
};

const milestoneTypeMap = {
cognitive_delays_learning_difficulties:
'Cognitive Delays Learning Difficulties',
motor_delays: 'Motor Delays',
speech_and_language_delay: 'Delay Speech and Language Delay',
social_and_emotional: 'Social and emotional',
};

const milestoneMap = {
movement: 'Movement',
hearing: 'Hearing',
communication: 'Communication',
seeing: 'Seeing',
cognitive_delays: 'Cognitive Delays',
play: 'Play',
};
const nutritionMap = {
severe: 'Severely Malnourished',
moderate: 'Moderately Malnourished',
normal: 'Normal',
};

const fpMethodMap = {
male_condoms: 'Male condoms',
female_condoms: 'Female condoms',
pop: 'POP',
coc: 'COC',
emergency_pills: 'Emergency pills',
none: 'None',
};

return {
...state,
counselMap,
serviceMap,
reasonMapping,
milestoneTypeMap,
milestoneMap,
nutritionMap,
pregDangerMap,
fpMethodMap,
};
});

// get data from SF
query(
`SELECT Id, Parent_Geographic_Area__c, Parent_Geographic_Area__r.Name, Parent_Geographic_Area__r.Parent_Geographic_Area__c FROM Location__c WHERE CommCare_User_ID__c = '${dataValue(
'properties.owner_id'
)(state)}'`
);

// build IDs from queried SF data
fn(state => ({
...state,
data: {
...state.data,
villageNewId:
state.references[0].records && state.references[0].records.length !== 0
? state.references[0].records[0].Id
: undefined,
areaNewId:
state.references[0].records && state.references[0].records.length !== 0
? state.references[0].records[0].Parent_Geographic_Area__c
: undefined,
catchmentNewId:
state.references[0].records && state.references[0].records.length !== 0
? state.references[0].records[0].Parent_Geographic_Area__r
? state.references[0].records[0].Parent_Geographic_Area__r
.Parent_Geographic_Area__c
: undefined
: undefined,
},
}));

upsertIf(
state.data.properties.commcare_username !== 'test.2021' &&
state.data.properties.test_user !== 'Yes',
'Household__c',
'CommCare_Code__c',
fields(
field('CommCare_Code__c', state => {
return (
dataValue('indices.parent.case_id')(state) ||
dataValue('properties.parent_id')(state)
);
})
)
),

// build sfRecord before upserting
fn(state => {
// This mapping was initially constructed with fields(field(), ...) syntax. We
// preserve it here and use "expandReferences" but could also refactor this to
// use standard object syntax, as Salesforce looks for { k: v, ... }.
const originalMapping = fields(
/* field(
'deworming_medication__c',
dataValue('form.TT5.Child_Information.Deworming')
),depracated field*/
field('Source__c', 1),
field('CommCare_ID__c', dataValue('case_id')),
relationship(
'Household__r',
'CommCare_Code__c', state => {
// (dataValue('properties.parent_id') || dataValue('indices.parent.case_id'))
return (
dataValue('properties.parent_id')(state) ||
dataValue('indices.parent.case_id')(state)
);
}),
field('commcare_location_id__c',dataValue('properties.commcare_location_id')),
field('CommCare_Username__c',dataValue('properties.commcare_username')),
field('Telephone__c', dataValue('properties.contact_phone_number')),
field(
'Consent_for_data_use__c',
dataValue('properties.data_sharing_consent')
),
field('CommCare_HH_Code__c', dataValue('indices.parent.case_id')),
field('Client_Status__c', dataValue('properties.Client_Status')),
field('Catchment__c', dataValue('catchmentNewId')),
field('Area__c', dataValue('areaNewId')),
field('Household_Village__c', dataValue('villageNewId')),
field('Name', state => {
var name1 = dataValue('properties.Person_Name')(state); //check
var unborn = dataValue('properties.name')(state); //check
var name2 =
name1 === undefined || name1 === '' || name1 === null
? unborn
: name1.replace(/\w\S*/g, function (txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
});
return name1 !== null ? name2 : 'Unborn Child';
}),
field('Chronic_illness__c', state => {
var choice = dataValue(
'properties.please_specify_which_chronic_illness_the_person_has'
)(state);
var choice2 = state.handleMultiSelect(state, choice);
return choice2 ? choice2.replace(/_/g, ' ') : '';
}),
field(
'Currently_enrolled_in_school__c',
dataValue('properties.enrolled_in_school')
),
field('Education_Level__c', state => {
var level = dataValue('properties.Education_Level')(state);
return level ? level.toString().replace(/_/g, ' ') : null;
}),
field('Relation_to_the_head_of_the_household__c', state => {
var relation = dataValue('properties.relation_to_hh')(state);
if (relation) {
relation = relation.toString().replace(/_/g, ' ');
var toTitleCase = relation.charAt(0).toUpperCase() + relation.slice(1);
return toTitleCase;
}

return null;
}),
field('Gender__c',dataValue('properties.Gender')),
field('Disability__c', state => {
var disability = dataValue('properties.disability')(state);
var toTitleCase =
disability !== undefined
? disability
.toLowerCase()
.split(' ')
.map(word => word.charAt(0).toUpperCase() + word.slice(1))
.join(';')
: null;
return toTitleCase;
}), //need case property
field('Other_disability__c', state => {
var disability = dataValue('properties.other_disability')(state);
var toTitleCase =
disability !== undefined
? disability
.toLowerCase()
.split(' ')
.map(word => word.charAt(0).toUpperCase() + word.slice(1))
.join(';')
: null;
return toTitleCase;
}), //need case property

field('Use_mosquito_net__c', dataValue('properties.sleep_under_net')), //need case property
// field('Birth_Certificate__c',dataValue('properties.birth_certificate')),
field('Birth_Certificate__c', dataValue('properties.birth_certificate')),
field('Child_Status__c', state => {
var status = dataValue('properties.Child_Status')(state);
var rt = dataValue('properties.Record_Type')(state); //check that this is the right one
if (status && rt === 'Unborn') {
status = 'Unborn';
} else if (status && rt === 'Born') {
status = 'Born';
}
return status;
}),
//===================================================//
relationship('RecordType', 'Name', state => {
var rt = dataValue('properties.Record_Type')(state);
return rt === 'Unborn' || rt === ''
? 'Child'
: rt.toString().replace(/_/g, ' '); //convert Unborn children to Child RT
}),

//TT5 Mother Information

field('MCH_booklet__c', dataValue('properties.mch_booklet')), //need to create a case property
field('Reason_for_not_taking_a_pregnancy_test__c', state => {
var reason = dataValue('properties.No_Preg_Test')(state);
return reason ? reason.toString().replace(/_/g, ' ') : undefined;
}),
field('Pregnancy_danger_signs__c', state => {
var signs = dataValue('properties.pregnancy_danger_signs')(state);
return signs ? state.pregDangerMap[signs] : undefined;
}),
field(
'Individual_birth_plan_counselling__c',
dataValue('properties.individual_birth_plan')
),
field('Child_Danger_Signs__c', state => {
var signs = dataValue('properties.Other_Danger_Signs')(state);
return signs
? signs
.toLowerCase()
.split(' ')
.map(word => word.charAt(0).toUpperCase() + word.slice(1))
.join(';')
.toString()
.replace(/_/g, ' ')
: signs;
}),

//HAWI
field(
'Unique_Patient_Code__c',
dataValue('properties.Unique_Patient_Code')
),
field(
'Active_in_Support_Group__c',
dataValue('properties.Active_in_Support_Group')
),
field(
'Preferred_Care_Facility__c',
dataValue('properties.Preferred_Care_Facility')
),
field('Currently_on_ART_s__c', dataValue('properties.ART')),
field('ART_Regimen__c', dataValue('properties.ARVs')),
field('HAWI_Defaulter__c', state => {
var hawi = dataValue('properties.default')(state);
return hawi === 'Yes' ? true : false;
}),
field('Date_of_Default__c', dataValue('properties.date_of_default')),
field('Know_HIV_status__c', dataValue('properties.known_hiv_status')),
field('HIV_Status__c', dataValue('properties.hiv_status')),
/*field('HIV_Status__c', state => {
var status = dataValue('properties.hiv_status')(state);
return status === 'yes'
? 'Known'
: status === 'no'
? 'Unknown'
: undefined;
}),//CHECK MAPPING ON THIS ONE*/

//Illness
field('Persons_temperature__c', dataValue('properties.temperature')),
field(
'Days_since_illness_start__c',
dataValue('properties.duration_of_sickness')
),
field(
'Current_Malaria_Status__c',
dataValue('properties.malaria_test_results')
),
field('Malaria_test__c', dataValue('properties.malaria_test')),
field(
'Last_Malaria_Home_Test__c',
dataValue('properties.malaria_test_date')
),
field('Last_Malaria_Home_Treatment__c', state => {
var choice = dataValue(
'properties.malaria_test_date'
)(state);
return state.cleanChoice(state, choice);
}),
/*field('Current_Malaria_Status__c', dataValue('form.Malaria_Status')),//check
field('Malaria_Facility__c',dataValue('form.treatment_and_tracking.malaria_referral_facility')),
field('Fever_over_7days__c',dataValue('form.treatment_and_tracking.symptoms_check_fever')),//check*/
field('Cough_over_14days__c', dataValue('properties.symptoms_check_cough')),
/*field('Diarrhoea_over_14days__c',dataValue('form.treatment_and_tracking.symptoms_check_diarrhea')),//check
field('Diarrhoea_less_than_14_days__c',dataValue('form.treatment_and_tracking.mild_symptoms_check_diarrhea')),//check*/
field(
'TB_patients_therapy_observed__c',
dataValue('properties.observed_tb_therapy')
),
field('Injuries_or_wounds__c', dataValue('properties.wounds_or_injuries')),
field(
'Pulse_Oximeter__c',
dataValue('properties.pulse_oximeter_available')
),
field(
'Heart_Rate_Pulse_Oximeter__c',
dataValue('properties.heart_rate_pulse_oximeter')
),
field(
'Oxygen_Concentration_Pulse_Oximeter__c',
dataValue('properties.oxygen_concentration')
),
field('Can_child_drink__c', dataValue('properties.can_child_drink')),
// field('Antibiotic_provided_for_fast_breathing__c',dataValue('properties.antibiotic_fast_breathing')),
field('Antibiotic_provided_for_fast_breathing__c', state => {
var choice = dataValue('properties.antibiotic_fast_breathing')(state);
return state.cleanChoice(state, choice);
}),
// field('Antibiotic_provided_for_chest_indrawing__c',dataValue('properties.antibiotic_chest_indrawing')),
field('Antibiotic_provided_for_chest_indrawing__c', state => {
var choice = dataValue('properties.antibiotic_chest_indrawing')(state);
return state.cleanChoice(state, choice);
}),
/*field('Child_zinc__c',dataValue('form.TT5.Child_Information.Clinical_Services.diarrhea_clinic_treatment_zinc')),//check
field('Child_ORS__c',dataValue('form.TT5.Child_Information.Clinical_Services.diarrhea_clinic_treatment_ORS')),//check
field('Childs_breath_per_minute__c',dataValue('form.psbi.breaths_per_minuite')),//check
field('Child_chest_in_drawing__c',dataValue('form.psbi.Child_chest_in_drawing_c')),//check*/
field('Default_on_TB_treatment__c', state => {
var choice = dataValue('properties.default_tb_treatment')(state); //check
return state.cleanChoice(state, choice);
}),
field('Treatment_Distribution__c', state => {
var choice = dataValue('properties.distributed_treatments')(state);
return state.cleanChoice(state, choice);
}), //check

//Delivery
field(
'Immediate_Breastfeeding__c',
dataValue('properties.Breastfeeding_Delivery')
),
field('Place_of_Delivery__c', state => {
var facility = dataValue('properties.Delivery_Type')(state);
return facility === 'Skilled'
? 'Facility'
: facility === 'Unskilled'
? 'Home'
: undefined;
}),
field('Delivery_Facility__c', state => {
var facility = dataValue('properties.Delivery_Facility')(state);
return facility ? facility.toString().replace(/_/g, ' ') : null;
}),
/* field('Delivery_Facility__c', state => {
//HMN 21//11/2022
var birthFacility =dataValue('properties.Birth_Facility')(state);
var deliveryFacility = dataValue('properties.Delivery_Facility')(state);
var facilityOfBirth = dataValue ('properties.Facility_of_Birth')(state);
var faciliy_val =
facilityOfBirth //!== undefined || facilityOfBirth !== '' || facilityOfBirth !== null
? facilityOfBirth
:birthFacility //!== undefined || birthFacility !== '' || birthFacility !== null
? birthFacility
:deliveryFacility //!== undefined || deliveryFacility !== '' || deliveryFacility !== null
? deliveryFacility
:"";
return faciliy_val.toString().replace(/_/g, ' ');
//HMN
}), */
//field('Delivery_Facility__c', state => {
// var facility = dataValue('properties.Birth_Facility')(state);
// return facility ? facility.toString().replace(/_/g, ' ') : null;
//}),
field(
'Delivery_Facility_Other__c',
dataValue('properties.Delivery_Facility_Other')
),

//Family Planning

field('LMP__c', dataValue('properties.LMP')),
field('Family_Planning__c', dataValue('properties.family_planning')),
field(
'Family_Planning_Method__c',
dataValue('properties.family_planning_method')
),
field('FP_Method_Distributed__c', state => {
var status = dataValue('properties.FP_commodity')(state);
var value =
status && status !== ''
? status
.replace(/ /gi, ';')
.split(';')
.map(value => {
return state.fpMethodMap[value] || value;
})
: undefined;
return value ? value.join(';') : undefined;
}),
field('Reasons_for_not_taking_FP_method__c', state => {
var status = dataValue('properties.No_FPmethod_reason')(state);
var value =
status && status !== ''
? status
.replace(/ /gi, ';')
.split(';')
.map(value => {
return state.reasonMapping[value] || value;
})
: undefined;
return value ? value.join(';') : undefined;
}),
field('Pregnant__c', state => {
var preg = dataValue('properties.Pregnant')(state);
return preg === 'Yes' ? true : false;
}),
field('Date_of_Delivery__c', dataValue('properties.delivery_date')),
field(
'Counselled_on_FP_Methods__c',
dataValue('properties.CounselledFP_methods')
),
field('Client_counselled_on__c', state => {
var choices =
dataValue('properties.counsel_topic')(state) ||
dataValue('properties.counsel_topic')(state); //need to create a case property
var choiceGroups = choices ? choices.split(' ') : null;
var choicesMulti = choiceGroups
? choiceGroups
.map(cg => {
return state.counselMap[cg];
})
.join(';')
: choiceGroups;
return choicesMulti;
}), //OpenFn Question - can this be simplified now that this is a case property
field('Client_provided_with_FP__c', state => {
var choice = dataValue(
'properties.was_the_woman_15-49yrs_provided_with_family_planning_commodities_by_chv'
)(state);
return state.cleanChoice(state, choice);
}),
field(
'Received_pregnancy_test__c',
dataValue('properties.did_you_adminsiter_a_pregnancy_test')
),
field(
'Pregnancy_test_result__c',
dataValue('properties.pregnancy_test_result')
),
field('Gravida__c', dataValue('properties.Gravida')),
field('Parity__c', dataValue('properties.Parity')),

//TT5 Child Information

field(
'Exclusive_Breastfeeding__c',
dataValue('properties.Exclusive_Breastfeeding')
),
field(
'Counselled_on_Exclusive_Breastfeeding__c',
dataValue('properties.counseling')
),
field(
'Newborn_visited_48_hours_of_delivery__c',
dataValue('properties.newborn_visited_48_hours_of_delivery')
),
field('Newborn_visit_counselling__c', state => {
var choice = dataValue('properties.did_you_consel_the_mother_on1')(state);
return state.cleanChoice(state, choice);
}),
field(
'mother_visited_48_hours_of_the_delivery__c',
dataValue('properties.visit_mother_48')
),
/*
//HMN -06012023- The object Visit_after_unskilled__c seems to be missing in sfRecord
//Investigation issue https://lwala.atlassian.net/browse/LWAL-716 raised
//Meanwhile this is being removed to allow re-processing
field(
'Visit_after_unskilled__c',
dataValue('properties.visit_24hours_after_unskilled_delivery')
),
*/
field('Mother_visit_counselling__c', state => {
var choice = dataValue('properties.did_you_consel_the_mother_on2')(state);
return state.cleanChoice(state, choice);
}),
/*field('Newborn_visited_48_hours_of_delivery__c',dataValue('properties.newborn_visited_48_hours_of_delivery')), Duplicate Mapping*/
field(
'Newborn_visited_by_a_CHW_within_6_days__c',
dataValue('properties.visit_6_days_from_delivery')
),

//Nutrition

field(
'Caretaker_action_after_muac_screening__c',
dataValue('properties.mother_screened_muac_action')
),
field(
'Caretaker_muac_findings__c',
dataValue('properties.mother_screened_child_muac_result')
),
field('Food_groups_3_times_a_day__c',dataValue('properties.food_groups')),
// field('Caretaker_screened_for_muac_this__c', dataValue('properties.mother_screened_child_muac')),
field('Caretaker_screened_for_muac_this__c', state => {
var choice = dataValue('properties.mother_screened_child_muac')(state); //check
return state.cleanChoice(state, choice);
}),
// field('Caretaker_trained_in_muac__c', dataValue('properties.mother_trained_muac')),
field('Caretaker_trained_in_muac__c', state => {
var choice = dataValue('properties.mother_trained_muac')(state); //check
return state.cleanChoice(state, choice);
}),
field(
'of_Caretaker_MUAC_screenings__c',
dataValue('properties.mother_nb_screening')
),
field('Current_Weight__c', dataValue('properties.Current_Weight')), //Only on task update
field('Current_Height__c', dataValue('properties.current_height')),
field('Current_MUAC__c', dataValue('properties.MUAC')),
field('Current_Nutrition_Status__c', state => {
var status = dataValue('properties.Nutrition_Status')(state);
return status ? state.nutritionMap[status] : undefined;
}),

//TT5 & HAWI
field('TT5_Mother_Registrant__c', state => {
var preg = dataValue('properties.Pregnant')(state);
return preg == 'Yes' ? 'Yes' : null;
}),
field('Enrollment_Date__c', state => {
var age = dataValue('properties.age')(state);
var date = dataValue('server_date_modified')(state);
var preg = dataValue('properties.Pregnant')(state);
return age < 5 || preg == 'Yes' ? date : null;
}),
field('HAWI_Enrollment_Date__c', state => {
var date = dataValue('server_date_modified')(state);
var status = dataValue('properties.hiv_status')(state);
return status == 'positive' ? date : null;
}),
field('Thrive_Thru_5_Registrant__c', state => {
var age = dataValue('properties.age')(state);
var preg = dataValue('properties.Pregnant')(state);
return age < 5 || preg == 'Yes' ? 'Yes' : 'No';
}), //check mapping
field('HAWI_Registrant__c', state => {
var status = dataValue('properties.hiv_status')(state);
return status == 'positive' ? 'Yes' : 'No';
}),

//ANC
field('ANC_1__c', state => {
var date = dataValue('properties.ANC_1')(state);
return date && date !== '' ? date : undefined;
}),
field('ANC_2__c', state => {
var date = dataValue('properties.ANC_2')(state);
return date && date !== '' ? date : undefined;
}),
field('ANC_3__c', state => {
var date = dataValue('properties.ANC_3')(state);
return date && date !== '' ? date : undefined;
}),
field('ANC_4__c', state => {
var date = dataValue('properties.ANC_4')(state);
return date && date !== '' ? date : undefined;
}),
field('ANC_5__c', state => {
var date = dataValue('properties.ANC_5')(state);
return date && date !== '' ? date : undefined;
}),
field('Date_of_Birth__c', state => {
var date = dataValue('properties.DOB')(state);
return date && date !== '' ? date : undefined;
}),

//Immunization

field(
'Child_missed_immunization_type__c',
dataValue('form.TT5.Child_Information.Immunizations.immunization_type')
), //check
field('BCG__c', dataValue('properties.BCG')),
field('OPV_0__c', dataValue('properties.OPV_0')),
field('Measles_6__c', dataValue('properties.Measles_6')),
field('Measles_9__c', dataValue('properties.Measles_9')),
field('Measles_18__c', dataValue('properties.Measles_18')),
field('OPV_1__c', dataValue('properties.OPV_PCV_Penta_1')),
field('OPV_2__c', dataValue('properties.OPV_PCV_Penta_2')),
field('OPV_3__c', dataValue('properties.OPV_PCV_Penta_3')),
field('Rotavirus_1__c', dataValue('properties.rotavirus_1')),
field('Rotavirus_2__c', dataValue('properties.rotavirus_2')),
field('IPV__c', dataValue('properties.IPV')),
field('Vitamin_A_12__c', dataValue('properties.Vitamine_A')),
field('Vitamin_A_18__c', dataValue('properties.Vitamine_A_2')),
field('Vitamin_A_24__c', dataValue('properties.Vitamine_A_3')),
field('Deworming_12__c', dataValue('properties.Deworming_1')),
field('Deworming_18__c', dataValue('properties.Deworming_2')),
field('Deworming_24__c', dataValue('properties.Deworming_3')),

//ECD
// field('Did_you_counsel_caregiver_on__c',dataValue('properties.did_you_counsel_the_caregiver_on_delayed_milestones')),
field('Did_you_counsel_caregiver_on__c', state => {
var choice = dataValue(
'properties.did_you_counsel_the_caregiver_on_delayed_milestones'
)(state);
return state.cleanChoice(state, choice);
}),
// field('Delayed_Milestone__c',dataValue('properties.does_the_child_has_a_delayed_milestone')),
field('Delayed_Milestone__c', state => {
var choice = dataValue(
'properties.does_the_child_has_a_delayed_milestone'
)(state);
return state.cleanChoice(state, choice);
}),
// field('Child_has_2_or_more_play_items__c',dataValue('properties.does_the_child_has_2_or_more_play_items_at_home')),
field('Child_has_2_or_more_play_items__c', state => {
var choice = dataValue(
'properties.does_the_child_has_2_or_more_play_items_at_home'
)(state);
return state.cleanChoice(state, choice);
}),
// field('Child_has_3_or_more_picture_books__c',dataValue('properties.does_the_child_has_3_or_more_picture_books')),
field('Child_has_3_or_more_picture_books__c', state => {
var choice = dataValue(
'properties.does_the_child_has_3_or_more_picture_books'
)(state);
return state.cleanChoice(state, choice);
}),
field('Delayed_Milestones_Counselled_On__c', state => {
var ms = dataValue(
'properties.which_delayed_milestone_area_did_you_counsel_the_caregiver_on'
)(state);
return ms ? state.milestoneMap[ms] : undefined;
}),
field('Delayed_Milestone_Type__c', state => {
var ms = dataValue('properties.which_delayed_milestone')(state);
return ms ? state.milestoneTypeMap[ms] : undefined;
}),

//Death
field('Date_of_Death__c', dataValue('properties.Date_of_Death')),
field('Cause_of_Death__c', state => {
var death = dataValue('properties.cause_of_death_dead')(state);
return death ? death.toString().replace(/_/g, ' ') : death;
}), //check which case property to use - there are 2
field('Verbal_autopsy__c', dataValue('properties.verbal_autopsy')),

//Closing
field('Last_Modified_Date_CommCare__c', dataValue('date_modified')),
field('Case_Closed_Date__c',dataValue('date_closed')),
//field('Case_Closed_Date__c', state => {
// var closed = dataValue('date_closed')(state);
// var date = dataValue('date_modified')(state);
// return closed && closed == true ? date : undefined;
//}) //need case property
);

let sfRecord = expandReferences(originalMapping)(state);

Object.entries(sfRecord).forEach(([key, value]) => {
if (value === '') sfRecord[key] = undefined;
});

return { ...state, sfRecord };
});

// upsert data to SF
upsertIf(
state.data.properties.commcare_username !== 'test.2021' &&
state.data.properties.test_user !== 'Yes' ,
'Person__c', 'CommCare_ID__c', state => state.sfRecord);

upsertIf(
state.data.properties.commcare_username !== 'test.2021' &&
state.data.properties.test_user !== 'Yes' &&
state.data.properties.caretaker_case_id !== undefined && state.data.properties.caretaker_case_id !== '',
'Person__c', 'CommCare_ID__c',
fields(
relationship('Primary_Caregiver_Lookup__r', 'CommCare_ID__c', state => {
return caregiver = dataValue('properties.caretaker_case_id')(state);
}),
field('CommCare_ID__c', dataValue('case_id')),
)
);

upsertIf(
state.data.properties.commcare_username !== 'test.2021' &&
state.data.properties.test_user !== 'Yes' &&
state.data.properties.mother_case_id !== undefined && state.data.properties.mother_case_id !== '',
'Person__c', 'CommCare_ID__c',
fields(
relationship('Mother__r', 'CommCare_ID__c', state => {
return caregiver = dataValue('properties.mother_case_id')(state);
}),
field('CommCare_ID__c', dataValue('case_id')),
)
);

upsertIf(
state.data.properties.commcare_username !== 'test.2021' &&
state.data.properties.test_user !== 'Yes' &&
state.data.properties.head_of_household_case_id !== undefined && state.data.properties.head_of_household_case_id !== '',
'Household__c', 'CommCare_Code__c',
fields(
field('CommCare_Code__c', state => {
return (
dataValue('indices.parent.case_id')(state) ||
dataValue('properties.parent_id')(state)
)
}),
relationship('Head_of_Household__r', 'CommCare_ID__c', dataValue('properties.head_of_household_case_id')),
)
)

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Q3-2022-Upsert-Person-Visit-2022-06-28.html b/adaptors/library/jobs/auto/Q3-2022-Upsert-Person-Visit-2022-06-28.html index a245a98d9fc..f1877afe72c 100644 --- a/adaptors/library/jobs/auto/Q3-2022-Upsert-Person-Visit-2022-06-28.html +++ b/adaptors/library/jobs/auto/Q3-2022-Upsert-Person-Visit-2022-06-28.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Q3 2022] Upsert Person Visit

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataValue, field, fields, join, map, query, relationship, upsertIf

Expression

//UPSERT PERSON VISIT
query(
`SELECT Id, Parent_Geographic_Area__c, Parent_Geographic_Area__r.Name, Parent_Geographic_Area__r.Parent_Geographic_Area__c FROM Location__c WHERE CommCare_User_ID__c = '${dataValue(
'properties.owner_id'
)(state)}'`
);

fn(state => {
state.cleanChoice = function (state, choice) {
if (choice) {
return choice.charAt(0).toUpperCase() + choice.slice(1).replace('_', ' ');
} else {
return '';
}
};

fn(state => ({
...state,
data: {
...state.data,
catchmentNewId:
state.references[0].records && state.references[0].records.length !== 0
? (state.references[0].records[0].Parent_Geographic_Area__r
? state.references[0].records[0].Parent_Geographic_Area__r.Parent_Geographic_Area__c
: undefined)
: undefined,
},
}));

state.handleMultiSelect = function (state, multiField) {
return multiField
? multiField
.replace(/ /gi, ';')
.toLowerCase()
.split(';')
.map(value => {
return (
value.charAt(0).toUpperCase() + value.slice(1).replace('_', ' ')
);
})
.join(';')
: '';
};

state.handleMultiSelectOriginal = function (state, multiField) {
return multiField
? multiField
.replace(/ /gi, ';')
.toLowerCase()
.split(';')
.map(value => {
return (
value
);
})
.join(';')
: '';
};

const pregDangerMap = {
Vaginal_Bleeding: 'Vaginal Bleeding',
Water_Breaks: 'Water Breaks before Time of Delivery',
Prolonged_Labour: 'Prolonged Labour over 12 Hours',
Convulsions: 'Convulsions or Fits',
Abdominal_Pain: 'Severe Abdominal Pain before Delivery',
High_Fever: 'High Fever',
Low_Baby_Movement: 'Feeling the Baby move less or not at all',
Swelling: 'Swelling of Face and Hands',
Severe_Headache: 'Severe or Continuous Headache for more than 12 hours',
Severe_Vomiting: 'Severe or Continuous Vomiting',
none: 'None',
};

const counselMap = {
anc_visits: 'ANC Visits',
early_initiation_of_anc_less_than_3_months:
'Early initiation of ANC (less than 3 months)',
completing_recomended_anc_visits: 'Completing recomended ANC visits',
danger_signs: 'Danger signs',
skilled_birth: 'Skilled birth',
immunization: 'Immunization',
individual_birth_plan: 'Individual Birth Plan',
emergency_preparedness: 'Emergency preparedness',
childcare_and_affection: 'Childcare and affection',
nutrition_counseling: 'Nutrition counseling',
growth_monitoring: 'Growth monitoring',
exclusive_breastfeeding: 'Exclusive breastfeeding',
complementary_feeding: 'Complementary feeding',
sleeping_under_llitn: 'Sleeping under LLITN',
knowing_hiv_status: 'Knowing HIV status',
indoor_pollution: 'Indoor pollution',
personal_hygiene: 'Personal Hygiene',
safe_drinking_water: 'Safe drinking water',
safe_disposal_of_human_waste: 'Safe disposal of human waste',
};

const serviceMap = {
Scheduled_PSC_Apt: 'Scheduled PSC Apt',
Adverse_Drug_Reaction_Side_Effect: 'Adverse Drug Reaction/Side Effect',
Malnutrition: 'Malnutrition',
Malaria: 'Malaria',
TB: 'TB',
Treatment_for_Other_OIs: 'Treatment for other Ols',
ARI: 'ARI',
Anemia: 'Anemia',
Diarrhea: 'Diarrhea',
Pregnancy_Care: 'Pregnancy Care (ANC)',
Family_Planning: 'Family Planning (FP)',
Preconception_Counseling: 'Preconception Counseling',
Injury: 'Injury',
Other: 'Other',
};

const reasonMap = {
lack_of_access_to_fp_information: 'Lack of access to FP information',
no_access_to_fp_services_hospitals:
'Lack of hospitals or places where FP services can be accessed',
not_willing_to_use_fp_due_to_negative_effects_myths_and_misconceptions:
'Myths and misconceptions',
barriers_at_service_delivery_points: 'Barriers at service delivery points',
pregnant: 'The client is pregnant',
intentions_of_getting_pregnant: 'Intentions of getting pregnant',
not_sexually_active: 'The client is not sexually active',
other_barriers_culture_male_partners_parents_etc:
'Other barriers (culture, male partners, parents, etc)',
};

const milestoneTypeMap = {
cognitive_delays_learning_difficulties:
'Cognitive Delays Learning Difficulties',
motor_delays: 'Motor Delays',
speech_and_language_delay: 'Delay Speech and Language Delay',
social_and_emotional: 'Social and emotional',
};

const milestoneMap = {
movement: 'Movement',
hearing: 'Hearing',
communication: 'Communication',
seeing: 'Seeing',
cognitive_delays: 'Cognitive Delays',
play: 'Play',
};
const nutritionMap = {
severe: 'Severely Malnourished',
moderate: 'Moderately Malnourished',
normal: 'Normal',
};

const fpMethodMap = {
male_condoms: "Male condoms",
female_condoms: "Female condoms",
pop: "POP",
coc: "COC",
emergency_pills: "Emergency pills",
none: "None",
//HMN -12/01/2023-
//adding normalization for the family_planning_method to Family_Planning_Method__c
iucd: "IUCD",
condoms: "Condoms",
depo:"Depo",
implant: "Implant",
injection: "Injection",
pills: "Pills",
traditional: "Traditional"
};

const symptomsMap = {
convulsions: 'Convulsions',
not_able_to_eatdrink: 'Not able to drink or feed at all',
vomits_everything: 'Vomits everything',
'chest_in-drawing': 'Chest in - drawing',
unusually_sleepyunconscious: 'Unusually sleepy or unconscious',
swelling_of_both_feet: 'Swelling of both feet',
none: "None",
};

const supervisorMap ={
community_health_nurse: "Community_health_nurse",
chw_supervisor: "CHW_supervisor",
chewschas: "Chewschas",
other: "Other",
none: "None"
};

const treatmentDistributionMap = {
ors_205gltr_sachets: 'ORS (20.5h/ltr): Sachets',
acts_6s: 'ACTs (6s)',
acts_12s: 'ACTs (12s)',
acts_18s: 'ACTs (18s)',
acts_24s: 'ACTs (24s)',
albendazole_abz_tabs: 'Albendazole (ABZ): Tabs',
paracetamol_tabs: 'Tetracycline Eye Ointment (TEO): 1%:tube',
tetracycline_eye_ointment_teo_1_tube: 'Tetracycline Eye Ointment (TEO): 1%:tube',
amoxycillin: 'Amoxycillin (125mg/5mls: Bottle',
none: 'None'
};

const childDangerSignsMap = {
none: 'None',
Poor_Breastfeeding: 'Poor Breastfeeding',
not_able_to_feed_since_birth_or_stopped_feeding_well: 'Not able to feed since birth, or stopped feeding well',
not_able_to_breastfeed: 'Not able to breastfeed',
Fever: 'Fever',
very_low_temperature: 'Very low temperature (35.4 C or less)',
shivering: 'Shivering',
Fast_Breathing: 'Fast Breathing',
Very_Sleepy: 'Very Sleepy',
Convulsions_and_Fits: 'Convulsions and Fits',
only_moves_when_stimulated_or_does_not_move_even_on_stimulation: 'Only moves when stimulated, or does not move even on stimulation',
yellow_solebaby_body_turning_yellow_especially_eyes_palms_soles: 'Yellow sole(Baby body turning yellow especially eyes, palms,soles)',
bleeding_from_the_umbilical_stump: 'Bleeding from the umbilical stump',
signs_of_local_infection_umbilicus_is_red_or_draining_pus_skin_boils_or_eye: 'Signs of local infection: umbilicus is red or draining pus, skin boils, or eyes draining pus',
weight_chart_using_color_coded_scales_if_red_or_yellowweight_below_25kg_or_: 'Weight chart using color coded scales if RED or YELLOW(Weight below 2.5kg or born less than 36 weeks of age)',
unable_to_cry: 'Unable to cry',
cyanosis: 'Cyanosis',
bulging_fontanelle: 'Bulging fontanelle'
}

return {
...state,
counselMap,
serviceMap,
reasonMap,
milestoneTypeMap,
milestoneMap,
nutritionMap,
pregDangerMap,
fpMethodMap,
symptomsMap,
supervisorMap,
treatmentDistributionMap,
childDangerSignsMap
};
});

upsertIf(
// state.data.properties.username !== 'openfn.test' &&
state.data.properties.username !== 'test.2021' &&
state.data.properties.test_user !== 'Yes' ,
'Person_visit__c',
'CommCare_ID__c',
fields(
//field('CommCare_ID__c', dataValue('form.case.@case_id')),
// field('CommCare_ID__c', dataValue('id')),
//field('CommCare_ID__c', state => {
// var case_id = dataValue('case_id')(state);
// var submitted = dataValue('properties.last_form_opened_date_and_time')(state);
// return case_id + '_' + submitted;
//}),
field('CommCare_ID__c',dataValue('case_id')),

relationship(
'Person__r',
'CommCare_ID__c',
dataValue('indices.parent.case_id')
),
/*relationship(
'Household_CHW__r',
'CommCare_ID__c',
dataValue('properties.sfid')),*/
// field('CommCare_Visit_ID__c',dataValue('metadata.instanceID')),
field('CommCare_Visit_ID__c', state => {
var case_id = dataValue('case_id')(state);
var submitted = dataValue('properties.last_form_opened_date_and_time')(state);
return case_id + '_' + submitted;
}),
field('Date__c',dataValue('properties.Date')),
field('Form_Submitted__c', dataValue('properties.last_form_opened_name')),
field('Birth_Status__c',dataValue('properties.child_status')),
field('Catchment__c', dataValue('catchmentNewId')),
/*
//HMN 05/01/2022 Caused alot of failures, removed this RecordType Field
relationship('RecordType', 'Name', state => {
var rt = dataValue('properties.RecordType')(state);
if (rt === 'Unborn' || rt === 'Child') {
return 'Child Visit';
};
if (rt === 'Youth') {
return 'Youth Visit';
};
if (rt === 'Male Adult') {
return 'Adult Male Visit';
};
if (rt === 'Female Adult') {
return 'Adult Female Visit';
};
}),*/
field('Use_mosquito_net__c', state => {
var choice = dataValue(
'properties.sleep_under_net'
)(state);
return state.cleanChoice(state, choice);
}),
field(
'Individual_birth_plan_counselling__c',
dataValue('properties.individual_birth_plan')
),
field('Reason_for_not_taking_a_pregnancy_test__c', state => {
var reason = dataValue('properties.No_Preg_Test')(state);
return reason ? reason.toString().replace(/_/g, ' ') : undefined;
}),
field('Pregnancy_danger_signs__c', state => {
var signs = dataValue(
'properties.No_Preg_Test'
)(state);
return signs ? state.pregDangerMap[signs] : undefined;
}),
field('Child_Danger_Signs__c', state => {
var signs = dataValue(
'properties.Other_Danger_Signs'
)(state);
return signs ? state.childDangerSignsMap[signs] : undefined
}),
field('Current_Malaria_Status__c', state => {
var choice = dataValue(
'properties.malaria_test_results'
)(state);
return state.cleanChoice(state, choice);
}),
field('Malaria_Home_Test__c', dataValue('properties.malaria_test_date')),
/*field('Current_Malaria_Status__c', state => {
var choice = dataValue(
'properties.Malaria_Status'
)(state);
return state.cleanChoice(state, choice);
}),*/
// field('Malaria_Home_Treatment__c',dataValue('form.treatment_and_tracking.home_treatment')),
field('Malaria_Home_Treatment__c', dataValue('properties.malaria_test_date')),
field('Persons_symptoms__c', state => {
var check = dataValue('properties.symptoms_check_other')(state);
var value =
check && check !== ''
? check
.replace(/ /gi, ';')
.split(';')
.map(value => {
return state.symptomsMap[value] || value;
})
: undefined;
return value ? value.join(';') : undefined;
}),
field('Active_in_Support_Group__c', dataValue('properties.Active_in_Support_Group')),
field('HAWI_Defaulter__c', state => {
var hawi = dataValue('properties.default')(state);
return hawi === 'Yes' ? true : false;
}),
field(
'Date_of_Default__c',
dataValue('properties.date_of_default')
),
field(
'Persons_temperature__c',
dataValue('properties.temperature')
),
field(
'Days_since_illness_start__c',
dataValue('properties.duration_of_sickness')
),
field(
'Newborn_visited_48_hours_of_delivery__c',
dataValue(
'properties.newborn_visited_48_hours_of_delivery'
)
),
field(
'Newborn_visited_by_a_CHW_within_6_days__c',
dataValue('properties.visit_6_days_from_delivery')
),
field(
'Current_Malaria_Status__c',
dataValue('properties.malaria_test_results')
),
field('Malaria_test__c', state => {
var choice = dataValue(
'properties.malaria_test'
)(state);
return state.cleanChoice(state, choice);
}),
field('Fever__c', state => {
var choice = dataValue(
'properties.symptoms_check_fever'
)(state);
return state.cleanChoice(state, choice);
}),
field('Cough__c', state => {
var choice = dataValue(
'properties.symptoms_check_cough'
)(state);
return state.cleanChoice(state, choice);
}),
field('Diarrhoea__c', state => {
var choice = dataValue(
'properties.symptoms_check_diarrhea'
)(state);
return state.cleanChoice(state, choice);
}),
field(
'TB_patients_therapy_observed__c',
dataValue('properties.observed_tb_therapy')
),
field(
'Injuries_or_wounds__c',
dataValue('properties.wounds_or_injuries')
),
field('Currently_on_ART_s__c', dataValue('properties.ART')),
/*field('ART_Regimen__c', state => {
var choice = dataValue(
'properties.ARVs'
)(state);
return state.cleanChoice(state, choice);
}),*/
field(
'Immediate_Breastfeeding__c',
dataValue(
'properties.Breastfeeding_Delivery'
)
),
field(
'Exclusive_Breastfeeding__c',
dataValue(
'properties.Exclusive_Breastfeeding'
)
),
field(
'Counselled_on_Exclusive_Breastfeeding__c',
dataValue('properties.counseling')
),
field('LMP__c',dataValue('properties.when_was_your_lmp')),
field('Family_Planning__c', state => {
var choice = dataValue(
'properties.family_planning'
)(state);
return state.cleanChoice(state, choice);
}),
//HMN 12/01/2023 Failures on picklist within Salesforce
/*
field(
'Family_Planning_Method__c',
dataValue('properties.family_planning_method')
),*/
field('Family_Planning_Method__c', state => {
//var status = dataValue('form.treatment_and_tracking.distribution.distributed_treatments')(state);
var status = dataValue('properties.family_planning_method')(state);
var value =
status && status !== ''
? status
.replace(/ /gi, ';')
.split(';')
.map(value => {
return state.fpMethodMap[value] || value;
})
: undefined;
return value ? value.join(';') : undefined;
}),
field('FP_Method_Distributed__c', state => {
//var status = dataValue('form.treatment_and_tracking.distribution.distributed_treatments')(state);
var status = dataValue('properties.FP_commodity')(state);
var value =
status && status !== ''
? status
.replace(/ /gi, ';')
.split(';')
.map(value => {
return state.fpMethodMap[value] || value;
})
: undefined;
return value ? value.join(';') : undefined;
}),
field('Reasons_for_not_taking_FP_method__c', state => {
// var reason = dataValue('form.TT5.Mother_Information.No_FPmethod_reason')(state);
// return reason ? state.reasonMap[reason] : undefined;
var status = dataValue('properties.No_FPmethod_reason')(state);
var value =
status && status !== ''
? status
.replace(/ /gi, ';')
.split(';')
.map(value => {
return state.reasonMap[value] || value;
})
: undefined;
return value ? value.join(';') : undefined;
}),
field('Pregnant__c', state => {
var preg = dataValue('properties.Pregnant')(state);
return preg === 'Yes' ? true : false;
}),
field('Counselled_on_FP_Methods__c', state => {
var choice = dataValue(
'properties.CounselledFP_methods'
)(state);
return state.cleanChoice(state, choice);
}),
field('Client_counselled_on__c', state => {
var choices =
dataValue('properties.counsel_topic')(
state
) || dataValue('properties.counsel_topic')(state);
var choiceGroups = choices ? choices.split(' ') : null;
var choicesMulti = choiceGroups
? choiceGroups
.map(cg => {
return state.counselMap[cg];
})
.join(';')
: choiceGroups;
return choicesMulti;
}),
field('Client_provided_with_FP__c', state => {
var choice = dataValue(
'properties.was_the_woman_15-49yrs_provided_with_family_planning_commodities_by_chv'
)(state);
return state.cleanChoice(state, choice);
}),
field(
'Newborn_visited_48_hours_of_delivery__c',
dataValue(
'properties.newborn_visited_48_hours_of_delivery'
)
),
field('Mother_visit_counselling__c', state => {
var choice = dataValue(
'properties.did_you_consel_the_mother_on1'
)(state);
return state.handleMultiSelectOriginal(state, choice);
}),
field(
'mother_visited_48_hours_of_the_delivery__c',
dataValue('properties.visit_mother_48')
),
field('Newborn_visit_counselling__c', state => {
var choice = dataValue(
'properties.did_you_consel_the_mother_on2'
)(state);
return state.handleMultiSelectOriginal(state, choice);
}),
field('Know_HIV_status__c', state => {
var choice = dataValue(
'properties.known_hiv_status'
)(state);
return state.cleanChoice(state, choice);
}),
field('HIV_Status__c', dataValue('properties.hiv_status')),
field('Treatment_Distribution__c', state => {
//var status = dataValue('form.treatment_and_tracking.distribution.distributed_treatments')(state);
var status = dataValue('properties.distributed_treatments')(state);
var value =
status && status !== ''
? status
.replace(/ /gi, ';')
.split(';')
.map(value => {
return state.treatmentDistributionMap[value] || value;
})
: undefined;
return value ? value.join(';') : undefined;
}),
field(
'Current_Weight__c',
dataValue('properties.Current_Weight')
),
field(
'Current_Height__c',
dataValue('properties.current_height')
),
field(
'Current_MUAC__c',
dataValue('properties.MUAC')
),
field('Food_groups_3_times_a_day__c',dataValue('properties.food_groups')),
field('Nutrition_Case_Managed__c',dataValue('properties.nutrition_case_managed')),
field('Nutrition_Danger_Signs__c',state => {
var choice = dataValue(
'properties.nutrition_danger_signs'
)(state);
return state.handleMultiSelectOriginal(state, choice);

}),
field('Why_was_nutrition_case_not_managed__c',dataValue('properties.nutrition_case_not_managed_why')),
field('Community_Nutrition_Treatment__c',dataValue('properties.nutrition_treatment_severe')),
field('Community_Nutrition_Treatment__c',dataValue('properties.nutrition_treatment_moderate')),
field('Why_was_nutrition_treatment_not_given__c',dataValue('properties.nutrition_treatment_not_given')),
field('Current_Nutrition_Status__c', state => {
var status = dataValue(
'properties.Nutrition_Status'
)(state);
return status ? state.nutritionMap[status] : undefined;
}),
field('Default_on_TB_treatment__c', state => {
var choice = dataValue(
'properties.default_tb_treatment'
)(state);
return state.cleanChoice(state, choice);
}),
field('Received_pregnancy_test__c', state => {
var choice = dataValue(
'properties.did_you_adminsiter_a_pregnancy_test'
)(state);
return state.cleanChoice(state, choice);
}),
field('Pregnancy_test_result__c', state => {
var choice = dataValue(
'properties.pregnancy_test_result'
)(state);
return state.cleanChoice(state, choice);
}),
field('Chronic_illness__c', state => {
var choice = dataValue(
'properties.please_specify_which_chronic_illness_the_person_has'
)(state);
var choice2 = state.handleMultiSelect(state, choice);
return choice2 ? choice2.replace(/_/g, ' ') : '';
}),
/*field(
'Birth_Certificate__c',
dataValue('form.Status.birth_certificate')
),
field(
'Child_zinc__c',
dataValue(
'form.TT5.Child_Information.Clinical_Services.diarrhea_clinic_treatment_zinc'
)
),
field(
'Child_ORS__c',
dataValue(
'form.TT5.Child_Information.Clinical_Services.diarrhea_clinic_treatment_ORS'
)
),*/
field(
'Childs_breath_per_minute__c',
dataValue('properties.breaths_per_minuite')
),
field(
'Child_chest_in_drawing__c',
dataValue('properties.Child_chest_in_drawing_c')
),
field(
'Caregiver_counseled_on_delayed_milestone__c',
dataValue(
'properties.did_you_counsel_the_caregiver_on_delayed_milestones'
)
),
field(
'Delayed_Milestone__c',
dataValue(
'properties.does_the_child_has_a_delayed_milestone'
)
),
field(
'Child_has_2_or_more_play_items__c',
dataValue(
'properties.does_the_child_has_2_or_more_play_items_at_home'
)
),
field(
'Child_has_3_more_picture_books__c',
dataValue(
'properties.does_the_child_has_3_or_more_picture_books'
)
),
field('Delayed_Milestones_Counselled_On__c', state => {
var ms = dataValue(
'properties.which_delayed_milestone_area_did_you_counsel_the_caregiver_on'
)(state);
return ms ? state.milestoneMap[ms] : undefined;
}),
field('Delayed_Milestone_Type__c', state => {
var ms = dataValue('properties.which_delayed_milestone')(
state
);
return ms ? state.milestoneTypeMap[ms] : undefined;
}),
field(
'Caretaker_trained_in_muac__c',
dataValue('properties.mother_trained_muac')
),
field(
'Caretaker_screened_for_muac_this__c',
dataValue(
'properties.mother_screened_child_muac'
)
),
field(
'Caretaker_muac_findings__c',
dataValue(
'properties.mother_screened_child_muac_result'
)
),
field(
'Caretaker_action_after_muac_screening__c',
dataValue(
'properties.mother_screened_muac_action'
)
),
field(
'of_Caretaker_MUAC_screenings__c',
dataValue('properties.mother_nb_screening')
),
field('Pulse_Oximeter__c', dataValue('properties.pulse_oximeter_available')),
field(
'Heart_Rate_Pulse_Oximeter__c',
dataValue('properties.heart_rate_pulse_oximeter')
),
field(
'Oxygen_Concentration_Pulse_Oximeter__c',
dataValue('properties.oxygen_concentration')
),
field('Can_child_drink__c', dataValue('properties.can_child_drink')),
field(
'Antibiotic_provided_for_fast_breathing__c',
dataValue('properties.antibiotic_fast_breathing')
),
field(
'Antibiotic_provided_for_chest_indrawing__c',
dataValue('properties.antibiotic_chest_indrawing')
),
field('Supervisor_Visit__c', state => {
var check = dataValue('properties.supervisor_visit')(state);
var value =
check && check !== ''
? check
.replace(/ /gi, ';')
.split(';')
.map(value => {
return state.supervisorMap[value] || value;
})
: undefined;
return value ? value.join(';') : undefined;
}),
/*
//HMN- 05012023 - Removed field('Visit_Closed_Date__c', dataValue('date_closed')),
//Because I could not find it in Salesforce. It was causing errors on staging
field('Visit_Closed_Date__c', dataValue('date_closed')),
*/
//field('Case_Closed_Date__c', state => {
// var closed = dataValue('date_closed')(state);
// var date = dataValue('date_modified')(state);
// return closed && closed == true ? date : undefined;
// })
)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Accompaniment-2022-08-22.html b/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Accompaniment-2022-08-22.html index 6d03e0e391a..d4cc8e9a485 100644 --- a/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Accompaniment-2022-08-22.html +++ b/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Accompaniment-2022-08-22.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Q4 2022] Upsert Supervision - Accompaniment

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataValue, field, fields, relationship, upsert, upsertIf

Expression

//Job to integrate CommCare 'Accompaniement' form from the Supervision App
fn(state => {
state.handleMultiSelect = function (state, multiField) {
return multiField
? multiField
.replace(/ /g, ';')
: '';
};

state.cleanChoice = function (state, choice) {
if (choice) {
return choice.charAt(0).toUpperCase() + choice.slice(1).replace('_', ' ');
} else {
return '';
}
}

return {
...state
};

});


upsert(
'Supervision_Forms__c',
'CommCare_Form_ID__c',
fields(
field('CommCare_Form_ID__c', dataValue('id')),
relationship('RecordType', 'Name', 'Accompanient Form'),
field('Supervisor_Name__c', dataValue('form.prologue.supervisor_sfid')),
field('CHW_Name__c', dataValue('form.prologue.chw_sfid')),
relationship(
'Village__r',
'CommCare_User_ID__c',
dataValue('form.prologue.chw_village')
),
field('Form_Date__c',dataValue('form.Date')),
field('Fertile_Women_in_Household__c',dataValue('form.WRA_check')),
field('CHW_Asked_About_Family_Planning__c',dataValue('form.women_of_reproductive_age.fp_check')),
field('Contraception_Distributed__c', state => {
var choice = dataValue(
'form.women_of_reproductive_age.fp_resources_check'
)(state);
return state.handleMultiSelect(state, choice);
}),


field('Household_members_aware_of_CHW_SRH__c',dataValue('form.women_of_reproductive_age.srh_awareness_check')),
field('Pregnant_Women_in_HH__c',dataValue('form.pregnancy_check')),
field('CHW_Asked_About_ANC_Visits__c',dataValue('form.pregnant_women.anc_check')),
field('CHW_Counseled_On_Value_of_ANC_Visits__c',dataValue('form.pregnant_women.anc_counsel_check')),
field('CHW_Read_Each_Pregnancy_Danger_Sign__c',dataValue('form.pregnant_women.danger_sign_check')),
field('Household_aware_of_CHW_MCH_Services__c',dataValue('form.pregnant_women.pregnancy_support_awareness_check')),
field('Pregnant_Woman_Delivered__c',dataValue('form.pregnant_women.delivery_check')),
field('Used_MCH_Booklet__c',dataValue('form.delivery.vaccination_check')),
field('Counsel_on_vaccination_schedule__c',dataValue('form.delivery.vaccination_counsel_check')),
field('Counselled_on_Exclusive_Breastfeeding__c',dataValue('form.delivery.ebf_check')),
field('Children_Under_5_in_Household__c',dataValue('form.cu5_check')),
field('All_children_under_5_registered__c',dataValue('form.children_under_5.cu5_enrollment_check')),
field('MUAC_taken_for_all_children__c',dataValue('form.children_under_5.muac_check')),
field('Measured_MUAC_circumference_properly__c',dataValue('form.children_under_5.muac_method_check')),
// field('Measured_MUAC_circumference_properly__c', state => {
// var choice = dataValue(
// 'form.children_under_5.muac_method_check'
// )(state);
// return state.cleanChoice(state, choice);
// }),
field('HIV_Members_in_the_Household__c',dataValue('form.hiv_check')),
field('Recorded_HIV_Status_Information__c',dataValue('form.hiv_clients.hiv_info_check')),
field('Counselled_on_ART_Adherence_HIV_Services__c',dataValue('form.hiv_clients.hiv_counsel_check')),
field('Sick_Household_Members_at_Visit__c',dataValue('form.illness_check')),
field('Household_member_reported_fever__c',dataValue('form.illness_referrals.fever_check')),
field('Conducted_malaria_home_test__c', dataValue('form.illness_referrals.malaria_test_check')),
field('Malaria_test_protocol_followed__c',dataValue('form.illness_referrals.malaria_test_method_check')),
field('Sick_person_referred__c',dataValue('form.illness_referrals.referral_accompaniment_check')),
field('Referral_discussed_with_family__c',dataValue('form.illness_referrals.referral_followup_check')),
field('Distributed_treatments_medications__c',dataValue('form.distribution_check')),
field('Stock_is_full__c',dataValue('form.stocks_check')),
field('Missing_Stock__c', state => {
var choice = dataValue(
'form.missing_stocks_details'
)(state);
return state.handleMultiSelect(state, choice);
}),
field('Other_Missing_Stock__c',dataValue('form.missing_stocks_details_other')),
field('Demonstrated_active_listening__c',dataValue('form.chw_behavior.active_listening_check')),
field('Acted_with_respect_courtesy__c',dataValue('form.chw_behavior.respect_check')),
field('CHW_Rating__c',dataValue('form.chw_behavior.interview_technique_check')),
field('Tablet_used__c',dataValue('form.chw_behavior.tablet_use_check')),
field('Tablet_used_effectively__c',dataValue('form.chw_behavior.tablet_competency_check')),
field('Tablet_problem_observed__c', state => {
var choice = dataValue(
'form.chw_behavior.tablet_issues'
)(state);
return state.handleMultiSelect(state, choice);
}),
field('Visit_Length_Mins__c',dataValue('form.visit_length')),
field('Accompanient_components_covered__c', state => {
var choice = dataValue(
'form.feedback_type'
)(state);
return state.handleMultiSelect(state, choice);
}),
field('Other_comments__c',dataValue('form.supervisor_comments')),
field('Contraception_Distributed__c', state => {
var choice = dataValue(
'form.women_of_reproductive_age.fp_resources_check'
)(state);
return state.handleMultiSelect(state, choice);
}),
)
);

upsertIf(
state.data.form.prologue.hh_code !== '' &&
state.data.form.prologue.hh_code !== null,
'Supervision_Forms__c',
'CommCare_Form_ID__c',
relationship('Household_Code__r',
'Name',
dataValue('form.prologue.hh_code')
)
);
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Feedback-2022-08-19.html b/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Feedback-2022-08-19.html index d0a7a378799..925cfbdc24a 100644 --- a/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Feedback-2022-08-19.html +++ b/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Feedback-2022-08-19.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Q4 2022] Upsert Supervision - Feedback

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataValue, field, fields, relationship, upsert

Expression

//Job to integrate CommCare 'Feedback' form from the Supervision App

upsert(
'Supervision_Forms__c',
'CommCare_Form_ID__c',
fields(
field('CommCare_Form_ID__c', dataValue('id')),
relationship('RecordType', 'Name', 'Feedback Form'),
field('Supervisor_Name__c', dataValue('form.prologue.supervisor_sfid')),
field('CHW_Name__c', dataValue('form.prologue.chw_sfid')),
relationship(
'Village__r',
'CommCare_User_ID__c',
dataValue('form.prologue.chw_village')
),
relationship('Catchment__r',
'Name',
dataValue('form.prologue.catchment')
),
field('Form_Date__c',dataValue('form.Date')),
field('Strengths__c', dataValue('form.chw_perspectives_and_reflections.chw_strengths')),
field('Weaknesses__c', dataValue('form.chw_perspectives_and_reflections.chw_improvement_areas')),
field('Challenges__c', dataValue('form.chw_perspectives_and_reflections.chw_challenges')),
field('Solutions__c', dataValue('form.chw_perspectives_and_reflections.chw_improvement_areas')),
field('of_Household_Visit_As_Expected__c', dataValue('form.supervision_dashboard_feedback.hh_visits_check')),
field('of_Household_Visit_Explanation__c',dataValue('form.supervision_dashboard_feedback.hh_visits_explanation')),
field('of_Priority_Clients_as_Expected__c', dataValue('form.supervision_dashboard_feedback.priority_hh_visits_check')),
field('of_Priority_Clients_Explanation__c',dataValue('form.supervision_dashboard_feedback.priority_hh_visits_explanation')),
field('Feedback_on_Indicators__c',dataValue('form.supervision_dashboard_feedback.chw_sd_feedback')),
field('CHW_Strengths__c',dataValue('form.supervisor_perspectives_and_reflections.chw_strengths_supervisor')),
field('CHW_Areas_for_Improvement__c',dataValue('form.supervisor_perspectives_and_reflections.chw_improvement_areas_supervisor')),
field('CHW_Immediate_Solutions__c',dataValue('form.supervisor_perspectives_and_reflections.chw_solutions_supervisor')),
field('Other_Recommendations__c',dataValue('form.supervisor_perspectives_and_reflections.chw_recommendation_other_supervisor')),
)
);
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Household-Spot-Check-2022-08-24.html b/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Household-Spot-Check-2022-08-24.html index 2158d12b9ef..ac63de10804 100644 --- a/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Household-Spot-Check-2022-08-24.html +++ b/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Household-Spot-Check-2022-08-24.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Q4 2022] Upsert Supervision - Household Spot Check

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: Q4 2022] Upsert Supervision - Household Spot Check
  • Adaptor: @openfn/language-salesforce
  • Adaptor Version: latest
  • Created about 1 year ago
  • Updated 3 months ago
  • Score: 18 (an indicator of how useful this job may be)

Key Functions

dataValue, field, fields, relationship, upsert, upsertIf

Expression

//Job to integrate CommCare 'Household Spotcheck' form from the Supervision App
fn(state => {
state.handleMultiSelect = function (state, multiField) {
return multiField
? multiField
.replace(/ /g, ';')
: '';
};
return {
...state
};
});


upsert(
'Supervision_Forms__c',
'CommCare_Form_ID__c',
fields(
field('CommCare_Form_ID__c', dataValue('id')),
relationship('RecordType', 'Name', 'Household Spotcheck Form'),
// relationship('Household_Code__r',
//'Name',
//dataValue('form.prologue.hh_code')
// ),
field('Supervisor_Name__c', dataValue('form.prologue.spot_checker_sfid')),
field('CHW_Name__c', dataValue('form.prologue.chw_sfid')),
relationship(
'Village__r',
'CommCare_User_ID__c',
dataValue('form.prologue.village')
),
relationship('Catchment__r',
'Name',
dataValue('form.prologue.catchment')
),
field('Form_Date__c',dataValue('form.Date')),
field('CHW_Name_Identified__c',dataValue('form.chw_awareness.chw_name_reported')),
field('Knows_where_CHW_lives__c',dataValue('form.chw_awareness.chw_location_confirmation')),
field('Knows_CHW_contact_number__c',dataValue('form.chw_awareness.chw_contact_number')),
field('CHW_paid_for_services__c',dataValue('form.chw_awareness.service_fee')),
field('CHW_Visit_Frequency__c',dataValue('form.chw_awareness.chw_visit_frequency')),
field('Household_member_reported_fever__c',dataValue('form.iccm.fever_management')),
field('details_on_chw_conduct__c',dataValue('form.chw_behavior.chw_conduct_detail')),
field('Tablet_used__c',dataValue('form.chw_behavior.tablet_use_check')),
field('Other_Recommendations__c',dataValue('form.community_comments.community_recommendations_detail')),
field('Other_comments__c',dataValue('form.community_comments.do_you_have_any_other_comments_at_this_time')),
field('CHW_tested_treated_child_for_malaria__c',dataValue('form.iccm.malaria_management')),
field('If_so_when_Within_the__c',dataValue('form.iccm.malaria_management_timeline')),
field('CHW_ever_managed_your_child_for_diarrhea__c',dataValue('form.iccm.diarrhea_management')),
field('CHW_measured_child_s_arm_past_90_days__c',dataValue('form.iccm.muac_check')),
field('CHW_ever_managed_child_for__c',dataValue('form.iccm.pneumonia_management')),
field('rate_the_quality_of_services__c',dataValue('form.iccm.chw_service_quality')),
field('CHW_revisit__c',dataValue('form.referrals_and_follow-up_visits.follow_up_check_1')),
field('follow_up_within_3_days_of_initial_visit__c',dataValue('form.referrals_and_follow-up_visits.follow_up_check_2')),
field('does_CHW_revisit_child_for_follow_up__c',dataValue('form.referrals_and_follow-up_visits.follow_up_check_3')),
field('when_child_is_sick__c',dataValue('form.referrals_and_follow-up_visits.follow_up_check_4')),
field('CHW_conduct__c',dataValue('form.chw_behavior.chw_conduct_check')),
field('comfortable_sharing_sensitive_info__c',dataValue('form.chw_behavior.sensitive_info_check')),
field('Please_explain__c',dataValue('form.chw_behavior.sensitive_info_detail')),
field('Does_your_CHW_listen_to_your_perspective__c',dataValue('form.chw_behavior.listening_check')),
field('ever_experienced_a_problem_with_CHW__c', dataValue('form.chw_behavior.problem_check')),
field('describe_problem_experienced_with_CHW__c',dataValue('form.chw_behavior.problem_detail')),
field('any_recommendations_for_impr__c',dataValue('form.community_comments.community_recommendations')),
field('How_was_the_fever_managed__c', state => {
var choice = dataValue(
'form.iccm.fever_management_detail'
)(state);
return state.handleMultiSelect(state, choice);
}),
field('How_was_the_malaria_managed__c', state => {
var choice = dataValue(
'form.iccm.malaria_management_detail'
)(state);
return state.handleMultiSelect(state, choice);
}),
field('How_did_she_he_manage_the_diarrhea__c', state => {
var choice = dataValue(
'form.iccm.malaria_management_detail'
)(state);
return state.handleMultiSelect(state, choice);
}),
field('How_did_she_he_manage_the_pneumonia__c', state => {
var choice = dataValue(
'form.iccm.pneumonia_managemnt_detail'
)(state);
return state.handleMultiSelect(state, choice);
}),
field('COHORT_ONE_Maternal_and_Child_Health__c', state => {
var choice = dataValue(
'form.chw_service_provision.cohort_one'
)(state);
return state.handleMultiSelect(state, choice);
}),
field('COHORT_TWO_Childcare__c', state => {
var choice = dataValue(
'form.chw_service_provision.cohort_two'
)(state);
return state.handleMultiSelect(state, choice);
}),
field('COHORT_THREE_WASH_and_Nutrition__c', state => {
var choice = dataValue(
'form.chw_service_provision.cohort_three'
)(state);
return state.handleMultiSelect(state, choice);
}),
field('COHORT_FOUR_FIVE_Sexual_Reproductive__c', state => {
var choice = dataValue(
'form.chw_service_provision.cohort_four_-_five'
)(state);
return state.handleMultiSelect(state, choice);
}),
)
);

upsertIf(
state.data.form.prologue.hh_code !== '' &&
state.data.form.prologue.hh_code !== null,
'Supervision_Forms__c',
'CommCare_Form_ID__c',
relationship('Household_Code__r',
'Name',
dataValue('form.prologue.hh_code')
)
);
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Register-Participant-V2-Skillz-2021-06-02.html b/adaptors/library/jobs/auto/Register-Participant-V2-Skillz-2021-06-02.html index 1bfd5d585cb..e80905fe9d5 100644 --- a/adaptors/library/jobs/auto/Register-Participant-V2-Skillz-2021-06-02.html +++ b/adaptors/library/jobs/auto/Register-Participant-V2-Skillz-2021-06-02.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Register Participant - V2 Skillz

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

alterState, dataPath, dataValue, each, field, fields, lastReferenceValue, map, merge, query, relationship, upsert, Array

Expression

query(`SELECT Id, Name, CommCare_Ext_ID__c FROM Event__c WHERE CommCare_Case_ID__c = '${state.data.form.case['@case_id']}'`);

alterState(state => {
// Note: lastReferenceValue selects the first item in the references array.
state.data.eventName = lastReferenceValue('records[0].CommCare_Ext_ID__c')(state);

function objectToArray(object) {
return !Array.isArray(object) ? [object] : object;
}

// if (state.data.form.question1) {
// console.log('Ensuring that "question1" is an array.');
// state.data.form.question1 = objectToArray(state.data.form.question1);
// } else {
// console.log('Shifting "new_participants" to "question1" array.');
// state.data.form.question1 = objectToArray(state.data.form.new_participants);
// console.log('Creating a "case" object inside each item in that array.');
// state.data.form.question1 = state.data.form.question1.map(item => ({
// ...item,
// case: item.create_skillz_plus_participant.case,
// }));
// }

console.log('Done with initial data manipulation.');

return state;
});

// beta.each(
// merge(
// dataPath('form.question1[*]'),
// fields(
// field('intervention_notes_to_save', dataValue('form.intervention_notes_to_save')))
// ),

upsert(
'Person__c',
'Participant_Identification_Number_PID__c',
fields(
field('Notes__c', dataValue('form.intervention_notes_to_save')),
field('First_Name__c', dataValue('form.new_participants.participant_first_name')),
field('Surname__c', dataValue('form.new_participants.participant_surname')),
relationship('RecordType', 'Name', 'Participant'),
field('Participant_Identification_Number_PID__c', state => state.data.form.new_participants.create_skillz_plus_participant.case['@case_id']),
field('Sex__c', dataValue('gender')),
field('Mobile_Number_1__c', dataValue('form.new_participants.mobile_number')), //QUESTION: In CommCare, phone doesn't look like it's saving?
field('School_name_person__c', dataValue('form.new_participants.school_name')),
field('Date_of_Birth__c', dataValue('date_of_birth')),
field('School_name_person__c', dataValue('form.new_participants.school_name')),
field('Physical_Address__c', dataValue('form.new_participants.participants_home_address'))
//field('Age__c', dataValue('form.question1.age_in_years')), //This is a SF formula field, cannot map
)
)
//);

// each(
// merge(dataPath('form.question1[*]'), fields(
// field('intervention_name', dataValue('form.intervention_name')),
// field('eventName', dataValue('eventName')))),
upsert(
'Attendance__c',
'CommCare_Ext_ID__c',
fields(
field('CommCare_Ext_ID__c', state => {
var eventid = `${state.data.eventName}` || dataValue('form.intervention_name')(state);
var personid = state.data.form.new_participants.create_skillz_plus_participant.case['case_id'];//state.data.case['@case_id'];
return personid + '-' + eventid;
}),
relationship(
//Attendance looks up to Persn via the case_id
'Person_Attendance__r',
'Participant_Identification_Number_PID__c',
state => state.data.case['@case_id']
),
relationship(
//Attendance looks up to Event via the intervention_name
'Event__r',
'CommCare_Case_ID__c',
state.data.form.new_participants.create_skillz_plus_participant.case.index.parent['#text']
),
field('Date_of_Birth__c', dataValue('form.new_participants.date_of_birth'))
)
)
//);
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Register-Patient-2021-03-02.html b/adaptors/library/jobs/auto/Register-Patient-2021-03-02.html index 1cef027209e..730a41eeda7 100644 --- a/adaptors/library/jobs/auto/Register-Patient-2021-03-02.html +++ b/adaptors/library/jobs/auto/Register-Patient-2021-03-02.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Register Patient

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

appendValues, JSON

Expression

appendValues({
spreadsheetId: '1EFkY4zD4qqxnJdH-QaeasKd1zXC-1sNKpEg08W-3sT0',
range: 'COVID-19 Cases!A2',
values: state => {
const kobo = state.data.body;

console.log('Submission data: ' + JSON.stringify(kobo, null, 2));

return [
[
kobo['National_ID'],
kobo['Patient_name'],
kobo['Last_Name_of_Patient'],
kobo['Sex'],
kobo['Age'],
kobo['Comments'],
Date(),
],
];
},
});
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Registration-forms-new-case-2023-06-22.html b/adaptors/library/jobs/auto/Registration-forms-new-case-2023-06-22.html index 818876ba869..665ea966be7 100644 --- a/adaptors/library/jobs/auto/Registration-forms-new-case-2023-06-22.html +++ b/adaptors/library/jobs/auto/Registration-forms-new-case-2023-06-22.html @@ -22,13 +22,13 @@ - - + +
Skip to main content
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Request-Vitas-Sync-2021-05-11.html b/adaptors/library/jobs/auto/Request-Vitas-Sync-2021-05-11.html index f5f53785c13..e547461ea51 100644 --- a/adaptors/library/jobs/auto/Request-Vitas-Sync-2021-05-11.html +++ b/adaptors/library/jobs/auto/Request-Vitas-Sync-2021-05-11.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Request Vitas Sync

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: Request Vitas Sync
  • Adaptor: @openfn/language-http
  • Adaptor Version: v3.1.7
  • Created over 2 years ago
  • Updated almost 2 years ago
  • Score: 0 (an indicator of how useful this job may be)

Key Functions

alterState, dataPath, dataValue, each, post

Expression

alterState(state => {
const vitasSystemsToCheck = [
'vitas-1',
'thatMinistry-vitas-7',
'3',
'4',
'5',
]
return { ...state, data: { vitasSystemsToCheck } };
});

each(
dataPath('vitasSystemsToCheck[*]'),
post(state.configuration.inboxUrl, {
body: { "db": dataValue('database-id') },
})
);
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Risk-and-Vulnerability-Assessment-2021-05-27.html b/adaptors/library/jobs/auto/Risk-and-Vulnerability-Assessment-2021-05-27.html index 9deee63e4ec..1cc56b63808 100644 --- a/adaptors/library/jobs/auto/Risk-and-Vulnerability-Assessment-2021-05-27.html +++ b/adaptors/library/jobs/auto/Risk-and-Vulnerability-Assessment-2021-05-27.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Risk and Vulnerability Assessment

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

alterState, dataValue, field, fields, join, map, upsert

Expression

// Your job goes here. Testing github
alterState(state => {
function checked(key, str) {
if (!str) return false;
return str.toString().split(' ').indexOf(key) >= 0;
}

function capitalizeFirstLetter(str) {
if (!str) return;
let new_str = str.toString().toLowerCase();
return new_str.slice(0, 1).toUpperCase() + new_str.slice(1);
}

function transformDont(str) {
if (!str) return str;
return str
.toString()
.split('_')
.map(word => word.replace(/dont/i, "don't"))
.join('_')
.toString()
.trim();
}

function transformCant(str) {
if (!str) return str;
return str
.toString()
.split('_')
.map(word => word.replace(/cant/i, "can't"))
.join('_')
.toString()
.trim();
}

function splitAndJoin(str, splitDelimiter, joinDelimiter) {
if (!str) return;

return str.toString().split(splitDelimiter).join(joinDelimiter).toString().trim();
}

function transformHowOften(str) {
if (!str) return;
if (str === 'special_occasions') return 'Special Occasions';
return transformGenericText(str).toString().trim();
}

function transformHIVStatus(status) {
switch (status) {
case 'yes_negative':
return 'Yes,Negative';
case 'yes_positive':
return 'Yes,Positive';
case 'no_i_dont':
return "No,I don't know";
case 'yes_dont_want_to_disclose':
return "Yes, don't want to disclose";
default:
return;
}
}

function transformLastTested(str) {
if (!str) return;
switch (str.toString()) {
case 'yes_negative':
return 'Yes,Negative';
case 'yes_positive':
return 'Yes,Positive';
case 'no_i_dont':
return "No,I don't know";
case 'yes_dont_want_to_disclose':
return "Yes, don't want to disclose";
default:
return;
}
}

function transformMonthAgo(str) {
if (!str) return;
switch (str) {
case 'month_ago':
return '1 month ago';
case 'months_ago':
return '3 months ago';
case 'month_ago':
return 'copy-1-of-months_ago ';
case 'month_ago':
return '6 months ago';
case 'a_year_or_more_ago':
return 'A year or more';
default:
return;
}
}

function transformGenericText(str) {
if (!str) return;
return capitalizeFirstLetter(splitAndJoin(transformDont(str), '_', ' '))
.toString()
.trim();
}

function transformRange(range) {
if (!range) return;
return range
.toString()
.replace(/\d_\d/i, match => match.replace('_', '-'))
.toString()
.trim();
}

function transformAgeRange(range) {
if (!range) return;
if (range === '10_years') return '< 10 years';
if (range === 'greater_than_19') return '> 19 years';
return capitalizeFirstLetter(transformDont(transformCant(splitAndJoin(transformRange(range), '_', ' '))))
.toString()
.trim();
}

function transformAbuseExperienced(str) {
if (!str) return;
return str
.split(' ')
.map(word => capitalizeFirstLetter(word))
.join(' ')
.toString()
.trim();
}

function getAge(dateString) {
if (!dateString) return;

const today = new Date();
const birthDate = new Date(dateString);
var age = today.getFullYear() - birthDate.getFullYear();
var m = today.getMonth() - birthDate.getMonth();
if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
age--;
}
return age;
}

state.data.perform_a_risk_assessment = state.data.form.do_you_want_to_perform_a_risk_assessment === 'yes';

state.data.complete_service_referrals = state.data.form.referral_services ? true : false;

state.data.form.hidden_properties.gender =
capitalizeFirstLetter(state.data.form.hidden_properties.gender);

state.helperFunctions = {
checked,
transformAgeRange,
transformHIVStatus,
transformLastTested,
transformMonthAgo,
transformGenericText,
transformDont,
splitAndJoin,
transformHowOften,
transformAbuseExperienced,
getAge,
};
return state;
});

upsert(
'Risk_Assessment__c',
'CommCare_Ext_ID__c',
fields(
field('CommCare_Ext_ID__c', dataValue('id')),
field('Date__c', dataValue('form.date')),
field('Participant_Name__c', state => {
var firstname = state.data.form.hidden_properties.praticipant_first_name;
var lastname = state.data.form.hidden_properties.participant_surname;
return firstname + ' ' + lastname;
}),
field('Participant_Age__c', state => {
const dob = dataValue('form.hidden_properties.date_of_birth')(state);

return state.helperFunctions.getAge(dob);
}),
field('Participant_Sex__c', dataValue('form.hidden_properties.gender')),
field('X1_0_Sexually_Active_past_12_month__c', state =>
state.helperFunctions.transformGenericText(
dataValue('form.sexual_risk_and_pregnancy.sexually_active_12_months')(state)
)
),
field('X1_1_Age_at_first_sex__c', state =>
state.helperFunctions.transformAgeRange(
dataValue('form.sexual_risk_and_pregnancy.age_at_first_sex')(state)
)
),
field('X1_2_Have_you_ever_had_unprotected_sex__c', state =>
state.helperFunctions.transformGenericText(
dataValue('form.sexual_risk_and_pregnancy.have_you_ever_had_unprotected_sex')(state)
)
),
field('X1_3_Sex_for_monetary_or_material_benefi__c', state =>
state.helperFunctions.transformGenericText(
dataValue('form.sexual_risk_and_pregnancy.sex_monetary_material')(state)
)
),
field('Do_you_know_your_HIV_status__c', state =>
state.helperFunctions.transformHIVStatus(
dataValue('form.sexual_risk_and_pregnancy.hiv_status.do_you_know_your_hiv_status')(state)
)
),
field('X2_1_When_last_did_you_test_for_HIV__c', state =>
state.helperFunctions.transformMonthAgo(
dataValue('form.sexual_risk_and_pregnancy.hiv_status.when_last_did_you_test_for_hiv')(state)
)
),
field('X2_2_Are_you_on_treatment_ART__c', state =>
state.helperFunctions.transformGenericText(
dataValue('form.sexual_risk_and_pregnancy.hiv_status.are_you_on_treatment_art')(state)
)
),
field('X3_0_Had_an_STI_in_the_last_12months_yea__c', state =>
state.helperFunctions.transformGenericText(
dataValue('form.sexual_risk_and_pregnancy.hiv_status.sti_and_pep.hiv_last_12_months')(state)
)
),
field('X3_1_Past_12_months_sex_HIV_status_part__c', state =>
state.helperFunctions.transformGenericText(
dataValue('form.sexual_risk_and_pregnancy.hiv_status.sti_and_pep.knowing_partners_hiv_status')(state)
)
),
//PENDING Donny change data type in SF
// field('X4_0_Forms_of_abuse_experienced_before__c', state =>
// state.helperFunctions.transformAbuseExperienced(
// dataValue('form.risk_assessment.gender_based_violence.abuse_experienced')(state)
// )
// ),
field('X4_1_Feel_unsafe_any1_interact_with_ofte__c', state =>
state.helperFunctions.transformGenericText(
dataValue('form.sexual_risk_and_pregnancy.hiv_status.sti_and_pep.gender_based_violence.unsafe_with_others')(state)
)
),
field('X4_2_Of_what_relationship_person_to_you__c', state =>
state.helperFunctions.transformGenericText(
dataValue('form.sexual_risk_and_pregnancy.hiv_status.sti_and_pep.gender_based_violence.relationship_of_abuser')(state)
)
),
field('X5_0_Do_you_take_alcohol_or_drugs__c', state =>
state.helperFunctions.transformGenericText(
dataValue('form.sexual_risk_and_pregnancy.hiv_status.sti_and_pep.gender_based_violence.drugs_and_alcohol_use.do_you_take_alcohol_andor_drugs')(state)
)
),
field('X5_1_On_average_how_often_drink_alcohol__c', state =>
state.helperFunctions.transformHowOften(
dataValue('form.sexual_risk_and_pregnancy.hiv_status.sti_and_pep.gender_based_violence.drugs_and_alcohol_use.how_often_alcohol')(state)
)
),
field('X5_2_On_average_how_often_take_drugs__c', state =>
state.helperFunctions.transformHowOften(
dataValue('form.sexual_risk_and_pregnancy.hiv_status.sti_and_pep.gender_based_violence.drugs_and_alcohol_use.how_often_drugs')(state)
)
),
field('X5_3_Easy_for_teens_to_obtain_alcohol__c', state =>
state.helperFunctions.transformGenericText(
dataValue('form.sexual_risk_and_pregnancy.hiv_status.sti_and_pep.gender_based_violence.drugs_and_alcohol_use.alcohol_19')(state)
)
),
field('X5_4__c', state =>
state.helperFunctions.transformGenericText(
dataValue('form.sexual_risk_and_pregnancy.hiv_status.sti_and_pep.gender_based_violence.drugs_and_alcohol_use.illegal_drugs_19')(state)
)
)
)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Upsert-ART-Adherence-Self-Reporting-Tool-2021-04-30.html b/adaptors/library/jobs/auto/Upsert-ART-Adherence-Self-Reporting-Tool-2021-04-30.html index c6d79d596d8..cc8ce6365db 100644 --- a/adaptors/library/jobs/auto/Upsert-ART-Adherence-Self-Reporting-Tool-2021-04-30.html +++ b/adaptors/library/jobs/auto/Upsert-ART-Adherence-Self-Reporting-Tool-2021-04-30.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Upsert ART Adherence Self-Reporting Tool

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

alterState, dataValue, field, fields, upsert

Expression

// Push to production
alterState(state => {

function getAge(dateString) {
if (!dateString) return;

const today = new Date();
const birthDate = new Date(dateString);
var age = today.getFullYear() - birthDate.getFullYear();
var m = today.getMonth() - birthDate.getMonth();
if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
age--;
}
return age;
}

function transform(value) {
if (!value) return;
switch (value.toString().trim()) {
case 'i_dont_know__i_dont_recall':
return "I don't know/I don't recall";
case 'i_dont_recall':
return "I don't know/I don't recall";
case 'no':
return 'No';
case 'yes':
return 'Yes';
case 'na':
return 'NA';
case 'disagree':
return '2 (Disagree)';
case 'agree':
return '4 (Agree)';
case 'neither_agree_or_disagree':
return '3 (Neither Agree or Disagree)';
case 'strongly_agree':
return '5 (Strongly Agree)';
case 'strongly_disagree':
return '1 (Strongly Disagree)';
case 'sure':
return '4 (Agree)';
case 'very_sure':
return '5 (Strongly Agree)';
case 'i_dont_know':
return 'I dont know';
case 'suppressed':
return 'Suppressed';
case 'unsuppressed':
return 'Unsuppressed';
default:
return value;
}
}

state.helperFunctions = { getAge };

state.data.form.behavioural.are_you_taking_any_other_religious_treatment_ie_holy_water_anointing_oilwat =
transform(state.data.form.behavioural.are_you_taking_any_other_religious_treatment_ie_holy_water_anointing_oilwat)

state.data.form.behavioural.are_you_taking_any_traditional_medicine_as_a_supplement_to_the_arvs =
transform(state.data.form.behavioural.are_you_taking_any_traditional_medicine_as_a_supplement_to_the_arvs)

state.data.form.behavioural.if_yes_to_any_of_the_above_did_it_affect_your_taking_of_medication_treatmen =
transform(state.data.form.behavioural.if_yes_to_any_of_the_above_did_it_affect_your_taking_of_medication_treatmen)

state.data.form.behavioural.in_the_past_month_did_you_go_for_a_party_or_other_leisure_activities =
transform(state.data.form.behavioural.in_the_past_month_did_you_go_for_a_party_or_other_leisure_activities)

state.data.form.behavioural.in_the_past_month_did_you_sleep_away_from_home =
transform(state.data.form.behavioural.in_the_past_month_did_you_sleep_away_from_home)

state.data.form.clinical_knowledge.do_you_know_your_cd4_count =
transform(state.data.form.clinical_knowledge.do_you_know_your_cd4_count)

state.data.form.clinical_knowledge.question16 =
transform(state.data.form.clinical_knowledge.question16)

state.data.form.clinical_knowledge.do_you_know_your_viral_load =
transform(state.data.form.clinical_knowledge.do_you_know_your_viral_load)

state.data.form.clinical_knowledge.when_did_you_last_go_for_these_two_clinical_tests =
transform(state.data.form.clinical_knowledge.when_did_you_last_go_for_these_two_clinical_tests)

state.data.form.treatment_adherence.did_you_encounter_any_challenges_in_taking_your_medication_as_prescribed_in =
transform(state.data.form.treatment_adherence.did_you_encounter_any_challenges_in_taking_your_medication_as_prescribed_in)

state.data.form.treatment_adherence.in_the_past_month_have_you_failed_to_take_any_of_your_art_treatment =
transform(state.data.form.treatment_adherence.in_the_past_month_have_you_failed_to_take_any_of_your_art_treatment)

state.data.form.treatment_adherence.in_the_past_month_have_you_taken_any_of_your_art_treatment_at_times_other_t =
transform(state.data.form.treatment_adherence.in_the_past_month_have_you_taken_any_of_your_art_treatment_at_times_other_t)

state.data.form.treatment_adherence.in_the_past_month_have_you_taken_less_or_more_pills_of_any_of_your_art_trea =
transform(state.data.form.treatment_adherence.in_the_past_month_have_you_taken_less_or_more_pills_of_any_of_your_art_trea)

state.data.form['treatment_self-efficacy'].how_sure_are_you_that_you_will_be_taking_your_medication_as_are_directed = how_sure_are_you_that_you_will_be_taking_your_medication_as_are_directed =
transform(state.data.form['treatment_self-efficacy'].how_sure_are_you_that_you_will_be_taking_your_medication_as_are_directed)

state.data.form['treatment_self-efficacy'].how_sure_are_you_that_your_medication_will_have_a_positive_effect_on_your_h =
transform(state.data.form['treatment_self-efficacy'].how_sure_are_you_that_your_medication_will_have_a_positive_effect_on_your_h)

state.data.form['treatment_self-efficacy'].how_sure_are_you_that_your_medication_will_help_you_live_a_longer_and_healt =
transform(state.data.form['treatment_self-efficacy'].how_sure_are_you_that_your_medication_will_help_you_live_a_longer_and_healt)

state.data.form.clinical_knowledge.question16 =
transform(state.data.form.clinical_knowledge.question16)

state.data.form.clinical_knowledge.when_did_you_last_have_your_clinical_test =
state.data.form.clinical_knowledge.when_did_you_last_have_your_clinical_test ? transform(state.data.form.clinical_knowledge.when_did_you_last_have_your_clinical_test)
: transform(state.data.form.clinical_knowledge.when_did_you_last_go_for_these_two_clinical_tests);

return state;
});



upsert(
'ART_ADHERENCE_SELF_SELF_REPORTING_TOOL__c',
'CommCare_Ext_ID__c',
fields(
field('CommCare_Ext_ID__c', dataValue('id')),
field('Date__c', dataValue('form.demographic_information.date')),
field('Sex__c', dataValue('form.gender')),
field('Facility_Name__c', dataValue('form.school')),
field('Patient_ID_or_Facility_File_Number__c', dataValue('form.skillz_lplus_number')),
//field('Business_Unit__c', 'GRS Zambia'),
field('Captured_By__c', dataValue('form.coach_name')),
field('Verified_By__c', dataValue('form.coach_name')),
field('Captured_Date__c', dataValue('form.demographic_information.date')),
field('Verified_Date__c', dataValue('form.demographic_information.date')),
field('Age__c', state => {
const dob = dataValue('form.date_of_birth')(state);
return state.helperFunctions.getAge(dob);
}),
field(
'Treatment_Adherence_3__c',
dataValue('form.treatment_adherence.in_the_past_month_have_you_taken_any_of_your_art_treatment_at_times_other_t')
),
field(
'Treatment_Adherence_2__c',
dataValue('form.treatment_adherence.in_the_past_month_have_you_failed_to_take_any_of_your_art_treatment')
),
field(
'Treatment_Adherence_4__c',
dataValue('form.treatment_adherence.in_the_past_month_have_you_taken_less_or_more_pills_of_any_of_your_art_trea')
),
field(
'Treatment_Adherence_5_a__c',
dataValue('form.treatment_adherence.did_you_encounter_any_challenges_in_taking_your_medication_as_prescribed_in')
),


field('Clinical_Knowledge_2__c', dataValue('form.clinical_knowledge.question16')),
field(
'Clinical_Knowledge_1__c',
dataValue('form.clinical_knowledge.when_did_you_last_have_your_clinical_test')
),
field(
'Treatment_Self_Efficacy__c',
dataValue('form.treatment_self-efficacy.how_sure_are_you_that_you_will_be_taking_your_medication_as_are_directed')
),
field(
'Treatment_Self_Efficacy_10__c',
dataValue(
'form.treatment_self-efficacy.how_sure_are_you_that_your_medication_will_have_a_positive_effect_on_your_h'
)
),
field(
'Treatment_Self_Efficacy_11__c',
dataValue(
'form.treatment_self-efficacy.how_sure_are_you_that_your_medication_will_help_you_live_a_longer_and_healt'
)
),
field(
'Behavioural_Factors_12__c',
dataValue('form.behavioural.in_the_past_month_did_you_go_for_a_party_or_other_leisure_activities')
),
field('Behavioural_Factors_13__c', dataValue('form.behavioural.in_the_past_month_did_you_sleep_away_from_home')),
field(
'Behavioural_Factors_14__c',
dataValue('form.behavioural.are_you_taking_any_traditional_medicine_as_a_supplement_to_the_arvs')
),
field(
'Behavioural_Factors_14__c',
dataValue('form.behavioural.are_you_taking_any_other_religious_treatment_ie_holy_water_anointing_oilwat')
),
field(
'Behavioural_Factors_15__c',
dataValue('form.behavioural.if_yes_to_any_of_the_above_did_it_affect_your_taking_of_medication_treatmen')
)
)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Upsert-Aggregate-Service-Referrals-2021-04-30.html b/adaptors/library/jobs/auto/Upsert-Aggregate-Service-Referrals-2021-04-30.html index 00c8e3c9f16..539c251e65e 100644 --- a/adaptors/library/jobs/auto/Upsert-Aggregate-Service-Referrals-2021-04-30.html +++ b/adaptors/library/jobs/auto/Upsert-Aggregate-Service-Referrals-2021-04-30.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Upsert Aggregate Service Referrals

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataValue, field, fields, relationship, upsert

Expression

// Push to production
upsert(
'GRS_Referral_Agg__c',
'CommCare_Ext_ID__c',
fields(
relationship(
'SiteName__r',
'CommCare_Ext_ID__c',
dataValue('form.general_referral_information.event_information.site')
),
field('CommCare_Ext_ID__c', dataValue('form.general_referral_information.event_information.site')),
//TO DO
//field('Business_Unit__c', dataValue('form.general_referral_information.event_information.business_unit')),
field('Business_Unit__c', state => {
const bu = dataValue('form.general_referral_information.event_information.business_unit')(state);
return bu==='65680f0c4c144b03ad0f86bdc46c1ebc' ? 'GRS Zambia' :
bu==='04d98397e28046118fade28ced6b65cb' ? 'GRS Zimbabwe' :
bu==='ed125ab19ec34aacab79585e59eb76f4' ? 'GRS Partnerships': undefined ;
}),
relationship(
//Attendance looks up to Event via the intervention_name
'Events__r',
'CommCare_Ext_ID__c',
dataValue('form.general_referral_information.event_information.event_name')
),
field('Type_of_Referral__c', dataValue('form.general_referral_information.type_of_referral')),
field(
'Enter_Partner_s_Name__c',
dataValue('form.general_referral_information.partner_or_organization_referred_to')
),
field('Males_Referred_HIV_Testing__c', dataValue('form.hivsti_services.males_referred_for_hiv_testing')),
field('Males_referred_for_STI_Screening__c', dataValue('form.hivsti_services.males_referred_for_sti_screening')),
field('Males_Referred_for_PEP__c', dataValue('form.hivsti_services.males_referred_for_pep')),
field('Males_Referred_for_PrEP__c', dataValue('form.hivsti_services.males_referred_for_prep')),
field('Males_Referred_for_VMMC__c', dataValue('form.hivsti_services.males_referred_for_vmmc')),
field('Females_Referred_for_HIV_Testing__c', dataValue('form.hivsti_services.females_referred_for_hiv_testing')),
field(
'Females_Referred_for_STI_Screening__c',
dataValue('form.hivsti_services.females_referred_for_sti_screening')
),
field('Date_Referred__c', dataValue('form.general_referral_information.date_referred')),
field('Females_Referred_for_PEP__c', dataValue('form.hivsti_services.females_referred_for_pep')),
field('Females_Referred_for_PrEP__c', dataValue('form.hivsti_services.females_referred_for_prep')),
field('Males_Referred_for_ART__c', dataValue('form.art_services.males_referred_for_art')),
field('Males_Referred_for_SKILLZ_Club__c', dataValue('form.art_services.males_referred_for_skillz__club')),
field('Females_Referred_for_ART__c', dataValue('form.art_services.females_referred_for_art')),
field('Females_Referred_SKILLZ_Club__c', dataValue('form.art_services.females_referred_for_skillz__club')),
field('Females_Referred_for_PMTCT__c', dataValue('form.art_services.females_referred_for_pmtct')),

field(
'Males_Referred_for_Psycho_Social_Support__c',
dataValue('form.psycho_-_social_services.males_referred_for_psycho-social_support')
),
field(
'Females_Referred_Psycho_Social_Support__c',
dataValue('form.psycho_-_social_services.females_referred_for_psycho-social_support')
),
field('Males_Referred_for_TB_Screening__c', dataValue('form.tb_services.males_referred_for_tb_screening')),
field('Females_Referred_for_TB_Screening__c', dataValue('form.tb_services.females_referred_for_rb_screening')),
field(
'Number_of_Male_Condoms_distributed__c',
dataValue('form.condom_distributions.number_of_male_condoms_distributed')
),
field('Number_of_Male_Condoms_Accessed__c', dataValue('form.condom_distributions.number_of_male_condoms_accessed')),
field(
'Number_of_Female_Condoms_distributed__c',
dataValue('form.condom_distributions.number_of_female_condoms_distributed')
),
field(
'Number_of_Female_Condoms_Accessedx__c',
dataValue('form.condom_distributions.number_of_female_condoms_accessed')
),
field(
'Females_Referred_for_Family_Planning__c',
dataValue('form.other_srhr_services.females_referred_for_family_planning')
),
field(
'Females_Referred_for_Cervical_Cancer__c',
dataValue('form.other_srhr_services.females_referred_for_cervical_cancer')
),
field('Females_Referred_for_Antenatal__c', dataValue('form.other_srhr_services.females_referred_for_antenatal')),
field(
'Males_Referred_for_Malaria_Testing__c',
dataValue('form.other_referral_services.males_referred_for_malaria_testing')
),
field('Males_Referred_for_GBV__c', dataValue('form.other_referral_services.males_referred_for_gbv')),
field(
'Females_Referred_for_Malaria_Testing__c',
dataValue('form.other_referral_services.females_referred_for_malaria_testing')
),
field('Females_Referred_for_GBV__c', dataValue('form.other_referral_services.females_referred_for_gbv')),
field(
'Females_Referred_for_HPV_Vaccine__c',
dataValue('form.other_referral_services.females_referred_for_hpv_vaccine')
)
)
);
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Upsert-Attendance-Skillz-Plus-Club-2021-05-24.html b/adaptors/library/jobs/auto/Upsert-Attendance-Skillz-Plus-Club-2021-05-24.html index fd09a37818f..faecd79668c 100644 --- a/adaptors/library/jobs/auto/Upsert-Attendance-Skillz-Plus-Club-2021-05-24.html +++ b/adaptors/library/jobs/auto/Upsert-Attendance-Skillz-Plus-Club-2021-05-24.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Upsert Attendance Skillz Plus Club

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataValue, each, field, fields, lastReferenceValue, map, query, relationship, upsert, Array

Expression

query(
`SELECT Participant_Identification_Number_PID__c from Person__c where Participant_Identification_Number_PID__c = '${state.data.form.attendance_list.update_participant_cases.item[0]['@id']}'`
);

fn(state => {
const PID = lastReferenceValue('records[0].Participant_Identification_Number_PID__c')(state);

if (!PID) {
console.log(
`Participant not found with Participant_Identification_Number_PID__c: ${state.data.form.attendance_list.update_participant_cases.item[0]['@id']}`
);
return state;
}
return execute(
// Set state.references to event record
query(
`SELECT Id, Name, CommCare_Ext_ID__c FROM Event__c WHERE CommCare_Case_ID__c = '${state.data.form.case['@case_id']}'`
),
// Organise data and keep it safe
fn(state => {
function objectToArray(object) {
if (!object) return [];
return !Array.isArray(object) ? [object] : object;
}

const eventName = lastReferenceValue('records[0].CommCare_Ext_ID__c')(state);
state.data.eventName = eventName;

state.data.form.attendance_list.update_participant_cases.item = objectToArray(
state.data.form.attendance_list.update_participant_cases.item
);

state.data.form.attendance_list.update_participant_cases.item =
state.data.form.attendance_list.update_participant_cases.item.map(item => ({
...item,
CommCare_Ext_ID__c: `${item['@id']}-${eventName}`,
event_case_id: state.data.form.case['@case_id'],
}));

// Keep our data safe
state.items = state.data.form.attendance_list.update_participant_cases.item;

// Reset references
state.references = [];

return state;
}),
// Set state.references to an array of attendance records for each participant
beta.each(
'$.items[*]',
query(
state => `SELECT CommCare_Ext_ID__c, Session_1__c, Session_2__c, Session_3__c, Session_4__c, Session_5__c, Session_6__c, Session_7__c, Session_8__c, Session_9__c, Session_10__c, Session_11__c, Session_12__c, Session_13__c, Session_14__c, Session_15__c, Session_16__c, Session_17__c, Session_18__c, Session_19__c, Session_20__c, Session_21__c, Session_22__c, Session_23__c,Session_24__c, Session_25__c, Session_26__c, Session_27__c, Session_28__c
FROM Attendance__c
WHERE CommCare_Ext_ID__c = '${state.data.CommCare_Ext_ID__c}'
`
)
),
// Calculate dynamic fields
fn(state => {
state.items = state.items.map(item => {
const record = state.references.find(rec =>
rec.records[0] ? rec.records[0].CommCare_Ext_ID__c === item.CommCare_Ext_ID__c : true
).records[0];

function getSessionValue(present) {
if (!present) return 'U';
switch (present.toString().toLowerCase()) {
case 'yes':
return 'X';
case 'no':
return 'A';
case '':
return 'N';
default:
return 'U';
}
}

function getSessionFieldName(record) {
if (!record || Object.keys(record).length === 0) {
return 'Session_1__c';
}

const fieldName = Object.entries(record)
.filter(rec => rec[1] === null && rec[0] !== 'CommCare_Ext_ID__c')
.sort(function (a, b) {
return a[0].split('_')[1] - b[0].split('_')[1];
})[0][0];

return fieldName;
}

const sessionValue = getSessionValue(item.attendance_session);
const sessionDate = item.date;
const sessionFieldName = getSessionFieldName(record);
const sessionDateFieldName = `Session_${sessionFieldName.split('_')[1]}_Date__c`;

return {
...item,
dynamicFields: {
[sessionFieldName]: sessionValue,
[sessionDateFieldName]: sessionDate,
},
};
});

// Reset state.references
state.references = [];

return state;
}),

// Upsert
beta.each(
'$.items[*]',
upsert('Attendance__c', 'CommCare_Ext_ID__c', state => ({
...fields(
field('CommCare_Ext_ID__c', dataValue('CommCare_Ext_ID__c')),
relationship('Person_Attendance__r', 'Participant_Identification_Number_PID__c', dataValue('@id')),
relationship('Event__r', 'CommCare_Case_ID__c', dataValue('event_case_id'))
),
...state.data.dynamicFields,
}))
)
)(state);
});

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Upsert-Coach-Support-Visit-CSV-2021-04-28.html b/adaptors/library/jobs/auto/Upsert-Coach-Support-Visit-CSV-2021-04-28.html index 2d10241e377..7e3041478c4 100644 --- a/adaptors/library/jobs/auto/Upsert-Coach-Support-Visit-CSV-2021-04-28.html +++ b/adaptors/library/jobs/auto/Upsert-Coach-Support-Visit-CSV-2021-04-28.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Upsert Coach Support Visit (CSV)

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

alterState, dataValue, field, fields, join, map, relationship, upsert

Expression

//openfn.org source
alterState(state => {
function clean(str) {
console.log('str', str);

if (!str) return '';

return str
.split('_')
.map(word => {
let new_word = word.toString().toLowerCase();
return new_word.slice(0, 1).toUpperCase() + new_word.slice(1);
})
.join(' ');
}

if (state.data.form['step_3_-_the_big_5'] !== undefined ){
state.data.form['step_3_-_the_big_5'].faciliation = clean(state.data.form['step_3_-_the_big_5'].faciliation);
}
else{
state.data.form.step_4_comments.for_each_practice_component_describe_what_the_coach_did_well_and_how_the_co.faciliation =
clean(state.data.form.step_4_comments.for_each_practice_component_describe_what_the_coach_did_well_and_how_the_co.faciliation);
}

function transform(value) {
if (!value) return;
switch (value.toString().trim()) {
case 'copy-1-of-excellent':
return 'Excellent';
case 'needs_improvement':
return 'Needs Improvement';
case 'meets_expectations':
return 'Meets Expectations';
case 'excellent':
return 'Excellent';
case 'unsatisfactory':
return 'Unsatisfactory';
case 'exceeds_expectations':
return 'Exceeds Expectations';
default:
return value;
}
}

state.data.form['step_3_-_the_big_5'].builds_personal_connections =
transform(state.data.form['step_3_-_the_big_5'].builds_personal_connections)

state.data.form['step_3_-_the_big_5'].cool_down =
transform(state.data.form['step_3_-_the_big_5'].cool_down)

state.data.form['step_3_-_the_big_5'].creates_safe_space =
transform(state.data.form['step_3_-_the_big_5'].creates_safe_space)

state.data.form['step_3_-_the_big_5'].faciliation =
transform(state.data.form['step_3_-_the_big_5'].faciliation)

state.data.form['step_3_-_the_big_5'].gives_praise =
transform(state.data.form['step_3_-_the_big_5'].gives_praise)

state.data.form['step_3_-_the_big_5'].praise =
transform(state.data.form['step_3_-_the_big_5'].praise)

state.data.form['step_3_-_the_big_5'].preparation =
transform(state.data.form['step_3_-_the_big_5'].preparation)

state.data.form['step_3_-_the_big_5'].shares_accurate_information_about_hivaids_sexual_reproductive_health_and_ri =
transform(state.data.form['step_3_-_the_big_5'].shares_accurate_information_about_hivaids_sexual_reproductive_health_and_ri)

state.data.form['step_3_-_the_big_5'].sparks_vital_conversations =
transform(state.data.form['step_3_-_the_big_5'].sparks_vital_conversations)

state.data.form['step_3_-_the_big_5'].time_management =
transform(state.data.form['step_3_-_the_big_5'].time_management)

state.data.form['step_3_-_the_big_5'].warm_up =
transform(state.data.form['step_3_-_the_big_5'].warm_up)


return state;
});

upsert(
'Coach_Support_Visit__c',
'CommCare_Ext_ID__c',
fields(
field('CommCare_Ext_ID__c', dataValue('id')),
relationship('Coach_Person__r', 'CommCare_Ext_ID__c', state => {
return dataValue('form.step_1_basic_information.select_coach')(state) ||
dataValue('form.step_1_csv_information.select_coach')(state);
}),
relationship('Venue__r', 'CommCare_Ext_ID__c', state => {
return dataValue('form.hidden_properties.venue')(state) ||
dataValue('form.step_1_csv_information.venue')(state);
}),
relationship('Event__r', 'CommCare_Ext_ID__c', state => {
return dataValue('form.hidden_properties.intervention')(state) ||
dataValue('form.step_1_csv_information.intervention')(state);
}),
relationship('Curriculum_Aggregate__r', 'CommCare_Ext_ID__c', state => {
return dataValue('form.hidden_properties.curriculum')(state) ||
dataValue('form.step_1_csv_information.curriculum')(state);
}),
relationship('Site_Lookup__r', 'CommCare_Ext_ID__c', state => {
return dataValue('form.hidden_properties.site')(state) ||
dataValue('form.step_1_csv_information.site')(state);
}),
field('Date__c', dataValue('form.step_2_practice_information.date_of_csv')),
//== TODO: FIx repeated mappings to only reference destination field 1 time ===//
field(
'Accurate_Information__c', state => {
return dataValue('form.step_3_-_the_big_5.shares_accurate_information_about_hivaids_sexual_reproductive_health_and_ri')(state) ||
dataValue(
'form.step_3_the_big_five.question1.shares_accurate_information_about_hivaids_sexual_reproductive_health_and_ri'
)(state);
}),
field('Creates_safe_space__c', state => {
return dataValue('form.step_3_-_the_big_5.creates_safe_space')(state) ||
dataValue('form.step_3_the_big_five.question1.creates_safe_space')(state);

}),
field('Builds_personal_connections__c', state => {
return dataValue('form.step_3_-_the_big_5.builds_personal_connections')(state) ||
dataValue('form.step_3_the_big_five.question1.builds_personal_connections')(state);
}),
field('Gives_praise__c', state => {
return dataValue('form.step_3_-_the_big_5.gives_praise')(state) ||
dataValue('form.step_3_the_big_five.question1.gives_powerful_praise')(state);
}),
field('Sparks_vital_conversations__c', state => {
return dataValue('form.step_3_-_the_big_5.sparks_vital_conversations')(state) ||
dataValue('form.step_3_the_big_five.question1.sparks_vital_conversations')(state);
}),
field('X2_Warm_Up__c', state => {
return dataValue('form.step_3_-_the_big_5.warm_up')(state) ||
dataValue(
'form.step_4_comments.for_each_practice_component_describe_what_the_coach_did_well_and_how_the_co.warm_up'
)(state);
}),
field('X3_Activity__c', state => {
return dataValue('form.step_3_-_the_big_5.activity')(state) || dataValue(
'form.step_4_comments.for_each_practice_component_describe_what_the_coach_did_well_and_how_the_co.activity'
)(state);
}),
field('X4_Cool_Down__c', state => {
return dataValue('form.step_3_-_the_big_5.cool_down')(state) || dataValue(
'form.step_4_comments.for_each_practice_component_describe_what_the_coach_did_well_and_how_the_co.cool_down'
)(state);
}),
field('X5_Facilitation__c', state => {
return dataValue('form.step_3_-_the_big_5.faciliation')(state) ||
dataValue(
'form.step_4_comments.for_each_practice_component_describe_what_the_coach_did_well_and_how_the_co.faciliation'
)(state);
}),
field(
'X6_Time_Management__c',
dataValue('form.step_3_-_the_big_5.time_management')
),
field(
'X1_Preparation__c',
dataValue('form.step_3_-_the_big_5.preparation')
),
field('Introduces_micromove__c', state => {
return //dataValue('form.step_3_-_the_big_5.faciliation')(state) ||
dataValue(
'form.step_4_comments.for_each_practice_component_describe_what_the_coach_did_well_and_how_the_co.micromove'
)(state);
}),
field(
'Notes__c',
dataValue(
'form.step_3_-_the_big_5.additional_notes.include_your_obsevations_related_to_preparation_punctuality_process'
)
)
)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Upsert-Confirm-Services-Received-2021-06-14.html b/adaptors/library/jobs/auto/Upsert-Confirm-Services-Received-2021-06-14.html index b9448bf688a..cf3baaaa8fc 100644 --- a/adaptors/library/jobs/auto/Upsert-Confirm-Services-Received-2021-06-14.html +++ b/adaptors/library/jobs/auto/Upsert-Confirm-Services-Received-2021-06-14.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Upsert Confirm Services Received

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

alterState, dataValue, field, fields, upsert

Expression

// Your job goes here.
alterState(state => {
state.data.external_commcare_id = (
dataValue('form.hidden_properties.intervention_name')(state) +
dataValue('form.hidden_properties.participant_first_name')(state) +
dataValue('form.hidden_properties.participant_surname')(state)
)
.toString()
.toLowerCase()
.replace(/\s/g, '')
.trim();

return state;
});

upsert(
'NewReferral__c',
'CommCare_Ext_ID__c',
fields(
field('Business_Unit_Site__c', state => {
const bu = dataValue('form.business_unit')(state);
return bu === 'X' ? 'GRS Zambia' : bu;
}),
field('CommCare_Ext_ID__c', dataValue('form.case.@case_id')),
field('HIV_Testing_Services_Service_Provider__c', state =>
Boolean(
dataValue('form.referral_services.hiv_support__care.check_services_label.hiv_support_care_option1')(state)
)
),
field('TB_Screening_Service_Provider__c', state =>
Boolean(
dataValue('form.referral_services.hiv_support__care.check_services_label.hiv_support_care_option2')(state)
)
),
field('VMMC_Service_Provider__c', state =>
Boolean(
dataValue('form.referral_services.hiv_support__care.check_services_label.hiv_support_care_option3')(state)
)
),
field('Post_Exposure_Prophylaxis_Service_Provid__c', state =>
Boolean(
dataValue(
'form.referral_services.hiv_support__care.check_services_label.hiv_support_care_option4'
)(state)
)
),
field('PrEP_Service_Provider__c', state =>
Boolean(
dataValue(
'form.referral_services.hiv_support__care.check_services_label.hiv_support_care_option5'
)(state)
)
),
field('HIV_STI_PREVENTION_Other_Service_Provid__c', state =>
Boolean(
dataValue(
'form.referral_services.hiv_support__care.check_services_label.hiv_support_care_option6'
)(state)
)
),
field('ART_Initiation_Service_Provider__c', state =>
Boolean(
dataValue('form.referral_services.art_support_services.art_services_group.art_services_option1')(
state
)
)
),
field('SKILLZ_Plus_Club_Support_Service_Provid__c', state =>
Boolean(
dataValue('form.referral_services.art_support_services.art_services_group.art_services_option2')(
state
)
)
),

field(
'PMTCT_Service_Provider__c',
state =>
Boolean(
dataValue('form.referral_services.art_support_services.art_services_group.art_services_option3')(
state
)
)
),
field('IPTG_Health_Facility__c', state =>
Boolean(
dataValue('form.referral_services.mental_health_services.confirmation_of_services_provided_label.mental_health_select_services_option1')(
state
)
)
),
field('IPTG_Specialized_to_SMZ__c', state =>
Boolean(
dataValue('form.referral_services.mental_health_services.confirmation_of_services_provided_label.mental_health_select_services_option2')(
state
)
)
),

field('ART_Services_Other_Service_Provider__c', state =>
Boolean(
dataValue('form.referral_services.art_support_services.referred_art_support_services')(state)
)
),
field(
'Victim_Friendly_Services_Service_Provide__c',
state =>
Boolean(
dataValue(
'form.referral_services.child_protection_support_services.copy-1-of-check_the_services_that_were_provided.child_protection_option1'
)(state)
) ||
Boolean(
dataValue(
'form.referral_services.child_protection_support_services.copy-1-of-check_the_services_that_were_provided.child_protection_option2'
)(state)
) ||
Boolean(
dataValue(
'form.referral_services.child_protection_support_services.copy-1-of-check_the_services_that_were_provided.child_protection_option3'
)(state)
)
),
field('Legal_Services_Other_Service_Provider__c', state =>
Boolean(
dataValue(
'form.referral_services.other_legal_services.confirmation_of_services_provided_label.legal_services_option3'
)(state)
)
),

field('STI_Screen_Testing_Service_Provider__c', state =>
Boolean(dataValue('form.referral_services.other_srhr_services.service_label.srhr_option1')(state))
),

field('Contraception_Family_Plan_Servi_Provider__c', state =>
Boolean(dataValue('form.referral_services.other_srhr_services.service_label.srhr_option2')(state))
),
field('Cervical_Cancer_Screen_Servi_Provider__c', state =>
Boolean(dataValue('form.referral_services.other_srhr_services.service_label.srhr_option3')(state))
),
field('HPV_vaccine_Service_Provider__c', state =>
Boolean(dataValue('form.referral_services.other_srhr_services.service_label.srhr_option4')(state))
),
field('Antenatal_Care_ANC_Service_Provider__c', state =>
Boolean(dataValue('form.referral_services.other_srhr_services.service_label.srhr_option5')(state))
),
field('Sexual_and_GBV_Abuse_Servi_Provider__c', state =>
Boolean(dataValue('form.referral_services.other_srhr_services.service_label.srhr_option6')(state))
),
field(
'Psycho_Social_Support_Service_Provider__c',
state =>
Boolean(
dataValue(
'form.referral_services.other_srhr_services.service_label.srhr_option9'
)(state)
) ||
Boolean(
dataValue(
'form.referral_services.other_srhr_services.service_label.srhr_option8'
)(state)
) ||
Boolean(
dataValue(
'form.referral_services.other_srhr_services.service_label.srhr_option7'
)(state)
)
),
field('Psycho_Social_Services_Other_Service_Pro__c', state =>
Boolean(dataValue('form.referral_services.other_srhr_services.service_label.srhr_option10')(state))
),
field(
'Legal_Services_Other_Service_Provider__c',
state =>
Boolean(
dataValue('form.referral_services.other_legal_services.confirmation_of_services_provided_label.legal_referral_services')(state)
) ||
Boolean(
dataValue('form.referral_services.other_legal_services.confirmation_of_services_provided_label.legal_services_option1')(state)
) ||
Boolean(
dataValue('form.referral_services.other_legal_services.confirmation_of_services_provided_label.legal_services_option2')(state)
)
),

)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Upsert-Home-Visit-Log-Form-2021-05-03.html b/adaptors/library/jobs/auto/Upsert-Home-Visit-Log-Form-2021-05-03.html index 73b97737e42..c5585fd9e67 100644 --- a/adaptors/library/jobs/auto/Upsert-Home-Visit-Log-Form-2021-05-03.html +++ b/adaptors/library/jobs/auto/Upsert-Home-Visit-Log-Form-2021-05-03.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Upsert Home Visit Log Form

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataValue, field, fields, lastReferenceValue, query, relationship, upsert

Expression

// push to production

query(
`SELECT Participant_Identification_Number_PID__c from Person__c where Participant_Identification_Number_PID__c = '${state.data.form.case['@case_id']}'`
);

fn(state => {
const PID = lastReferenceValue('records[0].Participant_Identification_Number_PID__c')(state);
if (!PID) {
console.log(
`Participant not found with Participant_Identification_Number_PID__c: ${state.data.form.case['@case_id']}`
);
return state;
}

return execute(
fn(state => {
const { form } = state.data;
const { basic_information } = form;
if (basic_information.intervention_hidden) {
return query(
`SELECT Id, Event__c, CreatedDate, Person_Attendance__c
FROM Attendance__c
WHERE Person_Attendance__r.Participant_Identification_Number_PID__c = '${form.case['@case_id']}'
ORDER BY CreatedDate DESC LIMIT 1`
)(state).then(state => {
const { records } = state.references[0];
const eventId = records[0].Event__c;
state.data.eventField = [field('Event__c', eventId)];
return state;
});
// state.data.eventField = [
// relationship('Event__r', 'CommCare_Ext_ID__c', dataValue('form.basic_information.intervention_hidden')(state)),
// ];
// return state;
} else {
return query(
`SELECT Id, Event__c, CreatedDate, Person_Attendance__c
FROM Attendance__c
WHERE Person_Attendance__r.Participant_Identification_Number_PID__c = '${form.case['@case_id']}'
ORDER BY CreatedDate DESC LIMIT 1`
)(state).then(state => {
const { records } = state.references[0];
const eventId = records[0].Event__c;
state.data.eventField = [field('Event__c', eventId)];
return state;
});
}
}),

upsert('Home_Visit__c', 'CommCare_Ext_ID__c', state => ({
...fields(
field('CommCare_Ext_ID__c', dataValue('id')),
// relationship('Event__r', 'CommCare_Ext_ID__c', dataValue('form.basic_information.intervention_hidden')),
relationship('Person_visiting__r', 'Participant_Identification_Number_PID__c', dataValue('form.case.@case_id')),
//=== NOTE: We do not need to map People information because Home Visit is related to Person. ======//
//This info already lives on the Person-level.
// field('First_Name__c', dataValue('form.basic_information.participant_first_name')),
// field('Surname__c', dataValue('form.basic_information.participant_surname')),
// field('Sex__c', dataValue('form.basic_information.gender')),
// field('Date_of_Birth__c', dataValue('form.basic_information.date_of_birth')),
// field('Physical Address Community City', dataValue('form.basic_information.participant_address')),
//================
field('Consent_Given__c', dataValue('form.basic_information.consent_received')),
//field('Consent_Given__c', dataValue('form.participant_infomation.visit_information.consent_given')) //Repeated mapping
//field('From_Venue__c', dataValue('form.basic_information.venue_hidden')),
field('Reason_for_Home_Visit__c', dataValue('form.participant_infomation.reason_for_home_visit')),
field('Visit_Date__c', dataValue('form.participant_infomation.visit_information.visit_date')),
field('Additional_Comments__c', dataValue('form.administrative.visit_notes'))
),
...fields(...state.data.eventField),
}))
)(state);
});

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Upsert-Intervention-Notes-2021-04-28.html b/adaptors/library/jobs/auto/Upsert-Intervention-Notes-2021-04-28.html index 794208cc91c..96a959d2a28 100644 --- a/adaptors/library/jobs/auto/Upsert-Intervention-Notes-2021-04-28.html +++ b/adaptors/library/jobs/auto/Upsert-Intervention-Notes-2021-04-28.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Upsert Intervention Notes

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataValue, field, fields, relationship, upsert

Expression

//openfn.org source 
upsert(
'Event__c',
'CommCare_Case_ID__c',
fields(
field('CommCare_Case_ID__c', dataValue('form.case.@case_id')),
//field('Name', dataValue('form.intervention_name')),
field('Notes__c', dataValue('form.intervention_notes_to_save')),
relationship('RecordType', 'Name', 'Intervention')
)
);
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Upsert-Post-Challenges-2021-04-30.html b/adaptors/library/jobs/auto/Upsert-Post-Challenges-2021-04-30.html index fb30b6a3c93..f9d65d3f745 100644 --- a/adaptors/library/jobs/auto/Upsert-Post-Challenges-2021-04-30.html +++ b/adaptors/library/jobs/auto/Upsert-Post-Challenges-2021-04-30.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Upsert Post Challenges

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataValue, field, fields, lastReferenceValue, query, relationship, upsert

Expression

fn(state => {
function transform(value) {
if (!value) return;
switch (value.toString().trim().toLowerCase()) {
case 'true':
case 'yes':
case 'agree':
case 'concordo':
case 'verdade':
case 'copy-1-of-yes':
return 1;
case 'false':
case 'no':
case 'disagree':
case 'discordo':
case 'falso':
case 'copy-1-of-no':
return 2;
case 'i_dont_know':
return 3;
case 'unanswered':
case `not_sexually_active`:
return 4;
case 'not_applicable':
return 5;
default:
return value;
}
}

state.helperFunctions = { transform };

return query(
`SELECT Participant_Identification_Number_PID__c from Person__c where Participant_Identification_Number_PID__c = '${state.data.form.case['@case_id']}'`
)(state);
});

fn(state => {
const { form } = state.data;

const formVersion = Object.keys(form).find(key => key.includes('challenge'));
if (formVersion == 'post_challenge_ecap_-_post_-_season_survey_for_athletes') {
console.log('Skipping upsert for ECAP data');
return { ...state, formVersion };
}
console.log('form version', formVersion);

const sfFieldMapping = {
'portuguese_pre_challenge_gcr_-_skillz_malaria': {
Post_1__c:
'form.portuguese_pre_challenge_gcr_-_skillz_malaria.dormir_dentro_da_rede_mosquiteira_tratada_todas_as_noites_pode_proteger_me_',
Post_2__c:
'form.portuguese_pre_challenge_gcr_-_skillz_malaria.posso_esperar_uns_dias_antes_de_fazer_o_teste_de_malria_se_tiver_febres',
Post_3__c:
'form.portuguese_pre_challenge_gcr_-_skillz_malaria.um_mdico_tradicionalcurandeiro_pode_me_dar_um_tratamento_para_curar_a_malri',
Post_4__c:
'form.portuguese_pre_challenge_gcr_-_skillz_malaria.se_tiver_malria_e_no_for_tratado_posso_transmitir_a_malria_a_algum',
Post_5__c:
'form.portuguese_pre_challenge_gcr_-_skillz_malaria.somente_as_mulheres_grvidas_e_as_crianas_menores_de_5_anos__que_precisam_de',
Post_6__c: 'form.portuguese_pre_challenge_gcr_-_skillz_malaria.a_malria_pode_matar_se_no_fr_tratada',
Post_7__c: 'form.portuguese_pre_challenge_gcr_-_skillz_malaria.a_febre__um_sintoma_da_malria',
Post_8__c: 'form.portuguese_pre_challenge_gcr_-_skillz_malaria.eu_me_sinto_bem_conmigo_mesmo',
Post_9__c:
'form.portuguese_pre_challenge_gcr_-_skillz_malaria.tenho_algum_na_minha_vida_que_pode_me_dar_bons_conselhos_quando_preciso_de_',
Post_10__c:
'form.portuguese_pre_challenge_gcr_-_skillz_malaria.eu_sei_onde_posso_ter_tratamento_para_malria_na_minha_comunidade',
Post_11__c: 'form.portuguese_pre_challenge_gcr_-_skillz_malaria.posso_proteger-me_da_malria',
},

'post_challenge_south_africa_-_skillz_girl': {
Post_1__c:
'form.post_challenge_south_africa_-_skillz_girl.i_have_an_older_person_in_my_life_i_can_go_to_for_advice_i_have_an_older_pe',
Post_2__c:
'form.post_challenge_south_africa_-_skillz_girl.i_know_how_to_make_a_plan_to_deal_with_the_challenges_i_may_face_in_reachin',
Post_3__c:
'form.post_challenge_south_africa_-_skillz_girl.i_can_identify_my_strengths_or_things_that_i_am_good_at_in_life',
Post_4__c: 'form.post_challenge_south_africa_-_skillz_girl.every_day_i_can_find_something_to_be_grateful_for',
Post_5__c:
'form.post_challenge_south_africa_-_skillz_girl.having_more_than_one_sexual_partner_increases_my_risk_of_getting_hiv',
Post_6__c:
'form.post_challenge_south_africa_-_skillz_girl.i_can_say_no_to_sex_even_if_my_partner_or_friends_pressure_me_to_have_sex',
Post_7__c:
'form.post_challenge_south_africa_-_skillz_girl.girls_have_a_greater_risk_of_contracting_hiv_than_boys',
Post_8__c:
'form.post_challenge_south_africa_-_skillz_girl.if_i_am_sexually_active_i_go_to_a_clinic_to_get_protection_from_hivstis_and',
Post_9__c: 'form.post_challenge_south_africa_-_skillz_girl.like_physical_health_we_all_have_mental_health',
Post_10__c:
'form.post_challenge_south_africa_-_skillz_girl.i_know_where_to_go_for_support_if_i_or_someone_i_know_drinks_too_much_alcoh',
Post_11__c:
'form.post_challenge_south_africa_-_skillz_girl.it_is_the_males_responsibility_to_make_decisions_in_a_relationship',
Post_12__c:
'form.post_challenge_south_africa_-_skillz_girl.if_a_girl_is_sexually_abused_she_can_reduce_her_risk_of_getting_hiv_by_goin',
Post_13__c:
'form.post_challenge_south_africa_-_skillz_girl.sometimes_a_man_may_have_a_good_reason_to_hit_his_partner',
Post_14__c:
'form.post_challenge_south_africa_-_skillz_girl.i_know_where_to_get_contraception_to_prevent_unwanted_pregnancy',
Post_15__c:
'form.post_challenge_south_africa_-_skillz_girl.drinking_too_much_alcohol_can_have_serious_negative_consequences_for_mental',
Post_16__c:
'form.post_challenge_south_africa_-_skillz_girl.if_sexually_active_i_or_my_partner_is_using_a_prevention_method_to_protect_',
Post_17__c:
'form.post_challenge_south_africa_-_skillz_girl.i_know_where_to_go_to_receive_counselling_for_mental_health_challenges',
Post_18__c:
'form.post_challenge_south_africa_-_skillz_girl.loss_of_interest_in_funenjoyable_activities_is_a_common_sign_of_depression',
Post_19__c:
'form.post_challenge_south_africa_-_skillz_girl.i_know_at_least_three_methods_to_prevent_an_unwanted_pregnancy',
},
'portuguese_post_challenge_gcr_-_skillz_girl': {
Post_1__c:
'form.portuguese_post_challenge_gcr_-_skillz_girl.falei_sobre_o_hiv_com_uma_pessoa_adulta_nos_ltimos_2_meses_fora_do_skillz',
Post_2__c: 'form.portuguese_post_challenge_gcr_-_skillz_girl.sei_como_expressar_a_minha_raiva_sem_ser_violento',
Post_3__c:
'form.portuguese_post_challenge_gcr_-_skillz_girl.sei_como_superar_os_desafios_que_possa_enfrentar_na_minha_vida',
Post_4__c:
'form.portuguese_post_challenge_gcr_-_skillz_girl.sei_quais_as_decises_a_tomar_para_alcanar_os_meus_objectivos',
Post_5__c:
'form.portuguese_post_challenge_gcr_-_skillz_girl.os_rapazes_correm_um_risco_mais_elevado_de_serem_vtimas_de_violncia_do_que_',
Post_6__c:
'form.portuguese_post_challenge_gcr_-_skillz_girl.conheco_que_mudanas_ocorrem_no_meu_corpo_durante_a_puberdade',
Post_7__c:
'form.portuguese_post_challenge_gcr_-_skillz_girl.conheo_pelo_menos_trs_mtodos_para_evitar_uma_gravidez_indesejada',
Post_8__c:
'form.portuguese_post_challenge_gcr_-_skillz_girl.os_preservativos_so_o_nico_mtodo_contraceptivo_que_protege_contra_a_gravide',
Post_9__c:
'form.portuguese_post_challenge_gcr_-_skillz_girl.conheco_onde_obter_servios_de_apoio_para_mim_ou_outra_pessoa_para_casos_de_',
Post_10__c:
'form.portuguese_post_challenge_gcr_-_skillz_girl.se_uma_rapariga_inicia_seu_perodo_menstrual_significa_que_est_pronta_para_c',
Post_11__c:
'form.portuguese_post_challenge_gcr_-_skillz_girl.caso_eu_seja_abusada_sexualmente_prefiro_guard-lo_para_mim_para_evitar_que_',
Post_12__c:
'form.portuguese_post_challenge_gcr_-_skillz_girl.um_homem_tem_o_direito_de_ter_sexo_com_a_sua_namorada_mesmo_que_ela_no_o_qu',
Post_13__c:
'form.portuguese_post_challenge_gcr_-_skillz_girl.pessoas_com_problemas_de_sade_mental_so_apenas_confusas_ou_loucas',
Post_14__c:
'form.portuguese_post_challenge_gcr_-_skillz_girl.pessoas_com_problemas_de_sade_mental_so_apenas_confusas_ou_loucas',
Post_15__c:
'form.portuguese_post_challenge_gcr_-_skillz_girl.informaria_a_algum_caso_fosse_tocada_por_alguem_de_uma_forma_que_me_deixass',
Post_16__c:
'form.portuguese_post_challenge_gcr_-_skillz_girl.uma_filha_deve_sempre_respeitar_a_deciso_dos_seus_pais_para_se_casar',
Post_17__c:
'form.portuguese_post_challenge_gcr_-_skillz_girl.um_casamento_bem_sucedido__mais_importante_para_as_raparigas_do_que_termina',
Post_18__c: 'form.portuguese_post_challenge_gcr_-_skillz_girl.eu_no_praticaria_desporto_com_algum_que_tem_hiv',
Post_19__c:
'form.portuguese_post_challenge_gcr_-_skillz_girl.um_namorado_pode_ter_boas_razes_para_bater_na_sua_namorada',
Post_20__c:
'form.portuguese_post_challenge_gcr_-_skillz_girl.no_faz_mal_que_um_rapaz_ameace_bater_na_sua_namorada_se_nunca_a_bater_fisic',
},
'post_challenge_zambia_-_plus_mh_enhanced_zambia': {
Post_1__c: 'form.post_challenge_zambia_-_plus_mh_enhanced_zambia.in_general_i_feel_good_about_myself',
Post_2__c:
'form.post_challenge_zambia_-_plus_mh_enhanced_zambia.i_have_the_skills_and_knowledge_to_avoid_getting_infected_with_another_kind',
Post_3__c:
'form.post_challenge_zambia_-_plus_mh_enhanced_zambia.it_is_important_to_know_why_and_how_i_want_to_tell_someone_my_hiv_status',
Post_4__c: 'form.post_challenge_zambia_-_plus_mh_enhanced_zambia.i_accept_myself_and_my_hiv_status',
Post_5__c:
'form.post_challenge_zambia_-_plus_mh_enhanced_zambia.i_can_make_my_own_informed_decisions_about_my_sexual_healthcare',
Post_6__c:
'form.post_challenge_zambia_-_plus_mh_enhanced_zambia.are_you_or_have_you_been_past_12_months_in_a_sexual_relationship_na_if_not_',
Post_7__c:
'form.post_challenge_zambia_-_plus_mh_enhanced_zambia.are_you_or_your_boyfriendgirlfriend_currently_using_any_contraceptive_or_pr',
Post_8__c:
'form.post_challenge_zambia_-_plus_mh_enhanced_zambia.i_have_an_older_person_in_my_life_i_can_go_to_for_advice',
Post_9__c:
'form.post_challenge_zambia_-_plus_mh_enhanced_zambia.there_are_people_i_trust_with_whom_i_can_talk_about_my_status',
Post_10__c:
'form.post_challenge_zambia_-_plus_mh_enhanced_zambia.it_is_okay_for_two_people_with_hiv_to_have_unprotected_sex_with_each_other',
Post_11__c:
'form.post_challenge_zambia_-_plus_mh_enhanced_zambia.it_is_okay_for_someone_with_hiv_to_stop_taking_their_arv_as_soon_as_they_st',
Post_12__c:
'form.post_challenge_zambia_-_plus_mh_enhanced_zambia.when_i_have_a_choice_it_is_important_to_eat_a_variety_of_foods_including_gr',
Post_13__c:
'form.post_challenge_zambia_-_plus_mh_enhanced_zambia.mental_health_problems_have_nothing_to_do_with_being_lazy_or_weak_and_many_',
Post_14__c:
'form.post_challenge_zambia_-_plus_mh_enhanced_zambia.art_adherence_is_an_important_part_of_my_overall_health_and_well-being',
Post_15__c:
'form.post_challenge_zambia_-_plus_mh_enhanced_zambia.the_most_common_illnesses_of_mental_health_are_depression_and_anxiety',
Post_16__c:
'form.post_challenge_zambia_-_plus_mh_enhanced_zambia.biological_and_social_factors_contribute_to_females_and_males_experiencing_',
},
'post_challenge_nigeria_-_advanced_skills': {
Post_1__c:
'form.post_challenge_nigeria_-_advanced_skills.i_have_talked_about_hiv_with_an_adult_in_the_past_two_months_outside_skillz',
Post_2__c:
'form.post_challenge_nigeria_-_advanced_skills.i_have_talked_about_malaria_with_an_adult_in_the_past_two_months_outside_sk',
Post_3__c:
'form.post_challenge_nigeria_-_advanced_skills.unequal_power_in_relationships_can_contribute_to_the_spread_of_hiv',
Post_4__c:
'form.post_challenge_nigeria_-_advanced_skills.the_most_effective_way_to_avoid_getting_hiv_is_to_abstain_from_sex',
Post_5__c: 'form.post_challenge_nigeria_-_advanced_skills.malaria_is_spread_by_standing_under_the_hot_sun',
Post_6__c: 'form.post_challenge_nigeria_-_advanced_skills.drinking_alcohol_can_increase_my_risk_of_getting_hiv',
Post_7__c:
'form.post_challenge_nigeria_-_advanced_skills.sleeping_under_a_mosquito_net_every_night_can_help_protect_me_from_malaria',
Post_8__c:
'form.post_challenge_nigeria_-_advanced_skills.having_more_than_one_sexual_partner_over_the_same_time_period_increases_my_',
Post_9__c:
'form.post_challenge_nigeria_-_advanced_skills.it_is_okay_for_someone_with_malaria_to_stop_taking_their_medication_as_soon',
Post_10__c:
'form.post_challenge_nigeria_-_advanced_skills.i_can_abstain_from_sex_until_i_am_older_even_if_it_is_difficult',
Post_11__c:
'form.post_challenge_nigeria_-_advanced_skills.i_would_say_no_to_playing_sport_with_someone_who_has_hiv',
Post_12__c:
'form.post_challenge_nigeria_-_advanced_skills.men_should_share_the_work_around_the_house_such_as_cleaning',
Post_13__c:
'form.post_challenge_nigeria_-_advanced_skills.it_is_the_males_responsibilty_to_make_decisions_in_a_relationship',
Post_14__c:
'form.post_challenge_nigeria_-_advanced_skills.i_can_use_drugs_and_still_easily_reach_my_goals_in_life',
Post_15__c:
'form.post_challenge_nigeria_-_advanced_skills.when_sick_it_is_better_to_visit_the_herb_seller_than_to_visit_a_doctor_or_a',
Post_16__c:
'form.post_challenge_nigeria_-_advanced_skills.it_is_okay_to_use_violence_with_my_partner_if_he_or_she_makes_me_angry',
Post_17__c:
'form.post_challenge_nigeria_-_advanced_skills.i_have_the_power_to_change_gender_expectations_that_i_do_not_agree_with',
},
'post_challenge_zimbabwe_-_skillz_core_zimbabwe': {
Post_1__c:
'form.post_challenge_zimbabwe_-_skillz_core_zimbabwe.copy-1-of-i_know_what_decisions_to_make_to_achieve_my_goals',
Post_2__c:
'form.post_challenge_zimbabwe_-_skillz_core_zimbabwe.copy-1-of-i_dont_always_have_to_do_what_people_expect_just_because_i_am_a_girlboy',
Post_3__c: 'form.post_challenge_zimbabwe_-_skillz_core_zimbabwe.i_know_what_i_am_good_at',
Post_4__c:
'form.post_challenge_zimbabwe_-_skillz_core_zimbabwe.i_can_make_my_own_decisions_no_matter_how_much_pressure_i_get_from_others',
Post_5__c:
'form.post_challenge_zimbabwe_-_skillz_core_zimbabwe.copy-1-of-i_have_the_right_to_say_no_to_sex_no_matter_who_asks_me',
Post_6__c:
'form.post_challenge_zimbabwe_-_skillz_core_zimbabwe.i_can_make_my_own_informed_decisions_about_my_sexual_healthcare',
Post_7__c:
'form.post_challenge_zimbabwe_-_skillz_core_zimbabwe.copy-1-of-i_have_the_right_to_access_sexual_health_services_such_as_sti_and_hiv_testi',
Post_8__c:
'form.post_challenge_zimbabwe_-_skillz_core_zimbabwe.it_is_the_mans_responsibility_to_make_decisions_in_a_relationship',
Post_9__c:
'form.post_challenge_zimbabwe_-_skillz_core_zimbabwe.a_man_has_the_right_to_have_sex_with_his_girlfriend_even_if_she_doesnt_want',
Post_10__c:
'form.post_challenge_zimbabwe_-_skillz_core_zimbabwe.girls_should_be_obedient_and_should_not_disagree_with_boys',
Post_11__c:
'form.post_challenge_zimbabwe_-_skillz_core_zimbabwe.if_a_girl_gets_pregnant_she_should_drop_out_of_school',
Post_12__c: 'form.post_challenge_zimbabwe_-_skillz_core_zimbabwe.my_skillz_coach_helps_me_to_be_a_better_person',
Post_13__c:
'form.post_challenge_zimbabwe_-_skillz_core_zimbabwe.i_have_someone_in_my_life_i_can_turn_to_when_i_need_advice_or_when_i_have_a',
Post_14__c:
'form.post_challenge_zimbabwe_-_skillz_core_zimbabwe.if_i_test_positive_for_hiv_there_will_be_someone_who_will_help_and_support_',
Post_15__c:
'form.post_challenge_zimbabwe_-_skillz_core_zimbabwe.i_know_who_to_go_to_if_i_amsomeone_i_know_is_abused_sexually_physically_and',
Post_16__c:
'form.post_challenge_zimbabwe_-_skillz_core_zimbabwe.i_know_who_to_go_to_if_someone_touches_me_in_a_way_that_makes_me_uncomforta',
Post_17__c:
'form.post_challenge_zimbabwe_-_skillz_core_zimbabwe.i_know_where_to_get_support_services_for_me_or_someone_else_for_hiv-related',
Post_18__c:
'form.post_challenge_zimbabwe_-_skillz_core_zimbabwe.i_would_say_no_to_playing_sport_with_someone_who_has_hiv',
Post_19__c:
'form.post_challenge_zimbabwe_-_skillz_core_zimbabwe.i_can_tell_whether_someone_has_hiv_by_looking_at_him_or_her',
},
'copy-1-of-post_challenge_zimbabwe_-_virtual_skillz_core_zimbabwe': {
Post_1__c:
'form.copy-1-of-post_challenge_zimbabwe_-_virtual_skillz_core_zimbabwe.copy-1-of-i_know_what_decisions_to_make_to_achieve_my_goals',
Post_2__c:
'form.copy-1-of-post_challenge_zimbabwe_-_virtual_skillz_core_zimbabwe.i_dont_always_have_to_do_what_people_expect_just_because_i_am_girlboy',
Post_3__c:
'form.copy-1-of-post_challenge_zimbabwe_-_virtual_skillz_core_zimbabwe.copy-1-of-i_have_the_right_to_say_no_to_sex_no_matter_who_asks_me',
Post_4__c:
'form.copy-1-of-post_challenge_zimbabwe_-_virtual_skillz_core_zimbabwe.i_can_make_my_own_informed_decisions_about_my_sexual_health',
Post_5__c:
'form.copy-1-of-post_challenge_zimbabwe_-_virtual_skillz_core_zimbabwe.it_is_the_mans_responsibility_to_make_decisions_in_a_relationship',
Post_6__c:
'form.copy-1-of-post_challenge_zimbabwe_-_virtual_skillz_core_zimbabwe.a_man_has_the_right_to_have_sex_with_his_girlfriend_even_if_she_doesnt_want',
Post_7__c:
'form.copy-1-of-post_challenge_zimbabwe_-_virtual_skillz_core_zimbabwe.my_skillz_coach_helps_me_to_be_a_better_person',
Post_8__c:
'form.copy-1-of-post_challenge_zimbabwe_-_virtual_skillz_core_zimbabwe.i_have_someone_in_my_life_i_can_turn_to_when_i_need_advise_or_when_i_have_a',
Post_9__c:
'form.copy-1-of-post_challenge_zimbabwe_-_virtual_skillz_core_zimbabwe.copy-1-of-i_know_where_to_get_support_services_for_me_or_someone_else_for_hiv-related',
},
};

const pluckSfValue = val => {
// if sfFieldMapping[formVersion][val] == undefined
return sfFieldMapping[formVersion][val];
};

return { ...state, formVersion, pluckSfValue };
});

fn(state => {
if (state.formVersion == 'post_challenge_ecap_-_post_-_season_survey_for_athletes') {
return state;
}
const PID = lastReferenceValue('records[0].Participant_Identification_Number_PID__c')(state);

if (!PID) {
console.log(
`Participant not found with Participant_Identification_Number_PID__c: ${state.data.form.case['@case_id']}`
);
return state;
}

function replaceAccents(input) {
return input
.replace(/á|â|ã|à/, 'a')
.replace(/Á|Â|Ã|À/, 'A')
.replace(/ç/, 'c')
.replace(/é|ê/, 'e')
.replace(/É|Ê/, 'E')
.replace(/í/, 'i')
.replace(/Í/, 'I')
.replace(/ó|ô|õ/, 'o')
.replace(/Ó|Ô|Õ/, 'O')
.replace(/ú/, 'u')
.replace(/Ú/, 'u');
}

return upsert(
'Attendance__c',
'CommCare_Ext_ID__c',
fields(
//field('Event__c', dataValue('form.hidden_properties.intervention_name')),

field('CommCare_Ext_ID__c', state => {
const value =
dataValue('form.case.@case_id')(state) +
'-' +
replaceAccents(dataValue('form.hidden_properties.intervention_name')(state)).replace(/\//gi, '');
return scrubEmojis(value, '');
}),

//relationship('Event__r', 'CommCare_Ext_ID__c', dataValue('form.hidden_properties.intervention_name')),
relationship('Person_Attendance__r', 'Participant_Identification_Number_PID__c', dataValue('form.case.@case_id')),
field('Pre_Post_Completed__c', state => {
var done = dataValue('form.hidden_properties.post_questionnaire_complete')(state);
return done === 'Yes' ? true : done === 'No' ? false : undefined;
}),
field('Date_Post_Administered__c', dataValue('form.hidden_properties.date')),
field('Post_1__c', state => {
const value = dataValue(state.pluckSfValue('Post_1__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Post_2__c', state => {
if (state.pluckSfValue('Post_2__c') == null) return undefined;
const value = dataValue(state.pluckSfValue('Post_2__c'))(state);
return state.helperFunctions.transform(value);
}),

field('Post_3__c', state => {
const value = dataValue(state.pluckSfValue('Post_3__c'))(state);
return state.helperFunctions.transform(value);
}),

field('Post_4__c', state => {
const value = dataValue(state.pluckSfValue('Post_4__c'))(state);
return state.helperFunctions.transform(value);
}),

field('Post_5__c', state => {
const value = dataValue(state.pluckSfValue('Post_5__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Post_6__c', state => {
const value = dataValue(state.pluckSfValue('Post_6__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Post_7__c', state => {
const value = dataValue(state.pluckSfValue('Post_7__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Post_8__c', state => {
const value = dataValue(state.pluckSfValue('Post_8__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Post_9__c', state => {
const value = dataValue(state.pluckSfValue('Post_9__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Post_10__c', state => {
if (state.pluckSfValue('Post_10__c') == null) return undefined;
const value = dataValue(state.pluckSfValue('Post_10__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Post_11__c', state => {
if (state.pluckSfValue('Post_11__c') == null) return undefined;
const value = dataValue(state.pluckSfValue('Post_10__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Post_12__c', state => {
if (state.pluckSfValue('Post_12__c') == null) return undefined;
const value = dataValue(state.pluckSfValue('Post_12__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Post_13__c', state => {
if (state.pluckSfValue('Post_13__c') == null) return undefined;
const value = dataValue(state.pluckSfValue('Post_13__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Post_14__c', state => {
if (state.pluckSfValue('Post_14__c') == null) return undefined;
const value = dataValue(state.pluckSfValue('Post_14__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Post_15__c', state => {
if (state.pluckSfValue('Post_15__c') == null) return undefined;
const value = dataValue(state.pluckSfValue('Post_15__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Post_16__c', state => {
if (state.pluckSfValue('Post_16__c') == null) return undefined;
const value = dataValue(state.pluckSfValue('Post_16__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Post_17__c', state => {
if (state.pluckSfValue('Post_17__c') == null) return undefined;
const value = dataValue(state.pluckSfValue('Post_17__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Post_18__c', state => {
if (state.pluckSfValue('Post_18__c') == null) return undefined;
const value = dataValue(state.pluckSfValue('Post_18__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Post_19__c', state => {
if (state.pluckSfValue('Post_19__c') == null) return undefined;
const value = dataValue(state.pluckSfValue('Post_19__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Post_20__c', state => {
if (state.pluckSfValue('Post_20__c') == null) return undefined;
const value = dataValue(state.pluckSfValue('Post_20__c'))(state);
return state.helperFunctions.transform(value);
})
)
)(state);
});

//Removing mapping... need case_id to upsert Events. Date_of_Post__c update should be handled on the SF side.
/*upsert(
'Event__c',
'CommCare_Ext_ID__c',
fields(
field('CommCare_Ext_ID__c', dataValue('form.hidden_properties.intervention_name')),
field('Date_of_Post__c', dataValue('form.date')),
)
);*/

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Upsert-Pre-Challenges-2021-04-30.html b/adaptors/library/jobs/auto/Upsert-Pre-Challenges-2021-04-30.html index 47fd1ce1c3d..2c531940a2e 100644 --- a/adaptors/library/jobs/auto/Upsert-Pre-Challenges-2021-04-30.html +++ b/adaptors/library/jobs/auto/Upsert-Pre-Challenges-2021-04-30.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Upsert Pre Challenges

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataValue, field, fields, lastReferenceValue, query, relationship, upsert

Expression

fn(state => {
function transform(value) {
if (!value) return;
//console.log("value in switch", value.toString().trim().toLowerCase());
switch (value.toString().trim().toLowerCase()) {
case 'true':
case 'yes':
case 'agree':
case 'verdade':
case 'concorda':
case 'concordo':
return 1;
case 'false':
case 'no':
case 'disagree':
case 'discorda':
case 'discordo':
case 'falso':
return 2;
case 'i_dont_know':
case `not_sexually_active`:
return 3;
case 'unanswered':
return 4;
case 'not_applicable':
return 5;
default:
return value;
}
}

state.helperFunctions = { transform };

return query(
`SELECT Participant_Identification_Number_PID__c from Person__c where Participant_Identification_Number_PID__c = '${state.data.form.case['@case_id']}'`
)(state);
});

fn(state => {
const { form } = state.data;

const formVersion = Object.keys(form).find(key => key.includes('pre_challenge'));

if (formVersion == 'pre_challenge_ecap_-_pre_-_season_survey_for_athletes') {
console.log('Skipping upsert for ECAP data');
return { ...state, formVersion };
}

console.log('form version', formVersion);

const sfFieldMapping = {
'pre_challenge_south_africa_-_skillz_girl': {
Pre_1__c:
'form.pre_challenge_south_africa_-_skillz_girl.i_have_an_older_person_in_my_life_i_can_go_to_for_advice_i_have_an_older_pe',
Pre_2__c:
'form.pre_challenge_south_africa_-_skillz_girl.i_know_how_to_make_a_plan_to_deal_with_the_challenges_i_may_face_in_reachin',
Pre_3__c:
'form.pre_challenge_south_africa_-_skillz_girl.i_can_identify_my_strengths_or_things_that_i_am_good_at_in_life',
Pre_4__c: 'form.pre_challenge_south_africa_-_skillz_girl.every_day_i_can_find_something_to_be_grateful_for',
Pre_5__c:
'form.pre_challenge_south_africa_-_skillz_girl.having_more_than_one_sexual_partner_increases_my_risk_of_getting_hiv',
Pre_6__c:
'form.pre_challenge_south_africa_-_skillz_girl.i_can_say_no_to_sex_even_if_my_partner_or_friends_pressure_me_to_have_sex',
Pre_7__c: 'form.pre_challenge_south_africa_-_skillz_girl.girls_have_a_greater_risk_of_contracting_hiv_than_boys',
Pre_8__c:
'form.pre_challenge_south_africa_-_skillz_girl.if_i_am_sexually_active_i_go_to_a_clinic_to_get_protection_from_hivstis_and',
Pre_9__c: 'form.pre_challenge_south_africa_-_skillz_girl.like_physical_health_we_all_have_mental_health',
Pre_10__c:
'form.pre_challenge_south_africa_-_skillz_girl.i_know_where_to_go_for_support_if_i_or_someone_i_know_drinks_too_much_alcoh',
Pre_11__c:
'form.pre_challenge_south_africa_-_skillz_girl.it_is_the_males_responsibility_to_make_decisions_in_a_relationship',
Pre_12__c:
'form.pre_challenge_south_africa_-_skillz_girl.if_a_girl_is_sexually_abused_she_can_reduce_her_risk_of_getting_hiv_by_goin',
Pre_13__c:
'form.pre_challenge_south_africa_-_skillz_girl.sometimes_a_man_may_have_a_good_reason_to_hit_his_partner',
Pre_14__c:
'form.pre_challenge_south_africa_-_skillz_girl.i_know_where_to_get_contraception_to_prevent_unwanted_pregnancy',
Pre_15__c:
'form.pre_challenge_south_africa_-_skillz_girl.drinking_too_much_alcohol_can_have_serious_negative_consequences_for_mental',
Pre_16__c:
'form.pre_challenge_south_africa_-_skillz_girl.if_sexually_active_i_or_my_partner_is_using_a_prevention_method_to_protect_',
Pre_17__c:
'form.pre_challenge_south_africa_-_skillz_girl.i_know_where_to_go_to_receive_counselling_for_mental_health_challenges',
Pre_18__c:
'form.pre_challenge_south_africa_-_skillz_girl.loss_of_interest_in_funenjoyable_activities_is_a_common_sign_of_depression',
Pre_19__c:
'form.pre_challenge_south_africa_-_skillz_girl.i_know_at_least_three_methods_to_prevent_an_unwanted_pregnancy',
},
'portuguese_pre_challenge_gcr_-_skillz_malaria': {
Pre_1__c:
'form.portuguese_pre_challenge_gcr_-_skillz_malaria.dormir_dentro_da_rede_mosquiteira_tratada_todas_as_noites_pode_proteger_me_',
Pre_2__c:
'form.portuguese_pre_challenge_gcr_-_skillz_malaria.posso_esperar_uns_dias_antes_de_fazer_o_teste_de_malria_se_tiver_febres',
Pre_3__c:
'form.portuguese_pre_challenge_gcr_-_skillz_malaria.um_mdico_tradicionalcurandeiro_pode_me_dar_um_tratamento_para_curar_a_malri',
Pre_4__c:
'form.portuguese_pre_challenge_gcr_-_skillz_malaria.se_tiver_malria_e_no_for_tratado_posso_transmitir_a_malria_a_algum',
Pre_5__c:
'form.portuguese_pre_challenge_gcr_-_skillz_malaria.somente_as_mulheres_grvidas_e_as_crianas_menores_de_5_anos__que_precisam_de',
Pre_6__c: 'form.portuguese_pre_challenge_gcr_-_skillz_malaria.a_malria_pode_matar_se_no_fr_tratada',
Pre_7__c: 'form.portuguese_pre_challenge_gcr_-_skillz_malaria.a_febre__um_sintoma_da_malria',
Pre_8__c: 'form.portuguese_pre_challenge_gcr_-_skillz_malaria.eu_me_sinto_bem_conmigo_mesmo',
Pre_9__c:
'form.portuguese_pre_challenge_gcr_-_skillz_malaria.tenho_algum_na_minha_vida_que_pode_me_dar_bons_conselhos_quando_preciso_de_',
Pre_10__c:
'form.portuguese_pre_challenge_gcr_-_skillz_malaria.eu_sei_onde_posso_ter_tratamento_para_malria_na_minha_comunidade',
Pre_11__c: 'form.portuguese_pre_challenge_gcr_-_skillz_malaria.posso_proteger-me_da_malria',
},

'portuguese_pre_challenge_gcr_-_skillz_girl': {
Pre_1__c:
'form.portuguese_pre_challenge_gcr_-_skillz_girl.falei_sobre_o_hiv_com_uma_pessoa_adulta_nos_ltimos_2_meses_fora_do_skillz',
Pre_2__c: 'form.portuguese_pre_challenge_gcr_-_skillz_girl.sei_como_expressar_a_minha_raiva_sem_ser_violento',
Pre_3__c:
'form.portuguese_pre_challenge_gcr_-_skillz_girl.sei_como_superar_os_desafios_que_possa_enfrentar_na_minha_vida',
Pre_4__c:
'form.portuguese_pre_challenge_gcr_-_skillz_girl.sei_quais_as_decises_a_tomar_para_alcanar_os_meus_objectivos',
Pre_5__c:
'form.portuguese_pre_challenge_gcr_-_skillz_girl.os_rapazes_correm_um_risco_mais_elevado_de_serem_vtimas_de_violncia_do_que_',
Pre_6__c:
'form.portuguese_pre_challenge_gcr_-_skillz_girl.conheco_que_mudanas_ocorrem_no_meu_corpo_durante_a_puberdade',
Pre_7__c:
'form.portuguese_pre_challenge_gcr_-_skillz_girl.conheo_pelo_menos_trs_mtodos_para_evitar_uma_gravidez_indesejada',
Pre_8__c:
'form.portuguese_pre_challenge_gcr_-_skillz_girl.os_preservativos_so_o_nico_mtodo_contraceptivo_que_protege_contra_a_gravide',
Pre_9__c:
'form.portuguese_pre_challenge_gcr_-_skillz_girl.conheco_onde_obter_servios_de_apoio_para_mim_ou_outra_pessoa_para_casos_de_',
Pre_10__c:
'form.portuguese_pre_challenge_gcr_-_skillz_girl.se_uma_rapariga_inicia_seu_perodo_menstrual_significa_que_est_pronta_para_c',
Pre_11__c:
'form.portuguese_pre_challenge_gcr_-_skillz_girl.caso_eu_seja_abusada_sexualmente_prefiro_guard-lo_para_mim_para_evitar_que_',
Pre_12__c:
'form.portuguese_pre_challenge_gcr_-_skillz_girl.um_homem_tem_o_direito_de_ter_sexo_com_a_sua_namorada_mesmo_que_ela_no_o_qu',
Pre_13__c:
'form.portuguese_pre_challenge_gcr_-_skillz_girl.pessoas_com_problemas_de_sade_mental_so_apenas_confusas_ou_loucas',
Pre_14__c:
'form.portuguese_pre_challenge_gcr_-_skillz_girl.pessoas_com_problemas_de_sade_mental_so_apenas_confusas_ou_loucas',
Pre_15__c:
'form.portuguese_pre_challenge_gcr_-_skillz_girl.informaria_a_algum_caso_fosse_tocada_por_alguem_de_uma_forma_que_me_deixass',
Pre_16__c:
'form.portuguese_pre_challenge_gcr_-_skillz_girl.uma_filha_deve_sempre_respeitar_a_deciso_dos_seus_pais_para_se_casar',
Pre_17__c:
'form.portuguese_pre_challenge_gcr_-_skillz_girl.um_casamento_bem_sucedido__mais_importante_para_as_raparigas_do_que_termina',
Pre_18__c: 'form.portuguese_pre_challenge_gcr_-_skillz_girl.eu_no_praticaria_desporto_com_algum_que_tem_hiv',
Pre_19__c:
'form.portuguese_pre_challenge_gcr_-_skillz_girl.um_namorado_pode_ter_boas_razes_para_bater_na_sua_namorada',
Pre_20__c:
'form.portuguese_pre_challenge_gcr_-_skillz_girl.no_faz_mal_que_um_rapaz_ameace_bater_na_sua_namorada_se_nunca_a_bater_fisic',
},
'pre_challenge_zambia_-_plus_mh_enhanced_zambia': {
Pre_1__c: 'form.pre_challenge_zambia_-_plus_mh_enhanced_zambia.in_general_i_feel_good_about_myself',
Pre_2__c:
'form.pre_challenge_zambia_-_plus_mh_enhanced_zambia.i_have_the_skills_and_knowledge_to_avoid_getting_infected_with_another_kind',
Pre_3__c:
'form.pre_challenge_zambia_-_plus_mh_enhanced_zambia.it_is_important_to_know_why_and_how_i_want_to_tell_someone_my_hiv_status',
Pre_4__c: 'form.pre_challenge_zambia_-_plus_mh_enhanced_zambia.i_accept_myself_and_my_hiv_status',
Pre_5__c:
'form.pre_challenge_zambia_-_plus_mh_enhanced_zambia.i_can_make_my_own_informed_decisions_about_my_sexual_healthcare',
Pre_6__c:
'form.pre_challenge_zambia_-_plus_mh_enhanced_zambia.are_you_or_have_you_been_past_12_months_in_a_sexual_relationship_na_if_not_',
Pre_7__c:
'form.pre_challenge_zambia_-_plus_mh_enhanced_zambia.are_you_or_your_boyfriendgirlfriend_currently_using_any_contraceptive_or_pr',
Pre_8__c:
'form.pre_challenge_zambia_-_plus_mh_enhanced_zambia.i_have_an_older_person_in_my_life_i_can_go_to_for_advice',
Pre_9__c:
'form.pre_challenge_zambia_-_plus_mh_enhanced_zambia.there_are_people_i_trust_with_whom_i_can_talk_about_my_status',
Pre_10__c:
'form.pre_challenge_zambia_-_plus_mh_enhanced_zambia.it_is_okay_for_two_people_with_hiv_to_have_unprotected_sex_with_each_other',
Pre_11__c:
'form.pre_challenge_zambia_-_plus_mh_enhanced_zambia.it_is_okay_for_someone_with_hiv_to_stop_taking_their_arv_as_soon_as_they_st',
Pre_12__c:
'form.pre_challenge_zambia_-_plus_mh_enhanced_zambia.when_i_have_a_choice_it_is_important_to_eat_a_variety_of_foods_including_gr',
Pre_13__c:
'form.pre_challenge_zambia_-_plus_mh_enhanced_zambia.mental_health_problems_have_nothing_to_do_with_being_lazy_or_weak_and_many_',
Pre_14__c:
'form.pre_challenge_zambia_-_plus_mh_enhanced_zambia.art_adherence_is_an_important_part_of_my_overall_health_and_well-being',
Pre_15__c:
'form.pre_challenge_zambia_-_plus_mh_enhanced_zambia.the_most_common_illnesses_of_mental_health_are_depression_and_anxiety',
Pre_16__c:
'form.pre_challenge_zambia_-_plus_mh_enhanced_zambia.biological_and_social_factors_contribute_to_females_and_males_experiencing_',
},
'pre_challenge_nigeria_-_advanced_skills': {
Pre_1__c:
'form.pre_challenge_nigeria_-_advanced_skills.i_have_talked_about_hiv_with_an_adult_in_the_past_two_months_outside_skillz',
Pre_2__c:
'form.pre_challenge_nigeria_-_advanced_skills.i_have_talked_about_malaria_with_an_adult_in_the_past_two_months_outside_sk',
Pre_3__c:
'form.pre_challenge_nigeria_-_advanced_skills.unequal_power_in_relationships_can_contribute_to_the_spread_of_hiv',
Pre_4__c:
'form.pre_challenge_nigeria_-_advanced_skills.the_most_effective_way_to_avoid_getting_hiv_is_to_abstain_from_sex',
Pre_5__c: 'form.pre_challenge_nigeria_-_advanced_skills.malaria_is_spread_by_standing_under_the_hot_sun',
Pre_6__c: 'form.pre_challenge_nigeria_-_advanced_skills.drinking_alcohol_can_increase_my_risk_of_getting_hiv',
Pre_7__c:
'form.pre_challenge_nigeria_-_advanced_skills.sleeping_under_a_mosquito_net_every_night_can_help_protect_me_from_malaria',
Pre_8__c:
'form.pre_challenge_nigeria_-_advanced_skills.having_more_than_one_sexual_partner_over_the_same_time_period_increases_my_',
Pre_9__c:
'form.pre_challenge_nigeria_-_advanced_skills.it_is_okay_for_someone_with_malaria_to_stop_taking_their_medication_as_soon',
Pre_10__c:
'form.pre_challenge_nigeria_-_advanced_skills.i_can_abstain_from_sex_until_i_am_older_even_if_it_is_difficult',
Pre_11__c:
'form.pre_challenge_nigeria_-_advanced_skills.i_would_say_no_to_playing_sport_with_someone_who_has_hiv',
Pre_12__c:
'form.pre_challenge_nigeria_-_advanced_skills.men_should_share_the_work_around_the_house_such_as_cleaning',
Pre_13__c:
'form.pre_challenge_nigeria_-_advanced_skills.it_is_the_males_responsibilty_to_make_decisions_in_a_relationship',
Pre_14__c: 'form.pre_challenge_nigeria_-_advanced_skills.i_can_use_drugs_and_still_easily_reach_my_goals_in_life',
Pre_15__c:
'form.pre_challenge_nigeria_-_advanced_skills.when_sick_it_is_better_to_visit_the_herb_seller_than_to_visit_a_doctor_or_a',
Pre_16__c:
'form.pre_challenge_nigeria_-_advanced_skills.it_is_okay_to_use_violence_with_my_partner_if_he_or_she_makes_me_angry',
Pre_17__c:
'form.pre_challenge_nigeria_-_advanced_skills.i_have_the_power_to_change_gender_expectations_that_i_do_not_agree_with',
},
'pre_challenge_zimbabwe_-_skillz_core_zimbabwe': {
Pre_1__c:
'form.pre_challenge_zimbabwe_-_skillz_core_zimbabwe.copy-1-of-i_know_what_decisions_to_make_to_achieve_my_goals',
Pre_2__c:
'form.pre_challenge_zimbabwe_-_skillz_core_zimbabwe.copy-1-of-i_dont_always_have_to_do_what_people_expect_just_because_i_am_a_girlboy',
Pre_3__c: 'form.pre_challenge_zimbabwe_-_skillz_core_zimbabwe.i_know_what_i_am_good_at',
Pre_4__c:
'form.pre_challenge_zimbabwe_-_skillz_core_zimbabwe.i_can_make_my_own_decisions_no_matter_how_much_pressure_i_get_from_others',
Pre_5__c:
'form.pre_challenge_zimbabwe_-_skillz_core_zimbabwe.copy-1-of-i_have_the_right_to_say_no_to_sex_no_matter_who_asks_me',
Pre_6__c:
'form.pre_challenge_zimbabwe_-_skillz_core_zimbabwe.i_can_make_my_own_informed_decisions_about_my_sexual_healthcare',
Pre_7__c:
'form.pre_challenge_zimbabwe_-_skillz_core_zimbabwe.copy-1-of-i_have_the_right_to_access_sexual_health_services_such_as_sti_and_hiv_testi',
Pre_8__c:
'form.pre_challenge_zimbabwe_-_skillz_core_zimbabwe.it_is_the_mans_responsibility_to_make_decisions_in_a_relationship',
Pre_9__c:
'form.pre_challenge_zimbabwe_-_skillz_core_zimbabwe.a_man_has_the_right_to_have_sex_with_his_girlfriend_even_if_she_doesnt_want',
Pre_10__c:
'form.pre_challenge_zimbabwe_-_skillz_core_zimbabwe.girls_should_be_obedient_and_should_not_disagree_with_boys',
Pre_11__c:
'form.pre_challenge_zimbabwe_-_skillz_core_zimbabwe.if_a_girl_gets_pregnant_she_should_drop_out_of_school',
Pre_12__c: 'form.pre_challenge_zimbabwe_-_skillz_core_zimbabwe.my_skillz_coach_helps_me_to_be_a_better_person',
Pre_13__c:
'form.pre_challenge_zimbabwe_-_skillz_core_zimbabwe.i_have_someone_in_my_life_i_can_turn_to_when_i_need_advice_or_when_i_have_a',
Pre_14__c:
'form.pre_challenge_zimbabwe_-_skillz_core_zimbabwe.if_i_test_positive_for_hiv_there_will_be_someone_who_will_help_and_support_',
Pre_15__c:
'form.pre_challenge_zimbabwe_-_skillz_core_zimbabwe.i_know_who_to_go_to_if_i_amsomeone_i_know_is_abused_sexually_physically_and',
Pre_16__c:
'form.pre_challenge_zimbabwe_-_skillz_core_zimbabwe.i_know_who_to_go_to_if_someone_touches_me_in_a_way_that_makes_me_uncomforta',
Pre_17__c:
'form.pre_challenge_zimbabwe_-_skillz_core_zimbabwe.i_know_where_to_get_support_services_for_me_or_someone_else_for_hiv-related',
Pre_18__c:
'form.pre_challenge_zimbabwe_-_skillz_core_zimbabwe.i_would_say_no_to_playing_sport_with_someone_who_has_hiv',
Pre_19__c:
'form.pre_challenge_zimbabwe_-_skillz_core_zimbabwe.i_can_tell_whether_someone_has_hiv_by_looking_at_him_or_her',
},
'pre_challenge_zimbabwe_-_virtual_skillz_core_zimbabwe': {
Pre_1__c:
'form.pre_challenge_zimbabwe_-_virtual_skillz_core_zimbabwe.copy-1-of-i_know_what_decisions_to_make_to_achieve_my_goals',
Pre_2__c:
'form.pre_challenge_zimbabwe_-_virtual_skillz_core_zimbabwe.i_dont_always_have_to_do_what_people_expect_just_because_i_am_girlboy',
Pre_3__c:
'form.pre_challenge_zimbabwe_-_virtual_skillz_core_zimbabwe.copy-1-of-i_have_the_right_to_say_no_to_sex_no_matter_who_asks_me',
Pre_4__c:
'form.pre_challenge_zimbabwe_-_virtual_skillz_core_zimbabwe.i_can_make_my_own_informed_decisions_about_my_sexual_health',
Pre_5__c:
'form.pre_challenge_zimbabwe_-_virtual_skillz_core_zimbabwe.it_is_the_mans_responsibility_to_make_decisions_in_a_relationship',
Pre_6__c:
'form.pre_challenge_zimbabwe_-_virtual_skillz_core_zimbabwe.a_man_has_the_right_to_have_sex_with_his_girlfriend_even_if_she_doesnt_want',
Pre_7__c:
'form.pre_challenge_zimbabwe_-_virtual_skillz_core_zimbabwe.my_skillz_coach_helps_me_to_be_a_better_person',
Pre_8__c:
'form.pre_challenge_zimbabwe_-_virtual_skillz_core_zimbabwe.i_have_someone_in_my_life_i_can_turn_to_when_i_need_advise_or_when_i_have_a',
Pre_9__c:
'form.pre_challenge_zimbabwe_-_virtual_skillz_core_zimbabwe.copy-1-of-i_know_where_to_get_support_services_for_me_or_someone_else_for_hiv-related',
},
};

const pluckSfValue = val => {
return sfFieldMapping[formVersion][val];
};

return { ...state, formVersion, pluckSfValue };
});

fn(state => {
console.log('here', state.formVersion);
if (state.formVersion == 'pre_challenge_ecap_-_pre_-_season_survey_for_athletes') {
console.log('Skipping upsert for ECAP data');
return state;
}
const PID = lastReferenceValue('records[0].Participant_Identification_Number_PID__c')(state);

if (!PID) {
console.log(
`Participant not found with Participant_Identification_Number_PID__c: ${state.data.form.case['@case_id']}`
);
return state;
}

function replaceAccents(input) {
return input
.replace(/á|â|ã|à/, 'a')
.replace(/Á|Â|Ã|À/, 'A')
.replace(/ç/, 'c')
.replace(/é|ê/, 'e')
.replace(/É|Ê/, 'E')
.replace(/í/, 'i')
.replace(/Í/, 'I')
.replace(/ó|ô|õ/, 'o')
.replace(/Ó|Ô|Õ/, 'O')
.replace(/ú/, 'u')
.replace(/Ú/, 'u');
}

return upsert(
'Attendance__c',
'CommCare_Ext_ID__c',
fields(
//field('Event__c', replaceAccents(dataValue('form.hidden_properties.intervention_name')(state))),
relationship('Event__r', 'CommCare_Ext_ID__c', dataValue('form.hidden_properties.intervention_name')),
relationship('Person_Attendance__r', 'Participant_Identification_Number_PID__c', dataValue('form.case.@case_id')),
// relationship('Person_Attendance__r','CommCare_Ext_ID__c', state => {
// return (
// dataValue('form.hidden_properties.participant_first_name')(state) +
// dataValue('form.hidden_properties.participant_surname')(state)
// )
// }),

field('CommCare_Ext_ID__c', state => {
return `${dataValue('form.case.@case_id')(state)}-${scrubEmojis(
replaceAccents(dataValue('form.hidden_properties.intervention_name')(state)),
''
).replace(/\//gi, '')}`;
}),

//field(
//'Person_Attendance__c',
// state =>
// dataValue('form.hidden_properties.participant_first_name')(state) +
// ' ' +
// dataValue('form.hidden_properties.participant_surname')(state)
//),
field('Gender__c', dataValue('form.hidden_properties.gender')),
field('Grade__c', state => {
const grade = dataValue('form.hidden_properties.grade')(state);
return grade ? grade.replace(/\D/g, '') : undefined;
}),
field('Class__c', dataValue('form.hidden_properties.class')),
field('Pre_Post_Completed__c', state => {
var done = dataValue('form.hidden_properties.pre_questionnaire_complete')(state);
return done === 'Yes' ? true : done === 'No' ? false : undefined;
}),
field('Date_Pre_Administered__c', dataValue('form.date')),
field('Pre_1__c', state => {
const value = dataValue(state.pluckSfValue('Pre_1__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Pre_2__c', state => {
if (state.pluckSfValue('Pre_2__c') == null) return undefined;
const value = dataValue(state.pluckSfValue('Pre_2__c'))(state);
return state.helperFunctions.transform(value);
}),

field('Pre_3__c', state => {
const value = dataValue(state.pluckSfValue('Pre_3__c'))(state);
return state.helperFunctions.transform(value);
}),

field('Pre_4__c', state => {
const value = dataValue(state.pluckSfValue('Pre_4__c'))(state);
return state.helperFunctions.transform(value);
}),

field('Pre_5__c', state => {
const value = dataValue(state.pluckSfValue('Pre_5__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Pre_6__c', state => {
const value = dataValue(state.pluckSfValue('Pre_6__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Pre_7__c', state => {
const value = dataValue(state.pluckSfValue('Pre_7__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Pre_8__c', state => {
const value = dataValue(state.pluckSfValue('Pre_8__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Pre_9__c', state => {
const value = dataValue(state.pluckSfValue('Pre_9__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Pre_10__c', state => {
if (state.pluckSfValue('Pre_10__c') == null) return undefined;
const value = dataValue(state.pluckSfValue('Pre_10__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Pre_11__c', state => {
if (state.pluckSfValue('Pre_11__c') == null) return undefined;
const value = dataValue(state.pluckSfValue('Pre_10__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Pre_12__c', state => {
if (state.pluckSfValue('Pre_12__c') == null) return undefined;
const value = dataValue(state.pluckSfValue('Pre_12__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Pre_13__c', state => {
if (state.pluckSfValue('Pre_13__c') == null) return undefined;
const value = dataValue(state.pluckSfValue('Pre_13__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Pre_14__c', state => {
if (state.pluckSfValue('Pre_14__c') == null) return undefined;
const value = dataValue(state.pluckSfValue('Pre_14__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Pre_15__c', state => {
if (state.pluckSfValue('Pre_15__c') == null) return undefined;
const value = dataValue(state.pluckSfValue('Pre_15__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Pre_16__c', state => {
if (state.pluckSfValue('Pre_16__c') == null) return undefined;
const value = dataValue(state.pluckSfValue('Pre_16__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Pre_17__c', state => {
if (state.pluckSfValue('Pre_17__c') == null) return undefined;
const value = dataValue(state.pluckSfValue('Pre_17__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Pre_18__c', state => {
if (state.pluckSfValue('Pre_18__c') == null) return undefined;
const value = dataValue(state.pluckSfValue('Pre_18__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Pre_19__c', state => {
if (state.pluckSfValue('Pre_19__c') == null) return undefined;
const value = dataValue(state.pluckSfValue('Pre_19__c'))(state);
return state.helperFunctions.transform(value);
}),
field('Pre_20__c', state => {
if (state.pluckSfValue('Pre_20__c') == null) return undefined;
const value = dataValue(state.pluckSfValue('Pre_20__c'))(state);
return state.helperFunctions.transform(value);
})
)
)(state);
});

//Removing mapping... need case_id to upsert Events. Date_of_Pre__c update should be handled on the SF side.
// upsert(
// 'Event__c',
// 'CommCare_Ext_ID__c',
// fields(
// field('CommCare_Ext_ID__c', dataValue('form.hidden_properties.intervention_name')),
// field('Date_of_Pre__c', dataValue('form.date')),

// )
// );

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Upsert-Register-Event-2021-04-30.html b/adaptors/library/jobs/auto/Upsert-Register-Event-2021-04-30.html index 79d3a75a1fc..581fff92b7e 100644 --- a/adaptors/library/jobs/auto/Upsert-Register-Event-2021-04-30.html +++ b/adaptors/library/jobs/auto/Upsert-Register-Event-2021-04-30.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Upsert Register Event

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

alterState, dataValue, field, fields, join, map, relationship, upsert

Expression

alterState((state) => {

function clean(str) {
if (!!str)
return str
.split('_')
.map(word => {
let new_word = word.toString().toLowerCase();
return new_word.slice(0, 1).toUpperCase() + new_word.slice(1);
})
.join(' ');
}

const coachFieldNames = ['Coach_A__r','Coach_B__r','Coach_C__r','Coach_D__r']

state.data.destinationCoachFields = state.data.form.event_information.coaches
.split(' ')
.reduce(
(accumulator, currentValue, currentIndex) => [
...accumulator,
(currentIndex < coachFieldNames.length && !!currentValue
? relationship(coachFieldNames[currentIndex], 'CommCare_Ext_ID__c', currentValue)
: []),
],
[]
);

const eventtype = state.data.form.event_information.event_type;

const recordtype = eventtype==='community_health_event' || eventtype==='soccer_tournament' ? 'Testing Event' : 'Malaria Testing Event';
console.log(recordtype)

state.data.recordtype = recordtype;

return state;
});

upsert(
'Event__c',
'CommCare_Case_ID__c',
state=>({
...fields(
field('Name', dataValue('form.event_information.Event_Name')),
relationship('RecordType', 'Name', dataValue('recordtype')),
field('CommCare_Ext_ID__c', state => {
var event = dataValue('form.event_information.Event_Name')(state);
return event ? event.replace(/\//gi, '') : event;
}),
field('CommCare_Case_ID__c', dataValue('form.case.@case_id')),
field('Business_Unit__c', state => {
const bu = dataValue('form.event_information.business_unit')(state);
return bu==='65680f0c4c144b03ad0f86bdc46c1ebc' ? 'GRS Zambia' :
bu==='04d98397e28046118fade28ced6b65cb' ? 'GRS Zimbabwe' :
bu==='ed125ab19ec34aacab79585e59eb76f4' ? 'GRS Partnerships': undefined ;
}),
relationship('Site__r','CommCare_Ext_ID__c', dataValue('form.event_information.site')),
relationship('Venue__r', 'CommCare_Ext_ID__c',dataValue('form.event_information.Venue')),
field('Date__c', dataValue('form.event_information.event_date')),
field('Event_Type__c', dataValue('recordtype')),
field('Testing_Event_Type__c', state => {
const type = dataValue('form.event_information.event_type')(state);
return type.includes('malaria') ? 'Malaria Testing Event (General Event)' : 'Other';
}),
field('Coordinator__c', dataValue('form.event_information.event_coordinator')),
),
...fields(...state.data.destinationCoachFields)
})
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Upsert-Register-Participant-2021-04-28.html b/adaptors/library/jobs/auto/Upsert-Register-Participant-2021-04-28.html index 2c11e4e1b84..a625a977814 100644 --- a/adaptors/library/jobs/auto/Upsert-Register-Participant-2021-04-28.html +++ b/adaptors/library/jobs/auto/Upsert-Register-Participant-2021-04-28.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Upsert Register Participant

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataPath, dataValue, each, field, fields, lastReferenceValue, map, merge, query, relationship, upsert, Array

Expression

query(
`SELECT Id, Name, CommCare_Ext_ID__c FROM Event__c WHERE CommCare_Case_ID__c = '${state.data.form.case['@case_id']}'`
);

fn(state => {
// Note: lastReferenceValue selects the first item in the references array.
state.data.eventName = lastReferenceValue('records[0].CommCare_Ext_ID__c')(state);
state.data.eventCase = dataValue('form.case.@case_id')(state);

function replaceAccents(input) {
return input
.replace(/á|â|ã|à/, 'a')
.replace(/Á|Â|Ã|À/, 'A')
.replace(/ç/, 'c')
.replace(/é|ê/, 'e')
.replace(/É|Ê/, 'E')
.replace(/í/, 'i')
.replace(/Í/, 'I')
.replace(/ó|ô|õ/, 'o')
.replace(/Ó|Ô|Õ/, 'O')
.replace(/ú/, 'u')
.replace(/Ú/, 'u');
}

function objectToArray(object) {
return !Array.isArray(object) ? [object] : object;
}

const { form } = state.data;
if (form.question1) {
console.log('Ensuring that "question1" is an array.');
form.question1 = objectToArray(form.question1);
} else if (!form.new_participants) {
console.log('Nothing to upsert. No participants were registered');
} else {
console.log('Shifting "new_participants" to "question1" array.');
form.question1 = objectToArray(form.new_participants);
console.log('Creating a "case" object inside each item in that array.');
form.question1 = form.question1.map(item => ({
...item,
case: item.create_skillz_plus_participant.case,
}));
}

console.log('Done with initial data manipulation.');
const persons = merge(
dataPath('form.question1[*]'),
fields(field('intervention_notes_to_save', dataValue('form.intervention_notes_to_save')))
)(state);

const attendances = merge(
dataPath('form.question1[*]'),
fields(
field('intervention_name', dataValue('form.intervention_name')),
field('eventCase', dataValue('eventCase')),
field('eventName', dataValue('eventName'))
)
)(state);

return { ...state, persons, attendances, replaceAccents };
});

each(
'persons[*]',
upsert(
'Person__c',
'Participant_Identification_Number_PID__c',
fields(
field('Notes__c', dataValue('intervention_notes_to_save')),
field('First_Name__c', dataValue('participant_first_name')),
field('Surname__c', dataValue('participant_surname')),
relationship('RecordType', 'Name', 'Participant'),
relationship('Site__r', 'CommCare_Ext_ID__c', dataValue('grp_location.site_id')),
field('Participant_Identification_Number_PID__c', state => state.data.case['@case_id']),
field('Sex__c', dataValue('gender')),
field('Mobile_Number_1__c', dataValue('mobile_number')), //QUESTION: In CommCare, phone doesn't look like it's saving?
field('School_name_person__c', dataValue('school_name')),
field('Date_of_Birth__c', dataValue('date_of_birth')),
field('School_name_person__c', dataValue('school_name')),
field('Physical_Address__c', dataValue('participants_home_address'))
//field('Age__c', dataValue('form.question1.age_in_years')), //This is a SF formula field, cannot map
)
)
);

each(
'attendances[*]',
upsert(
'Attendance__c',
'CommCare_Ext_ID__c',
fields(
field('CommCare_Ext_ID__c', state => {
const eventid = state.replaceAccents(`${state.data.intervention_name}` || `${state.data.eventName}`); //dataValue('intervention_name')(state) || `${state.data.eventName}`;
const personid = state.data.case['@case_id'];
const value = personid + '-' + eventid.replace(/\//gi, '');
return scrubEmojis(value, '');
}),
relationship(
//Attendance looks up to Persn via the case_id
'Person_Attendance__r',
'Participant_Identification_Number_PID__c',
state => state.data.case['@case_id']
),
relationship(
//Attendance looks up to Event via the Event case_id
'Event__r',
'CommCare_Case_ID__c',
state => `${state.data.eventCase}`
),
// relationship(
// //Attendance looks up to Event via the intervention_name
// 'Event__r',
// 'CommCare_Ext_ID__c',
// state => `${state.data.intervention_name}` || `${state.data.eventName}`
// ),
field('Date_of_Birth__c', dataValue('date_of_birth'))
)
)
);

//First we insert Person record
// fn(state => {
// return upsert(
// 'Person__c',
// 'Participant_Identification_Number_PID__c',
// fields(
// field('Notes__c', dataValue('form.intervention_notes_to_save')),
// field('First_Name__c', dataValue('form.question1.participant_first_name')),
// field('Surname__c', dataValue('form.question1.participant_surname')),
// relationship('RecordType', 'Name', 'Participant'),
// field('Participant_Identification_Number_PID__c', state => state.data.case['@case_id']),
// field('Sex__c', dataValue('form.question1.gender')),
// //field('Age__c', dataValue('form.question1.age_in_years')), //This is a SF formula field, cannot map
// field('Mobile_Number_1__c', dataValue('form.question1.mobile_number')),
// field('School_name_person__c', dataValue('form.question1.school_name'))
// )
// )(state);
// });

// fn(state => {
// //Then we upsert related Attendance records
// return upsert(
// 'Attendance__c',
// 'CommCare_Ext_ID__c',
// fields(
// field('CommCare_Ext_ID__c', state => {
// var eventid = dataValue('form.intervention_name')(state);
// var personid = dataValue('form.case.@case_id')(state);
// return personid + '-' + eventid;
// }),
// relationship(
// //Attendance looks up to Persn via the case_id
// 'Person_Attendance__r',
// 'Participant_Identification_Number_PID__c',
// dataValue('form.case.@case_id')
// ),
// relationship(
// //Attendance looks up to Event via the intervention_name
// 'Event__r',
// 'Name',
// dataValue('form.intervention_name')
// ),
// field('Date_of_Birth__c', dataValue('form.question1.date_of_birth'))
// )
// )(state);
// });

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Upsert-Register-Participant-Skillz-2021-08-30.html b/adaptors/library/jobs/auto/Upsert-Register-Participant-Skillz-2021-08-30.html index d2bd95a8f9b..4cfc77264a2 100644 --- a/adaptors/library/jobs/auto/Upsert-Register-Participant-Skillz-2021-08-30.html +++ b/adaptors/library/jobs/auto/Upsert-Register-Participant-Skillz-2021-08-30.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Upsert Register Participant (Skillz)

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataPath, dataValue, each, field, fields, lastReferenceValue, map, merge, query, relationship, upsert, Array

Expression

query(
`SELECT Id, Name, CommCare_Ext_ID__c FROM Event__c WHERE CommCare_Case_ID__c = '${state.data.form.case['@case_id']}'`
);

fn(state => {
// Note: lastReferenceValue selects the first item in the references array.
state.data.eventName = lastReferenceValue('records[0].CommCare_Ext_ID__c')(state);
state.data.eventCase = dataValue('form.case.@case_id')(state);

function replaceAccents(input) {
return input
.replace(/á|â|ã|à/, 'a')
.replace(/Á|Â|Ã|À/, 'A')
.replace(/ç/, 'c')
.replace(/é|ê/, 'e')
.replace(/É|Ê/, 'E')
.replace(/í/, 'i')
.replace(/Í/, 'I')
.replace(/ó|ô|õ/, 'o')
.replace(/Ó|Ô|Õ/, 'O')
.replace(/ú/, 'u')
.replace(/Ú/, 'u');
}

function objectToArray(object) {
return !Array.isArray(object) ? [object] : object;
}

const { form } = state.data;
if (form.question1) {
console.log('Ensuring that "question1" is an array.');
form.question1 = objectToArray(form.question1);
} else if (!form.new_participants) {
console.log('Nothing to upsert. No participants were registered');
} else {
console.log('Shifting "new_participants" to "question1" array.');
form.question1 = objectToArray(form.new_participants);
console.log('Creating a "case" object inside each item in that array.');
form.question1 = form.question1.map(item => ({
...item,
case: item.create_skillz_plus_participant.case,
}));
}

console.log('Done with initial data manipulation.');
const persons = merge(
dataPath('form.question1[*]'),
fields(field('intervention_notes_to_save', dataValue('form.intervention_notes_to_save')))
)(state);

const attendances = merge(
dataPath('form.question1[*]'),
fields(
field('intervention_name', dataValue('form.intervention_name')),
field('eventCase', dataValue('eventCase')),
field('eventName', dataValue('eventName'))
)
)(state);

return { ...state, persons, attendances, replaceAccents };
});

each(
'persons[*]',
upsert(
'Person__c',
'Participant_Identification_Number_PID__c',
fields(
field('Notes__c', dataValue('intervention_notes_to_save')),
field('First_Name__c', dataValue('participant_first_name')),
field('Surname__c', dataValue('participant_surname')),
relationship('RecordType', 'Name', 'Participant'),
relationship('Site__r', 'CommCare_Ext_ID__c', dataValue('grp_location.site_id')),
field('Participant_Identification_Number_PID__c', state => state.data.case['@case_id']),
field('Sex__c', dataValue('gender')),
field('Mobile_Number_1__c', dataValue('mobile_number')), //QUESTION: In CommCare, phone doesn't look like it's saving?
field('School_name_person__c', dataValue('school_name')),
field('Date_of_Birth__c', dataValue('date_of_birth')),
field('School_name_person__c', dataValue('school_name')),
field('Physical_Address__c', dataValue('participants_home_address'))
//field('Age__c', dataValue('form.question1.age_in_years')), //This is a SF formula field, cannot map
)
)
);

each(
'attendances[*]',
upsert(
'Attendance__c',
'CommCare_Ext_ID__c',
fields(
field('CommCare_Ext_ID__c', state => {
const eventid = state.replaceAccents(`${state.data.intervention_name}` || `${state.data.eventName}`); //dataValue('intervention_name')(state) || `${state.data.eventName}`;
const personid = state.data.case['@case_id'];
const value = personid + '-' + eventid.replace(/\//gi, '');
return scrubEmojis(value, '');
}),
relationship(
//Attendance looks up to Persn via the case_id
'Person_Attendance__r',
'Participant_Identification_Number_PID__c',
state => state.data.case['@case_id']
),
relationship(
//Attendance looks up to Event via the Event case_id
'Event__r',
'CommCare_Case_ID__c',
state => `${state.data.eventCase}`
),
// relationship(
// //Attendance looks up to Event via the intervention_name
// 'Event__r',
// 'CommCare_Ext_ID__c',
// state => `${state.data.intervention_name}` || `${state.data.eventName}`
// ),
field('Date_of_Birth__c', dataValue('date_of_birth'))
)
)
);

//First we insert Person record
// fn(state => {
// return upsert(
// 'Person__c',
// 'Participant_Identification_Number_PID__c',
// fields(
// field('Notes__c', dataValue('form.intervention_notes_to_save')),
// field('First_Name__c', dataValue('form.question1.participant_first_name')),
// field('Surname__c', dataValue('form.question1.participant_surname')),
// relationship('RecordType', 'Name', 'Participant'),
// field('Participant_Identification_Number_PID__c', state => state.data.case['@case_id']),
// field('Sex__c', dataValue('form.question1.gender')),
// //field('Age__c', dataValue('form.question1.age_in_years')), //This is a SF formula field, cannot map
// field('Mobile_Number_1__c', dataValue('form.question1.mobile_number')),
// field('School_name_person__c', dataValue('form.question1.school_name'))
// )
// )(state);
// });

// fn(state => {
// //Then we upsert related Attendance records
// return upsert(
// 'Attendance__c',
// 'CommCare_Ext_ID__c',
// fields(
// field('CommCare_Ext_ID__c', state => {
// var eventid = dataValue('form.intervention_name')(state);
// var personid = dataValue('form.case.@case_id')(state);
// return personid + '-' + eventid;
// }),
// relationship(
// //Attendance looks up to Persn via the case_id
// 'Person_Attendance__r',
// 'Participant_Identification_Number_PID__c',
// dataValue('form.case.@case_id')
// ),
// relationship(
// //Attendance looks up to Event via the intervention_name
// 'Event__r',
// 'Name',
// dataValue('form.intervention_name')
// ),
// field('Date_of_Birth__c', dataValue('form.question1.date_of_birth'))
// )
// )(state);
// });

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Upsert-Register-Skills-plus-Club-2021-04-30.html b/adaptors/library/jobs/auto/Upsert-Register-Skills-plus-Club-2021-04-30.html index 4eb0b453478..abe1f4dc48d 100644 --- a/adaptors/library/jobs/auto/Upsert-Register-Skills-plus-Club-2021-04-30.html +++ b/adaptors/library/jobs/auto/Upsert-Register-Skills-plus-Club-2021-04-30.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Upsert Register Skills plus Club

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

alterState, dataValue, field, fields, join, map, relationship, upsert

Expression

// push to production
alterState((state) => {

function clean(str) {
if (!!str)
return str
.split('_')
.map(word => {
let new_word = word.toString().toLowerCase();
return new_word.slice(0, 1).toUpperCase() + new_word.slice(1);
})
.join(' ');
}

const coachFieldNames = ['Coach_A__r','Coach_B__r','Coach_C__r','Coach_D__r']

state.data.destinationCoachFields = state.data.form.coaches
.split(' ')
.reduce(
(accumulator, currentValue, currentIndex) => [
...accumulator,
(currentIndex < coachFieldNames.length && !!currentValue
? relationship(coachFieldNames[currentIndex], 'CommCare_Ext_ID__c', currentValue)
: []),
],
[]
);

return state;
});



upsert(
'Event__c',
'CommCare_Case_ID__c',
state=>({
...fields(
field('Name', dataValue('form.name_of_skillz_plus_club')),
field('CommCare_Ext_ID__c', dataValue('form.name_of_skillz_plus_club')),
field('CommCare_Case_ID__c', dataValue('form.case.@case_id')),
relationship('RecordType', 'Name', 'Intervention'),
relationship('Site__r', 'CommCare_Ext_ID__c', dataValue('form.skillz_plus_site')),
relationship('Venue__r', 'CommCare_Ext_ID__c', dataValue('form.skillz_plus_venue')),
),
...fields(...state.data.destinationCoachFields)
})
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Upsert-Risk-Vulnerability-Assessment-Service-Referral-2021-05-25.html b/adaptors/library/jobs/auto/Upsert-Risk-Vulnerability-Assessment-Service-Referral-2021-05-25.html index 4b014f96f51..5442049846d 100644 --- a/adaptors/library/jobs/auto/Upsert-Risk-Vulnerability-Assessment-Service-Referral-2021-05-25.html +++ b/adaptors/library/jobs/auto/Upsert-Risk-Vulnerability-Assessment-Service-Referral-2021-05-25.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Upsert Risk & Vulnerability Assessment | Service Referral

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: Upsert Risk & Vulnerability Assessment | Service Referral
  • Adaptor: @openfn/language-salesforce
  • Adaptor Version: v2.7.4
  • Created over 2 years ago
  • Updated over 1 year ago
  • Score: 3 (an indicator of how useful this job may be)

Key Functions

alterState, dataValue, field, fields, join, map, relationship, upsertIf, Array

Expression

// Your job goes here.
alterState(state => {
function split(str, separator) {
if (!str) {
return [];
} else {
return str.toString().split(separator);
}
}
function checked(key, str) {
if (!str) return false;
return split(str.toString(), ' ').indexOf(key) >= 0;
}

function capitalizeFirstLetter(str) {
if (!str) return;
let new_str = str.toString().toLowerCase();
return new_str.slice(0, 1).toUpperCase() + new_str.slice(1);
}

function transformDont(str) {
if (!str) return str;
return split(str.toString(), '_')
.map(word => word.replace(/dont/i, "don't"))
.join('_')
.toString()
.trim();
}

function transformCant(str) {
if (!str) return str;
return split(str.toString(), '_')
.map(word => word.replace(/cant/i, "can't"))
.join('_')
.toString()
.trim();
}

function splitAndJoin(str, splitDelimiter, joinDelimiter) {
if (!str) return;

return split(str.toString(), splitDelimiter).join(joinDelimiter).toString().trim();
}

function transformHowOften(str) {
if (!str) return;
if (str === 'special_occasions') return 'Special Occasions';
if (str === 'no_dont_want_to_disclose') return "Don't want to disclose";
if (str === 'dont_want_to_disclose') return "Don't want to disclose";
return transformGenericText(str).toString().trim();
}

function transformHIVStatus(status) {
switch (status) {
case 'yes_negative':
return 'Yes,Negative';
case 'yes_positive':
return 'Yes,Positive';
case 'no_i_dont':
return "No,I don't know";
case 'yes_dont_want_to_disclose':
return "Yes, don't want to disclose";
default:
return;
}
}

function transformLastTested(str) {
if (!str) return;
switch (str.toString()) {
case 'yes_negative':
return 'Yes,Negative';
case 'yes_positive':
return 'Yes,Positive';
case 'no_i_dont':
return "No,I don't know";
case 'yes_dont_want_to_disclose':
return "Yes, don't want to disclose";
default:
return;
}
}

function transformMonthAgo(str) {
if (!str) return;
switch (str) {
case 'month_ago':
return '1 month ago';
case 'months_ago':
return '3 months ago';
case 'month_ago':
return 'copy-1-of-months_ago ';
case 'month_ago':
return '6 months ago';
case 'a_year_or_more_ago':
return 'A year or more';
default:
return;
}
}

function transformGenericText(str) {
if (!str) return;
return capitalizeFirstLetter(splitAndJoin(transformDont(str), '_', ' '))
.toString()
.trim();
}

function transformRange(range) {
if (!range) return;
return range
.toString()
.replace(/\d_\d/i, match => match.replace('_', '-'))
.toString()
.trim();
}

function transformAgeRange(range) {
if (!range) return;
if (range === '10_years') return '< 10 years';
if (range === 'greater_than_19') return '> 19 years';
return capitalizeFirstLetter(transformDont(transformCant(splitAndJoin(transformRange(range), '_', ' '))))
.toString()
.trim();
}

function transformAbuseExperienced(str) {
if (!str) return;
return split(str, ' ')
.map(word => capitalizeFirstLetter(word))
.join(';')
.toString()
.trim();
}

function getAge(dateString) {
if (!dateString) return;

const today = new Date();
const birthDate = new Date(dateString);
var age = today.getFullYear() - birthDate.getFullYear();
var m = today.getMonth() - birthDate.getMonth();
if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
age--;
}
return age;
}

state.data.perform_a_risk_assessment = state.data.form.do_you_want_to_perform_a_risk_assessment === 'yes';

state.data.complete_service_referrals = state.data.form.referral_services ? true : false;

state.data.form.client_information.gender = capitalizeFirstLetter(state.data.form.client_information.gender);

state.helperFunctions = {
split,
checked,
transformAgeRange,
transformHIVStatus,
transformLastTested,
transformMonthAgo,
transformGenericText,
transformDont,
splitAndJoin,
transformHowOften,
transformAbuseExperienced,
getAge,
};
return state;
});

upsertIf(
dataValue('perform_a_risk_assessment'),
'Risk_Assessment__c',
'CommCare_Ext_ID__c',
fields(
field('CommCare_Ext_ID__c', dataValue('id')),
field('Date__c', dataValue('form.risk_assessment.date')),
field('Participant_Name__c', dataValue('form.client_information.participant_full_name')),
field('Participant_Age__c', state => {
const dob = dataValue('form.client_information.date_of_birth')(state);

return state.helperFunctions.getAge(dob);
}),
relationship('Site2__r', 'CommCare_Ext_ID__c', dataValue('form.client_information.site')),

relationship('Venue__r', 'CommCare_Ext_ID__c', dataValue('form.client_information.venue')),

field('Participant_Sex__c', dataValue('form.client_information.gender')),
field('X1_0_Sexually_Active_past_12_month__c', state =>
state.helperFunctions.transformGenericText(
dataValue('form.risk_assessment.sexual_risk_and_pregnancy.sexually_active_12_months')(state)
)
),
field('X1_1_Age_at_first_sex__c', state =>
state.helperFunctions.transformAgeRange(
dataValue('form.risk_assessment.sexual_risk_and_pregnancy.age_at_first_sex')(state)
)
),
field('X1_2_Have_you_ever_had_unprotected_sex__c', state =>
state.helperFunctions.transformGenericText(
dataValue('form.risk_assessment.sexual_risk_and_pregnancy.have_you_ever_had_unprotected_sex')(state)
)
),
field('X1_3_Sex_for_monetary_or_material_benefi__c', state =>
state.helperFunctions.transformGenericText(
dataValue('form.risk_assessment.sexual_risk_and_pregnancy.sex_monetary_material')(state)
)
),
field('Do_you_know_your_HIV_status__c', state =>
state.helperFunctions.transformHIVStatus(
dataValue('form.risk_assessment.hiv_status.do_you_know_your_hiv_status')(state)
)
),
field('X2_1_When_last_did_you_test_for_HIV__c', state =>
state.helperFunctions.transformMonthAgo(
dataValue('form.risk_assessment.hiv_status.when_last_did_you_test_for_hiv')(state)
)
),
field('X2_2_Are_you_on_treatment_ART__c', state =>
state.helperFunctions.transformGenericText(
dataValue('form.risk_assessment.hiv_status.are_you_on_treatment_art')(state)
)
),
field('X3_0_Had_an_STI_in_the_last_12months_yea__c', state =>
state.helperFunctions.transformHowOften(dataValue('form.risk_assessment.sti_and_pep.hiv_last_12_months')(state))
),
field('X3_1_Past_12_months_sex_HIV_status_part__c', state =>
state.helperFunctions.transformGenericText(
dataValue('form.risk_assessment.sti_and_pep.knowing_partners_hiv_status')(state)
)
),
field('X4_0_Forms_of_abuse_experienced_before__c', state => {
const abusesArray = state.helperFunctions.split(
dataValue('form.risk_assessment.gender_based_violence.abuse_experienced')(state),
' '
);
const abuses = [];
abusesArray.forEach(ab => {
abuses.push(state.helperFunctions.transformGenericText(ab));
});
return abuses.join(';');
}),
field('X4_1_Feel_unsafe_any1_interact_with_ofte__c', state =>
state.helperFunctions.transformGenericText(
dataValue('form.risk_assessment.gender_based_violence.unsafe_with_others')(state)
)
),
field('X4_2_Of_what_relationship_person_to_you__c', state =>
state.helperFunctions.transformGenericText(
dataValue('form.risk_assessment.gender_based_violence.relationship_of_abuser')(state)
)
),
field('X5_0_Do_you_take_alcohol_or_drugs__c', state =>
state.helperFunctions.transformGenericText(
dataValue('form.risk_assessment.drugs_and_alcohol_use.do_you_take_alcohol_andor_drugs')(state)
)
),
field('X5_1_On_average_how_often_drink_alcohol__c', state =>
state.helperFunctions.transformHowOften(
dataValue('form.risk_assessment.drugs_and_alcohol_use.how_often_alcohol')(state)
)
),
field('X5_2_On_average_how_often_take_drugs__c', state =>
state.helperFunctions.transformHowOften(
dataValue('form.risk_assessment.drugs_and_alcohol_use.how_often_drugs')(state)
)
),
field('X5_3_Easy_for_teens_to_obtain_alcohol__c', state =>
state.helperFunctions.transformGenericText(
dataValue('form.risk_assessment.drugs_and_alcohol_use.alcohol_19')(state)
)
),
field('X5_4__c', state =>
state.helperFunctions.transformGenericText(
dataValue('form.risk_assessment.drugs_and_alcohol_use.illegal_drugs_19')(state)
)
)
)
);

fn(state => {
state.data.intervention_name = state.data.form.client_information.intervention_name
? [relationship('Event__r', 'CommCare_Ext_ID__c', dataValue('form.client_information.intervention_name'))]
: [];

return state;
});

upsertIf(dataValue('complete_service_referrals'), 'NewReferral__c', 'CommCare_Ext_ID__c', state => ({
...fields(
field('CommCare_Ext_ID__c', state => {
if (state.data.form.subcase_0.case) return state.data.form.subcase_0.case['@case_id'];
else if (state.data.form.referral_services) {
if (state.data.form.referral_services.art_support_services.skillz_plus_club_details)
return state.data.form.referral_services.art_support_services.skillz_plus_club_details
.create_skillz_plus_club_participant_case.case['@case_id'];
}
return undefined;
}),
field('Participants_Full_Name__c', dataValue('form.client_information.participant_full_name')),
field('Service_Provider_Name__c', dataValue('form.client_information.coach_name')),
field('Parent_Guardian_Full_Name__c', dataValue('form.parent__guardian_information.parent__guardian_full_name')),
field('Relationship__c', dataValue('form.parent__guardian_information.relationship_to_client')),
//field('', dataValue('form.parent__guardian_information.please_specify')),
field('Parent_Guardian_Contact_Number__c', dataValue('form.parent__guardian_information.contact_number')),
//field('', dataValue('form.parent__guardian_information.guardian_consent')),
field('Institution_Referred_To_1__c', dataValue('form.referral_information.institution_referred_to')),
field('Institution_Referred_To_2__c', dataValue('form.referral_information.copy-1-of-institution_referred_to')),
field('Institution_Referred_To_3__c', dataValue('form.referral_information.copy-2-of-institution_referred_to')),
field('HIV_Testing_Services_GRS_Staff__c', state =>
state.helperFunctions.checked(
'hiv_testing_services',
dataValue('form.referral_services.hiv_support__care.check_the_services_that_client_was_referred_to')(state)
)
),
field('HIV_Other__c', dataValue('form.referral_services.hiv_support__care.please_specify')),
field('ART_Initiation_GRS_Staff__c', state =>
state.helperFunctions.checked(
'art_initiationenrollment',
dataValue('form.referral_services.art_support_services.check_the_services_that_client_was_referred_to')(state)
)
),
field('SKILLZ_Plus_Club_Support_GRS_Staff__c', state =>
state.helperFunctions.checked(
'grs_skillz_plus_club',
dataValue('form.referral_services.art_support_services.skillz_plus_club_option')(state)
)
),
field('PMTCT_GRS_Staff__c', state =>
state.helperFunctions.checked(
'pmtct',
dataValue('form.referral_services.art_support_services.check_the_services_that_client_was_referred_to')(state)
)
),
field('VMMC_GRS_Staff__c', state =>
state.helperFunctions.checked(
'vmmc',
dataValue('form.referral_services.hiv_support__care.check_the_services_that_client_was_referred_to')(state)
)
),
field('TB_Screening_GRS_Staff__c', state =>
state.helperFunctions.checked(
'tb_screening_treatment_adherence',
dataValue('form.referral_services.hiv_support__care.check_the_services_that_client_was_referred_to')(state)
)
),
field('Legal_Other__c', dataValue('form.referral_services.legal_services.please_specify_other_legal')),
field('Post_Exposure_Prophylaxis_GRS_Staff__c', state =>
state.helperFunctions.checked(
'post_exposure_prophylaxis',
dataValue('form.referral_services.hiv_support__care.check_the_services_that_client_was_referred_to')(state)
)
),
field('PrEP_GRS_Staff__c', state =>
state.helperFunctions.checked(
'prep',
dataValue('form.referral_services.hiv_support__care.check_the_services_that_client_was_referred_to')(state)
)
),
field('HIV_STI_PREVENTION_Other_GRS_Staff__c', state =>
state.helperFunctions.checked(
'other',
dataValue('form.referral_services.hiv_support__care.check_the_services_that_client_was_referred_to')(state)
)
),
field('HIV_Other__c', dataValue('form.referral_services.hiv_support__care.please_specify')),
field(
'Victim_Friendly_Services_GRS_Staff__c',
state =>
state.helperFunctions.checked(
'suspected_abuse_reported_police_court_other_authority',
dataValue(
'form.referral_services.child_protection_support_services.check_the_services_that_client_was_referred_to'
)(state)
) ||
state.helperFunctions.checked(
'post_violence_care_medical_legal_counseling',
dataValue(
'form.referral_services.child_protection_support_services.check_the_services_that_client_was_referred_to'
)(state)
) ||
state.helperFunctions.checked(
'child_support_grant_social_foster_general_support',
dataValue(
'form.referral_services.child_protection_support_services.check_the_services_that_client_was_referred_to'
)(state)
) ||
state.helperFunctions.checked(
'other',
dataValue(
'form.referral_services.child_protection_support_services.check_the_services_that_client_was_referred_to'
)(state)
)
),

field('Sexual_and_GBV_Abuse_GRS_Staff__c', state =>
state.helperFunctions.checked(
'sexual__gender-based_violenceabus',
dataValue('form.referral_services.other_srhr_services.check_the_services_that_client_was_referred_to')(state)
)
),

// field('missing in SF', dataValue('form.referral_services.child_protection_support_services.type_of_post_violence_care')),
// field('missing in SF', dataValue('form.referral_services.child_protection_support_services.child_support_grant_for')),
field(
'Legal_Services_Other_GRS_Staff__c',
state =>
state.helperFunctions.checked(
'other',
dataValue('form.referral_services.legal_services.legal_services')(state)
) ||
state.helperFunctions.checked('id', dataValue('form.referral_services.legal_services.legal_services')(state)) ||
state.helperFunctions.checked(
'birth_bertificate',
dataValue('form.referral_services.legal_services.legal_services')(state)
)
),
field('Legal_Other__c', dataValue('form.referral_services.legal_services.please_specify_other_legal')),
field('IPTG_Health_Facility__c', state =>
state.helperFunctions.checked(
'iptg_to_health_facility',
dataValue('form.referral_services.mental_health_services.mental_health_select_services')
)
),
field('IPTG_Specialized_to_SMZ__c', state =>
state.helperFunctions.checked(
'iptg_specialised_to_smz',
dataValue('form.referral_services.mental_health_services.mental_health_select_services')
)
),
field('STI_Screen_Testing_GRS_Staff__c', state =>
state.helperFunctions.checked(
'sti_screening_diagnosis_treatment',
dataValue('form.referral_services.other_srhr_services.check_the_services_that_client_was_referred_to')(state)
)
),
field('Contraception_Family_Plan_GRS_Staff__c', state =>
state.helperFunctions.checked(
'contraceptivesfamily_planning',
dataValue('form.referral_services.other_srhr_services.check_the_services_that_client_was_referred_to')(state)
)
),
field('Cervical_Cancer_Screening_GRS_Staff__c', state =>
state.helperFunctions.checked(
'cervical_cancer_screening',
dataValue('form.referral_services.other_srhr_services.check_the_services_that_client_was_referred_to')(state)
)
),
field('HPV_vaccine_GRS_Staff__c', state =>
state.helperFunctions.checked(
'hpv',
dataValue('form.referral_services.other_srhr_services.check_the_services_that_client_was_referred_to')(state)
)
),
field('Antenatal_Care_ANC_GRS_Staff__c', state =>
state.helperFunctions.checked(
'antenatal_care_anc',
dataValue('form.referral_services.other_srhr_services.check_the_services_that_client_was_referred_to')(state)
)
),

field(
'Psycho_Social_Support_GRS_Staff__c',
state =>
state.helperFunctions.checked(
'drug_or_alcohol_abuse',
dataValue('form.referral_services.other_srhr_services.check_the_services_that_client_was_referred_to')(state)
) ||
state.helperFunctions.checked(
'psychiatric_careintensive_counseling',
dataValue('form.referral_services.other_srhr_services.check_the_services_that_client_was_referred_to')(state)
) ||
state.helperFunctions.checked(
'psychosocial_support',
dataValue('form.referral_services.other_srhr_services.check_the_services_that_client_was_referred_to')(state)
)
),
field('Psycho_Social_Services_Other_GRS_Staff__c', state =>
state.helperFunctions.checked(
'other',
dataValue('form.referral_services.other_srhr_services.check_the_services_that_client_was_referred_to')(state)
)
),
field('Psycho_Other__c', dataValue('form.referral_services.other_srhr_services.please_specify_srhr_referred')),

field('Date_Referred__c', dataValue('form.follow-up.date_referred')),
field('Expected_Visit_Date__c', dataValue('form.follow-up.expected_visit_date')),
field('Client_Follow_up_Consent_given__c', state =>
state.helperFunctions.checked('client_follow-up_consent_given', dataValue('form.follow-up.select')(state))
),
field('Client_Linked_to_care__c', state =>
state.helperFunctions.checked('client_linked_to_care', dataValue('form.follow-up.select')(state))
),

field('Business_Unit_Site__c', state => {
const bu = dataValue('form.client_information.business_unit')(state);
return bu === '65680f0c4c144b03ad0f86bdc46c1ebc'
? 'GRS Zambia'
: bu === '04d98397e28046118fade28ced6b65cb'
? 'GRS Zimbabwe'
: bu === 'ed125ab19ec34aacab79585e59eb76f4'
? 'GRS Partnerships'
: undefined;
})
),
...fields(...state.data.intervention_name),
}));

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Upsert-Service-Referral-2-2021-06-14.html b/adaptors/library/jobs/auto/Upsert-Service-Referral-2-2021-06-14.html index 671f5034f44..08a73893fab 100644 --- a/adaptors/library/jobs/auto/Upsert-Service-Referral-2-2021-06-14.html +++ b/adaptors/library/jobs/auto/Upsert-Service-Referral-2-2021-06-14.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Upsert Service Referral 2

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

alterState, dataValue, field, fields, upsert

Expression

// push to production
alterState(state => {
state.data.external_commcare_id = (
dataValue('form.hidden_properties.intervention_name')(state) +
dataValue('form.hidden_properties.participant_first_name')(state) +
dataValue('form.hidden_properties.participant_surname')(state)
)
.toString()
.toLowerCase()
.replace(/\s/g, '')
.trim();

return state;
});

upsert(
'NewReferral__c',
'CommCare_Ext_ID__c',
fields(
field('Business_Unit_Site__c', state => {
const bu = dataValue('form.business_unit')(state);
return bu === 'X' ? 'GRS Zambia' : bu;
}),
field('CommCare_Ext_ID__c', dataValue('form.case.@case_id')),
field('HIV_Testing_Services_Service_Provider__c', state =>
Boolean(
dataValue('form.referral_services.hiv_support__care.check_services_label.hiv_support_care_option1')(state)
)
),
field('TB_Screening_Service_Provider__c', state =>
Boolean(
dataValue('form.referral_services.hiv_support__care.check_services_label.hiv_support_care_option2')(state)
)
),
field('VMMC_Service_Provider__c', state =>
Boolean(
dataValue('form.referral_services.hiv_support__care.check_services_label.hiv_support_care_option3')(state)
)
),
field('Post_Exposure_Prophylaxis_Service_Provid__c', state =>
Boolean(
dataValue(
'form.referral_services.hiv_support__care.check_services_label.hiv_support_care_option4'
)(state)
)
),
field('PrEP_Service_Provider__c', state =>
Boolean(
dataValue(
'form.referral_services.hiv_support__care.check_services_label.hiv_support_care_option5'
)(state)
)
),
field('HIV_STI_PREVENTION_Other_Service_Provid__c', state =>
Boolean(
dataValue(
'form.referral_services.hiv_support__care.check_services_label.hiv_support_care_option6'
)(state)
)
),
field('ART_Initiation_Service_Provider__c', state =>
Boolean(
dataValue('form.referral_services.art_support_services.art_services_group.art_services_option1')(
state
)
)
),
field('SKILLZ_Plus_Club_Support_Service_Provid__c', state =>
Boolean(
dataValue('form.referral_services.art_support_services.art_services_group.art_services_option2')(
state
)
)
),

field(
'PMTCT_Service_Provider__c',
state =>
Boolean(
dataValue('form.referral_services.art_support_services.art_services_group.art_services_option3')(
state
)
)
),
field('IPTG_Health_Facility__c', state =>
Boolean(
dataValue('form.referral_services.mental_health_services.confirmation_of_services_provided_label.mental_health_select_services_option1')(
state
)
)
),
field('IPTG_Specialized_to_SMZ__c', state =>
Boolean(
dataValue('form.referral_services.mental_health_services.confirmation_of_services_provided_label.mental_health_select_services_option2')(
state
)
)
),

field('ART_Services_Other_Service_Provider__c', state =>
Boolean(
dataValue('form.referral_services.art_support_services.referred_art_support_services')(state)
)
),
field(
'Victim_Friendly_Services_Service_Provide__c',
state =>
Boolean(
dataValue(
'form.referral_services.child_protection_support_services.copy-1-of-check_the_services_that_were_provided.child_protection_option1'
)(state)
) ||
Boolean(
dataValue(
'form.referral_services.child_protection_support_services.copy-1-of-check_the_services_that_were_provided.child_protection_option2'
)(state)
) ||
Boolean(
dataValue(
'form.referral_services.child_protection_support_services.copy-1-of-check_the_services_that_were_provided.child_protection_option3'
)(state)
)
),
field('Legal_Services_Other_Service_Provider__c', state =>
Boolean(
dataValue(
'form.referral_services.other_legal_services.confirmation_of_services_provided_label.legal_services_option3'
)(state)
)
),

field('STI_Screen_Testing_Service_Provider__c', state =>
Boolean(dataValue('form.referral_services.other_srhr_services.service_label.srhr_option1')(state))
),

field('Contraception_Family_Plan_Servi_Provider__c', state =>
Boolean(dataValue('form.referral_services.other_srhr_services.service_label.srhr_option2')(state))
),
field('Cervical_Cancer_Screen_Servi_Provider__c', state =>
Boolean(dataValue('form.referral_services.other_srhr_services.service_label.srhr_option3')(state))
),
field('HPV_vaccine_Service_Provider__c', state =>
Boolean(dataValue('form.referral_services.other_srhr_services.service_label.srhr_option4')(state))
),
field('Antenatal_Care_ANC_Service_Provider__c', state =>
Boolean(dataValue('form.referral_services.other_srhr_services.service_label.srhr_option5')(state))
),
field('Sexual_and_GBV_Abuse_Servi_Provider__c', state =>
Boolean(dataValue('form.referral_services.other_srhr_services.service_label.srhr_option6')(state))
),
field(
'Psycho_Social_Support_Service_Provider__c',
state =>
Boolean(
dataValue(
'form.referral_services.other_srhr_services.service_label.srhr_option9'
)(state)
) ||
Boolean(
dataValue(
'form.referral_services.other_srhr_services.service_label.srhr_option8'
)(state)
) ||
Boolean(
dataValue(
'form.referral_services.other_srhr_services.service_label.srhr_option7'
)(state)
)
),
field('Psycho_Social_Services_Other_Service_Pro__c', state =>
Boolean(dataValue('form.referral_services.other_srhr_services.service_label.srhr_option10')(state))
),
field(
'Legal_Services_Other_Service_Provider__c',
state =>
Boolean(
dataValue('form.referral_services.other_legal_services.confirmation_of_services_provided_label.legal_referral_services')(state)
) ||
Boolean(
dataValue('form.referral_services.other_legal_services.confirmation_of_services_provided_label.legal_services_option1')(state)
) ||
Boolean(
dataValue('form.referral_services.other_legal_services.confirmation_of_services_provided_label.legal_services_option2')(state)
)
),

)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Upsert-Service-Referral-2021-04-30.html b/adaptors/library/jobs/auto/Upsert-Service-Referral-2021-04-30.html index cc7d2ae5dc0..6ad85717c67 100644 --- a/adaptors/library/jobs/auto/Upsert-Service-Referral-2021-04-30.html +++ b/adaptors/library/jobs/auto/Upsert-Service-Referral-2021-04-30.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Upsert Service Referral

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

alterState, dataValue, field, fields, relationship, upsert

Expression

alterState(state => {
function checked(key, str) {
if (!str) return false;
return str.split(' ').indexOf(key) >= 0;
}

state.helperFunctions = { checked };

function capitalizeFirstLetter(str) {
if (!str) return;
let new_str = str.toString().toLowerCase();
return new_str.slice(0, 1).toUpperCase() + new_str.slice(1);
}

function transform(value) {
if (!value) return;
switch (value.toString().trim()) {
case 'Daughterson':
return 'Daughter/Son';
case 'Other_specify':
return 'Other';
case 'Single_never_married':
return 'Single/Never Married';
case 'Divorced__separated':
return 'Divorced/separated';
default:
return value;
}
}

state.data.form.parent__guardian_information.relationship_to_client = transform(
capitalizeFirstLetter(state.data.form.parent__guardian_information.relationship_to_client)
);

return state;
});

alterState(state => {
if (!state.data.form.subcase_0) {
console.log('No referral services to upsert');
return state;
}
return upsert(
'NewReferral__c',
'CommCare_Ext_ID__c',
fields(
// field('Enter_Partner_s_Name__c', dataValue('form.referral_information.institution_referred_to')),
// field('Type_of_Referral__c', dataValue('form.referral_information.type_of_referral')),
field('Participants_Full_Name__c', dataValue('form.client_registration.participant_full_name')),
//field('Parent_Guardian_Contact_Number__c', dataValue('form.client_registration.mobile_number')),
relationship('Event__r', 'CommCare_Case_ID__c', dataValue('form.event_name')),
field('CommCare_Ext_ID__c', state => {
var subid = state.data.form.subcase_0;
return subid && subid !== '' ? state.data.form.subcase_0.case['@case_id'] : dataValue('id')(state); //Set external id to 'service' subcase if available, otherwise use formid
}),
//field('Venue__c', dataValue('form.client_registration.school_name')),
//field('Grade__c', dataValue('form.client_registration.grade')),
//field('Class__c', dataValue('form.client_registration.class')),
field('Parent_Guardian_Full_Name__c', dataValue('form.parent__guardian_information.parent__guardian_full_name')),
field('Relationship_To_Client__c', dataValue('form.parent__guardian_information.relationship_to_client')),
field('Parent_Guardian_Contact_Number__c', dataValue('form.parent__guardian_information.contact_number')),
field('Institution_Referred_To_1__c', dataValue('form.referral_information.institution_referred_to')),
field('Institution_Referred_To_2__c', dataValue('form.referral_information.copy-1-of-institution_referred_to')),
field('Institution_Referred_To_3__c', dataValue('form.referral_information.copy-2-of-institution_referred_to')),
field('Service_Provider_Name__c', dataValue('form.hidden_props.coach_name')),
field('HIV_Testing_Services_GRS_Staff__c', state =>
state.helperFunctions.checked(
'hiv_testing_services',
dataValue('form.referral_services.hiv_support__care.check_the_services_that_client_was_referred_to')(state)
)
),
field('VMMC_GRS_Staff__c', state =>
state.helperFunctions.checked(
'vmmc',
dataValue('form.referral_services.hiv_support__care.check_the_services_that_client_was_referred_to')(state)
)
),
field('TB_Screening_GRS_Staff__c', state =>
state.helperFunctions.checked(
'tb_screening_treatment_adherence',
dataValue('form.referral_services.hiv_support__care.check_the_services_that_client_was_referred_to')(state)
)
),
field('Post_Exposure_Prophylaxis_GRS_Staff__c', state =>
state.helperFunctions.checked(
'post_exposure_prophylaxis',
dataValue('form.referral_services.hiv_support__care.check_the_services_that_client_was_referred_to')(state)
)
),
field('PrEP_GRS_Staff__c', state =>
state.helperFunctions.checked(
'prep',
dataValue('form.referral_services.hiv_support__care.check_the_services_that_client_was_referred_to')(state)
)
),
field('HIV_STI_PREVENTION_Other_GRS_Staff__c', state =>
state.helperFunctions.checked(
'other',
dataValue('form.referral_services.hiv_support__care.check_the_services_that_client_was_referred_to')(state)
)
),
field('HIV_Other__c', dataValue('form.referral_services.hiv_support__care.please_specify')),
field('ART_Initiation_GRS_Staff__c', state =>
state.helperFunctions.checked(
'art_initiationenrollment',
dataValue('form.referral_services.art_support_services.check_the_services_that_client_was_referred_to')(state)
)
),
field('PMTCT_GRS_Staff__c', state =>
state.helperFunctions.checked(
'pmtct',
dataValue('form.referral_services.art_support_services.check_the_services_that_client_was_referred_to')(state)
)
),
field('SKILLZ_Plus_Club_Support_GRS_Staff__c', state =>
state.helperFunctions.checked(
'grs_skillz_plus_club',
dataValue('form.referral_services.art_support_services.skillz_plus_club_option')(state)
)
),
field(
'Victim_Friendly_Services_GRS_Staff__c',
state =>
state.helperFunctions.checked(
'suspected_abuse_reported_police_court_other_authority',
dataValue(
'form.referral_services.child_protection_support_services.check_the_services_that_client_was_referred_to'
)(state)
) ||
state.helperFunctions.checked(
'post_violence_care_medical_legal_counseling',
dataValue(
'form.referral_services.child_protection_support_services.check_the_services_that_client_was_referred_to'
)(state)
) ||
state.helperFunctions.checked(
'child_support_grant_social_foster_general_support',
dataValue(
'form.referral_services.child_protection_support_services.check_the_services_that_client_was_referred_to'
)(state)
) ||
state.helperFunctions.checked(
'other',
dataValue(
'form.referral_services.child_protection_support_services.check_the_services_that_client_was_referred_to'
)(state)
)
),
field('Business_Unit_Site__c', state => {
const bu = dataValue('form.business_unit')(state);
return bu === '65680f0c4c144b03ad0f86bdc46c1ebc'
? 'GRS Zambia'
: bu === '04d98397e28046118fade28ced6b65cb'
? 'GRS Zimbabwe'
: bu === 'ed125ab19ec34aacab79585e59eb76f4'
? 'GRS Partnerships'
: undefined;
}),
field(
'Sexual_and_GBV_Abuse_GRS_Staff__c',
dataValue('form.referral_services.child_protection_support_services.abuse_reported_to')
),

field('Legal_Other__c', dataValue('form.referral_services.legal_services.please_specify_other_legal')),
field(
'Legal_Services_Other_GRS_Staff__c',
state =>
state.helperFunctions.checked(
'other',
dataValue('form.referral_services.legal_services.legal_services')(state)
) ||
state.helperFunctions.checked(
'id',
dataValue('form.referral_services.legal_services.legal_services')(state)
) ||
state.helperFunctions.checked(
'birth_bertificate',
dataValue('form.referral_services.legal_services.legal_services')(state)
)
),
field('STI_Screen_Testing_GRS_Staff__c', state =>
state.helperFunctions.checked(
'sti_screening_diagnosis_treatment',
dataValue('form.referral_services.other_srhr_services.check_the_services_that_client_was_referred_to')(state)
)
),
field('Contraception_Family_Plan_GRS_Staff__c', state =>
state.helperFunctions.checked(
'contraceptivesfamily_planning',
dataValue('form.referral_services.other_srhr_services.check_the_services_that_client_was_referred_to')(state)
)
),
field('Cervical_Cancer_Screening_GRS_Staff__c', state =>
state.helperFunctions.checked(
'cervical_cancer_screening',
dataValue('form.referral_services.other_srhr_services.check_the_services_that_client_was_referred_to')(state)
)
),
field('HPV_vaccine_GRS_Staff__c', state =>
state.helperFunctions.checked(
'hpv',
dataValue('form.referral_services.other_srhr_services.check_the_services_that_client_was_referred_to')(state)
)
),
field('Antenatal_Care_ANC_GRS_Staff__c', state =>
state.helperFunctions.checked(
'antenatal_care_anc',
dataValue('form.referral_services.other_srhr_services.check_the_services_that_client_was_referred_to')(state)
)
),
field('Sexual_and_GBV_Abuse_GRS_Staff__c', state =>
state.helperFunctions.checked(
'based_violenceabus',
dataValue('form.referral_services.other_srhr_services.check_the_services_that_client_was_referred_to')(state)
)
),
field(
'Psycho_Social_Support_GRS_Staff__c',
state =>
state.helperFunctions.checked(
'drug_or_alcohol_abuse',
dataValue('form.referral_services.other_srhr_services.check_the_services_that_client_was_referred_to')(
state
)
) ||
state.helperFunctions.checked(
'psychiatric_careintensive_counseling',
dataValue('form.referral_services.other_srhr_services.check_the_services_that_client_was_referred_to')(
state
)
) ||
state.helperFunctions.checked(
'psychosocial_support',
dataValue('form.referral_services.other_srhr_services.check_the_services_that_client_was_referred_to')(
state
)
)
),
field('Psycho_Social_Services_Other_GRS_Staff__c', state =>
state.helperFunctions.checked(
'other',
dataValue('form.referral_services.other_srhr_services.check_the_services_that_client_was_referred_to')(state)
)
),
field('Psycho_Other__c', dataValue('form.referral_services.other_srhr_services.please_specify_srhr_referred')),
field('Date_Referred__c', dataValue('form.follow-up.date_referred')),
field('Expected_Visit_Date__c', dataValue('form.follow-up.expected_visit_date')),
field('Client_Follow_up_Consent_given__c', state =>
state.helperFunctions.checked('client_follow-up_consent_given', dataValue('form.follow-up.select')(state))
),
field('Client_Linked_to_care__c', state =>
state.helperFunctions.checked('client_linked_to_care', dataValue('form.follow-up.select')(state))
)
)
)(state);
});

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Upsert-Service-Referral-Followup-2021-04-30.html b/adaptors/library/jobs/auto/Upsert-Service-Referral-Followup-2021-04-30.html index c5fe7067f48..294f0da8212 100644 --- a/adaptors/library/jobs/auto/Upsert-Service-Referral-Followup-2021-04-30.html +++ b/adaptors/library/jobs/auto/Upsert-Service-Referral-Followup-2021-04-30.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Upsert Service Referral Followup

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

alterState, dataValue, field, fields, upsert

Expression

// push to production
alterState(state => {
state.data.external_commcare_id = (
dataValue('form.hidden_properties.intervention_name')(state) +
dataValue('form.hidden_properties.participant_first_name')(state) +
dataValue('form.hidden_properties.participant_surname')(state)
)
.toString()
.toLowerCase()
.replace(/\s/g, '')
.trim();

return state;
});

upsert(
'NewReferral__c',
'CommCare_Ext_ID__c',
fields(
field('Business_Unit_Site__c', state => {
const bu = dataValue('form.business_unit')(state);
return bu === 'X' ? 'GRS Zambia' : bu;
}),
field('CommCare_Ext_ID__c', dataValue('form.case.@case_id')),
field('HIV_Testing_Services_Service_Provider__c', state =>
Boolean(
dataValue('form.referral_services.hiv_support__care.check_services_label.hiv_support_care_option1')(state)
)
),
field('TB_Screening_Service_Provider__c', state =>
Boolean(
dataValue('form.referral_services.hiv_support__care.check_services_label.hiv_support_care_option2')(state)
)
),
field('VMMC_Service_Provider__c', state =>
Boolean(
dataValue('form.referral_services.hiv_support__care.check_services_label.hiv_support_care_option3')(state)
)
),
field('Post_Exposure_Prophylaxis_Service_Provid__c', state =>
Boolean(
dataValue(
'form.referral_services.hiv_support__care.check_services_label.hiv_support_care_option4'
)(state)
)
),
field('PrEP_Service_Provider__c', state =>
Boolean(
dataValue(
'form.referral_services.hiv_support__care.check_services_label.hiv_support_care_option5'
)(state)
)
),
field('HIV_STI_PREVENTION_Other_Service_Provid__c', state =>
Boolean(
dataValue(
'form.referral_services.hiv_support__care.check_services_label.hiv_support_care_option6'
)(state)
)
),
field('ART_Initiation_Service_Provider__c', state =>
Boolean(
dataValue('form.referral_services.art_support_services.art_services_group.art_services_option1')(
state
)
)
),
field('SKILLZ_Plus_Club_Support_Service_Provid__c', state =>
Boolean(
dataValue('form.referral_services.art_support_services.art_services_group.art_services_option2')(
state
)
)
),

field(
'PMTCT_Service_Provider__c',
state =>
Boolean(
dataValue('form.referral_services.art_support_services.art_services_group.art_services_option3')(
state
)
)
),
field('IPTG_Health_Facility__c', state =>
Boolean(
dataValue('form.referral_services.mental_health_services.confirmation_of_services_provided_label.mental_health_select_services_option1')(
state
)
)
),
field('IPTG_Specialized_to_SMZ__c', state =>
Boolean(
dataValue('form.referral_services.mental_health_services.confirmation_of_services_provided_label.mental_health_select_services_option2')(
state
)
)
),

field('ART_Services_Other_Service_Provider__c', state =>
Boolean(
dataValue('form.referral_services.art_support_services.referred_art_support_services')(state)
)
),
field(
'Victim_Friendly_Services_Service_Provide__c',
state =>
Boolean(
dataValue(
'form.referral_services.child_protection_support_services.copy-1-of-check_the_services_that_were_provided.child_protection_option1'
)(state)
) ||
Boolean(
dataValue(
'form.referral_services.child_protection_support_services.copy-1-of-check_the_services_that_were_provided.child_protection_option2'
)(state)
) ||
Boolean(
dataValue(
'form.referral_services.child_protection_support_services.copy-1-of-check_the_services_that_were_provided.child_protection_option3'
)(state)
)
),
field('Legal_Services_Other_Service_Provider__c', state =>
Boolean(
dataValue(
'form.referral_services.other_legal_services.confirmation_of_services_provided_label.legal_services_option3'
)(state)
)
),

field('STI_Screen_Testing_Service_Provider__c', state =>
Boolean(dataValue('form.referral_services.other_srhr_services.service_label.srhr_option1')(state))
),

field('Contraception_Family_Plan_Servi_Provider__c', state =>
Boolean(dataValue('form.referral_services.other_srhr_services.service_label.srhr_option2')(state))
),
field('Cervical_Cancer_Screen_Servi_Provider__c', state =>
Boolean(dataValue('form.referral_services.other_srhr_services.service_label.srhr_option3')(state))
),
field('HPV_vaccine_Service_Provider__c', state =>
Boolean(dataValue('form.referral_services.other_srhr_services.service_label.srhr_option4')(state))
),
field('Antenatal_Care_ANC_Service_Provider__c', state =>
Boolean(dataValue('form.referral_services.other_srhr_services.service_label.srhr_option5')(state))
),
field('Sexual_and_GBV_Abuse_Servi_Provider__c', state =>
Boolean(dataValue('form.referral_services.other_srhr_services.service_label.srhr_option6')(state))
),
field(
'Psycho_Social_Support_Service_Provider__c',
state =>
Boolean(
dataValue(
'form.referral_services.other_srhr_services.service_label.srhr_option9'
)(state)
) ||
Boolean(
dataValue(
'form.referral_services.other_srhr_services.service_label.srhr_option8'
)(state)
) ||
Boolean(
dataValue(
'form.referral_services.other_srhr_services.service_label.srhr_option7'
)(state)
)
),
field('Psycho_Social_Services_Other_Service_Pro__c', state =>
Boolean(dataValue('form.referral_services.other_srhr_services.service_label.srhr_option10')(state))
),
field(
'Legal_Services_Other_Service_Provider__c',
state =>
Boolean(
dataValue('form.referral_services.other_legal_services.confirmation_of_services_provided_label.legal_referral_services')(state)
) ||
Boolean(
dataValue('form.referral_services.other_legal_services.confirmation_of_services_provided_label.legal_services_option1')(state)
) ||
Boolean(
dataValue('form.referral_services.other_legal_services.confirmation_of_services_provided_label.legal_services_option2')(state)
)
),

)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Upsert-Team-Group-Name-2021-04-28.html b/adaptors/library/jobs/auto/Upsert-Team-Group-Name-2021-04-28.html index e8ba923e263..bc1f84906f2 100644 --- a/adaptors/library/jobs/auto/Upsert-Team-Group-Name-2021-04-28.html +++ b/adaptors/library/jobs/auto/Upsert-Team-Group-Name-2021-04-28.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Upsert Team/Group Name

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataValue, field, fields, relationship, upsert

Expression

// Upsert event by unique 'Name'
upsert(
'Event__c',
'CommCare_Case_ID__c',
fields(
field(
'Class_Group_Team__c',
dataValue('form.question_group.group__team_name')
),
relationship('RecordType', 'Name', 'Intervention'),
field(
'CommCare_Case_ID__c',
dataValue('form.case.@case_id')
),
)
);
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Upsert-User-in-Salesforce-2021-04-16.html b/adaptors/library/jobs/auto/Upsert-User-in-Salesforce-2021-04-16.html index 438366089b5..9aba52927aa 100644 --- a/adaptors/library/jobs/auto/Upsert-User-in-Salesforce-2021-04-16.html +++ b/adaptors/library/jobs/auto/Upsert-User-in-Salesforce-2021-04-16.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Upsert User in Salesforce

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

dataPath, dataValue, each, field, fields, upsert

Expression

//Example job to upsert Users in Salesforce
each('$.users[*]',
dataPath('state.data.users'),
upsert('User', 'Email', fields(
field('Email', dataValue('email')),
field('FirstName', dataValue('firstName')),
field('LastName', dataValue('surname')),
field('Active', 'true')
))
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/Upsert-to-mBrana-2021-05-11.html b/adaptors/library/jobs/auto/Upsert-to-mBrana-2021-05-11.html index 187f46fc1c1..2071c4f1a42 100644 --- a/adaptors/library/jobs/auto/Upsert-to-mBrana-2021-05-11.html +++ b/adaptors/library/jobs/auto/Upsert-to-mBrana-2021-05-11.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Upsert to mBrana

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

upsert

Expression

// Your job goes here.
upsert(
'users', // the DB table
'ON CONSTRAINT users_pkey', // a DB column with a unique constraint OR a CONSTRAINT NAME
{ name: 'Elodie', id: 7 },
{ writeSql:true, execute: true }
);
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/WF1-1-Bulk-get-HH-cases-2023-05-19.html b/adaptors/library/jobs/auto/WF1-1-Bulk-get-HH-cases-2023-05-19.html index e7e023f1060..0e8863b5619 100644 --- a/adaptors/library/jobs/auto/WF1-1-Bulk-get-HH-cases-2023-05-19.html +++ b/adaptors/library/jobs/auto/WF1-1-Bulk-get-HH-cases-2023-05-19.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

WF1-1. Bulk get HH cases

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: WF1-1. Bulk get HH cases
  • Adaptor: @openfn/language-http
  • Adaptor Version: v4.2.8
  • Created 4 months ago
  • Updated about 1 month ago
  • Score: 92 (an indicator of how useful this job may be)

Key Functions

each, get, map

Expression

fn(state => {
const { baseUrl } = state.configuration;

const caseTypes = ['Household'];

//NOTE: You can use 'limit' to modify this batch size as desired
const limit = 1000;

//NOTE: indexedOnStart is the default sync start data the FIRST time the job runs
const indexedOnStart = '2023-08-09T21:00:00';

//NOTE: After first job run, OpenFn will check the job sync data ("lastRunAt") to set as the indexedOnStart
const lastRunAt =
typeof state.lastRunAt !== 'undefined' ? state.lastRunAt : indexedOnStart;
console.log('Filtering cases with indexed_on_start > than ::', lastRunAt);
//May 31st, 2023 at 3:00:13 PM.
const queries = caseTypes.map(
t => `?type=${t}&indexed_on_start=${lastRunAt}&limit=${limit}`
//NOTE: If for testing, you want to fetch data for a specific historical range (e.g., between April 23 and 24)...
//...then use the query string below instead of the one above on L16, and custom adjust the index_on start/end dates
//t => `?type=${t}&indexed_on_start=2023-03-03T00:00:00&limit=${limit}&indexed_on_end=2023-03-06T00:00:00` //returns 14 records
//t => `?type=${t}&indexed_on_start=2023-07-06T16:00:00&limit=${limit}&indexed_on_end=2023-07-06T16:30:00`
);

return { ...state, queries, baseUrl, payloads: [] };
});

// create a "recursiveGet" which will call itself if CommCare tells us there's
// more data to fetch for the same form
fn(state => {
const recursiveGet = url =>
get(
url,
{
headers: { 'content-type': 'application/json' },
},
nextState => {
const now = new Date();
const { baseUrl, data, payloads } = nextState;

const { meta, objects } = data;
console.log('Metadata in CommCare response:', meta);

const finalState = {
...nextState,
payloads: [...payloads, ...objects],
};

if (meta.next) {
console.log('Next query detected, recursing...');
return recursiveGet(`${baseUrl}${meta.next}`)(finalState);
}
finalState.lastRunAt = now.toISOString().slice(0, 19);
return finalState;
}
);

return { ...state, recursiveGet };
});

// for each initial query, fetch data recursively
each(
'$.queries[*]',
fn(state => {
return state.recursiveGet(`${state.baseUrl}${state.data}`)(state);
})
);
// log the total number of payloads returned
fn(state => {
console.log('Count of payloads', state.payloads.length);

return { ...state, references: [], data: {} };
});
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/WF1-2-Bulk-upsert-HHs-and-HH-Visits-2023-05-19.html b/adaptors/library/jobs/auto/WF1-2-Bulk-upsert-HHs-and-HH-Visits-2023-05-19.html index 2a2bed48d97..027654145b3 100644 --- a/adaptors/library/jobs/auto/WF1-2-Bulk-upsert-HHs-and-HH-Visits-2023-05-19.html +++ b/adaptors/library/jobs/auto/WF1-2-Bulk-upsert-HHs-and-HH-Visits-2023-05-19.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

WF1-2. Bulk upsert HHs and HH Visits

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

bulk, join, map, query, JSON

Expression

fn(state => {
if (state.payloads.length == 0)
return { ...state, housevisits: [], households: [] };

const owner_ids = state.payloads.map(data => data.properties.owner_id);
const uniq_owner_ids = [...new Set(owner_ids)];

return { ...state, uniq_owner_ids };
});

fn(state => {
if (state.payloads.length == 0) return state;

return query(
`SELECT CommCare_User_ID__c, Id village, Parent_Geographic_Area__c area, Parent_Geographic_Area__r.Name name, Parent_Geographic_Area__r.Parent_Geographic_Area__c catchment FROM Location__c catchment WHERE CommCare_User_ID__c IN ('${state.uniq_owner_ids.join(
"','"
)}') GROUP BY Id, CommCare_User_ID__c, Parent_Geographic_Area__c, Parent_Geographic_Area__r.Name, Parent_Geographic_Area__r.Parent_Geographic_Area__c`
)(state);
});

fn(state => {
if (state.payloads.length == 0) return state;

console.log('Done querying ✅');

return state;
});

fn(state => {
if (state.payloads.length == 0) return state;

console.log(
'Filtering out unwanted users and applying mapping for households and housevisits'
);

const [reference] = state.references;

// console.log(JSON.stringify(reference.records, null, 2));

const records = reference.records;
const fetchReference = (owner_id, arg) => {
const result =
records && records.length > 0
? records.filter(record => record.CommCare_User_ID__c === owner_id)
: 0;

//TODO: Update default value for 'unknown location' before go-live
return result.length > 0
? result[0][arg]
: 'a000800001tMobaAAC' /*unknown location*/;
};

const supervisorMap = {
community_health_nurse: 'Community Health Nurse',
chw_supervisor: 'CHW Supervisor',
chewschas: 'CHEWs/CHAs',
other: 'Other',
none: 'None',
};

const insuranceMap = {
nhif: 'NHIF',
Linda_mama: 'Linda mama',
other_please_specify_if_active: 'Other',
none: 'None',
};

const households = state.payloads
/* HMN 050723
.filter(
h =>
h.properties.commcare_username !== 'openfn.test' &&
h.properties.commcare_username !== 'test.2021' &&
h.properties.test_user !== 'Yes'
)
*/
.map(h => {
// Special calculations ==================================================
const insuranceStatus = h.properties.health_insurance;
const Health_insurance_type__c =
insuranceStatus && insuranceStatus === 'other_please_specify_if_active'
? 'Other'
: insuranceStatus === 'nhif'
? 'NHIF'
: insuranceStatus === 'Linda_mama' || 'linda_mama'
? 'Linda mama'
: insuranceStatus;

const hhStatus = h.properties.Household_Status;
const Active_Household__c =
hhStatus && hhStatus === 'No'
? false
: hhStatus === 'Yes'
? true
: hhStatus;

const reason = h.properties.Reason_for_Inactive;
const Inactive_Reason__c = reason
? reason.toString().replace(/_/g, ' ')
: null;

/*HMN remove this dependancy 07/07/2023
const chw = h.properties.CHW_ID;
const Household_CHW__c =
chw === 'a030800001zQrk' ? 'a030800001zQrk5' : chw ? chw : undefined;
// =======================================================================
*/
return {
CommCare_Username__c: h.properties.commcare_username,
MOH_household_code__c: h.properties.moh_code,
CommCare_Code__c: h.case_id,
Source__c: true,
// TODO: Prod mapping to add back before go-live =======================
Household_CHW__c: h.properties.CHW_ID, // Uncomment me to go live!
//Household_CHW__c: 'a032400000GHpdsAAD', // Comment me OUT to go live!
// Household_CHW__c: 'a03AW00000643nLYAQ',
// =====================================================================
Catchment__c: fetchReference(h.properties.owner_id, 'catchment'),
Area__c: fetchReference(h.properties.owner_id, 'area'),
Village__c: fetchReference(h.properties.owner_id, 'village'),
Household_Village__c: h.properties.village,
Deaths_in_the_last_6_months__c:
h.properties.deaths_in_past_6_months > 0 ? 'Yes' : 'No',
Access_to_safe_water__c: h.properties.Safe_Water,
Treats_Drinking_Water__c: h.properties.Treats_Drinking_Water,
Tippy_Tap__c: h.properties.Active_Handwashing_Station,
Pit_Latrine__c: h.properties.Functional_Latrine,
Rubbish_Pit__c: h.properties.Rubbish_Pit,
Drying_Rack__c: h.properties.Drying_Rack,
Kitchen_Garden__c: h.properties.Kitchen_Garden,
Cookstove__c: h.properties.Improved_Cooking_Method,
Clothe__c: h.properties.Clothesline,
WASH_Trained__c: h.properties.WASH_Trained,
Uses_ITNs__c: h.properties.ITNs,
Has_muac_tape__c: h.properties.family_muac_tape_available,
Health_insurance__c: h.properties.health_insurace_cover,
Health_insurance_active_status__c: h.properties.healthinsurance_active,
Health_insurance_type__c,
Other_Health_Insurance__c: h.properties.if_other_please_specify,
Work_with_TBA__c: h.properties.tba,
TBA_name__c: h.properties.which_tba,
Last_Modified_Date_CommCare__c: h.server_date_modified, //Need a case property,
Active_Household__c,
Inactive_Reason__c,
Active_in_Nutrition_Program__c:
h.properties.enrolled_in_a_lwala_nutrition_program,
lwala_nutrition_program_enrollment_date__c:
h.properties.lwala_nutrition_program_enrollment_date,
Trained_in_gardening__c: h.properties.household_trained_on_gardening,
household_trained_on_gardening_date__c:
h.properties.when_was_the_household_trained_on_gardening,
Seed_Input_Support__c:
h.properties.household_provided_with_seed_input_support,
household_provided_with_seed_input_suppo__c:
h.properties.when_was_the_household_provided_with_seed_input_support,
MIYCN_Trained__c: h.properties.household_trained_on_MIYC,
// TODO: @Aleksa to find out if Case_Closed_Date__c still exist
Case_Closed_Date__c: h.date_closed && h.date_closed == true
? h.server_modified_on
: undefined
};
});

const housevisits = state.payloads
//HMN remove test user filters
/*
.filter(
h =>
h.properties.commcare_username !== 'openfn.test' &&
h.properties.commcare_username !== 'test.2021' &&
h.properties.test_user !== 'Yes'
)*/
.map(h => {
// Special calculations ==================================================
const visitIdC =
h.case_id + '_' + h.properties.last_form_opened_date_and_time;

const hVstatus = h.properties.Household_Status;
const Active_Household__c =
hVstatus === 'No' ? false : hVstatus === 'Yes' ? true : hVstatus;

const insuranceTypeC = () => {
let status = h.properties.health_insurance;

let value =
status && status !== ''
? status
.replace(/ /gi, ';')
.split(';')
.map(value => {
return insuranceMap[value] || value;
})
: undefined;
return value ? value.join(';') : undefined;
};

const openedC = () => {
const form_opened = h.properties.last_form_opened_date_and_time;

if (form_opened) {
const value1 = form_opened.split('-').slice(0, 2).join('-');
const value2 = form_opened.split('-').slice(2).join('-');
const formattedValue = [value1, value2].join(' ');
return new Date(formattedValue).toISOString();
}
return undefined;
};

return {
CommCare_Username__c: h.properties.commcare_username,
CommCare_Visit_ID__c: visitIdC,
Catchment__c: fetchReference(h.properties.owner_id, 'catchment'),
'Household__r.CommCare_Code__c': h.case_id,
Date__c: h.properties.Date,
Form_Submitted__c: h.properties.last_form_opened_name,
Active_Household__c: Active_Household__c,
Active_in_Nutrition_Program__c:
h.properties.enrolled_in_a_lwala_nutrition_program,
lwala_nutrition_program_enrollment_date__c:
h.properties.lwala_nutrition_program_enrollment_date,
Trained_in_gardening__c: h.properties.household_trained_on_gardening,
household_trained_on_gardening_date__c:
h.properties.when_was_the_household_trained_on_gardening,
Seed_Input_Support__c:
h.properties.household_provided_with_seed_input_support,
household_provided_with_seed_input_suppo__c:
h.properties.when_was_the_household_provided_with_seed_input_support,
MIYCN_Trained__c: h.properties.household_trained_on_MIYCN,
Kitchen_Garden__c: h.properties.Kitchen_Garden,
Access_to_safe_water__c: h.properties.Safe_Water,
Treats_Drinking_Water__c: h.properties.Treats_Drinking_Water,
Tippy_Tap__c: h.properties.Active_Handwashing_Station,
Pit_Latrine__c: h.properties.Functional_Latrine,
Rubbish_Pit__c: h.properties.Rubbish_Pit,
Drying_Rack__c: h.properties.Drying_Rack,
Cookstove__c: h.properties.Improved_Cooking_Method,
Clothe__c: h.properties.Clothesline,
WASH_Trained__c: h.properties.WASH_Trained,
Has_muac_tape__c: h.properties.family_muac_tape_available,
Uses_ITNs__c: h.properties.ITNs,
Supervisor_Visit__c: h.properties.supervisor_visit
? supervisorMap[h.properties.supervisor_visit]
: null,
Health_insurance__c: h.properties.health_insurace_cover,
Health_insurance_active_status__c: h.properties.healthinsurance_active,
Health_insurance_type__c: insuranceTypeC(),

Other_Health_Insurance__c: h.properties.if_other_please_specify,
CommCare_Form_Opened__c: openedC(),

};
});

return { ...state, households, housevisits, fetchReference };
});

/* JSON logging of records
fn(state => {
console.log('HHs to upsert ::', JSON.stringify(state.households));
return state;
});
*/

bulk(
'Household__c',
'upsert',
{
extIdField: 'CommCare_Code__c',
failOnError: true,
allowNoOp: true,
},
state => {
console.log('Bulk upserting households...');
return state.households;
}
);

fn(state => {
if (state.payloads.length == 0) return state;

console.log('house holds bulk upsert done');
return state;
});

// TODO clean up in QA used for troubleshooting
// Uncomment this block to add cooldown
// fn(state => {
// return new Promise((resolve, reject) => {
// setTimeout(() => {
// console.log('4 second cooldown finished.');
// resolve(state);
// }, 4000);
// });
// });

bulk(
'Visit__c',
'upsert',
{
extIdField: 'CommCare_Visit_ID__c',
failOnError: true,
allowNoOp: true,
},
state => {
console.log('Bulk upserting housevisits...');
return state.housevisits;
}
);

fn(state => {
if (state.payloads.length == 0) return state;
console.log('house visits bulk upsert done');
return state;
});

// TODO clean up in QA for troubleshooting
// Uncomment this block to add cooldown
// fn(state => {
// return new Promise((resolve, reject) => {
// setTimeout(() => {
// console.log('Final 4 second cooldown finished.');
// resolve(state);
// }, 4000);
// });
// });
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/WF2-1-Bulk-get-Person-cases-2023-05-19.html b/adaptors/library/jobs/auto/WF2-1-Bulk-get-Person-cases-2023-05-19.html index 0f801b34061..268c56cba9f 100644 --- a/adaptors/library/jobs/auto/WF2-1-Bulk-get-Person-cases-2023-05-19.html +++ b/adaptors/library/jobs/auto/WF2-1-Bulk-get-Person-cases-2023-05-19.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

WF2-1. Bulk get Person cases

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: WF2-1. Bulk get Person cases
  • Adaptor: @openfn/language-http
  • Adaptor Version: v4.2.8
  • Created 4 months ago
  • Updated 25 days ago
  • Score: 92 (an indicator of how useful this job may be)

Key Functions

each, get, map, JSON

Expression

fn(state => {
const { baseUrl } = state.configuration;

const caseTypes = ['Person'];

//NOTE: You can use 'limit' to modify this batch size as desired
const limit = 1000; //E.g., change to 10 to process records in smaller batch sizes

//NOTE: indexedOnStart is the default sync start data the FIRST time the job runs
const indexedOnStart = '2023-08-24T10:00:00';


//NOTE: After first job run, OpenFn will check the job sync data ("lastRunAt") to set as the indexedOnStart
const lastRunAt =
typeof state.lastRunAt !== 'undefined' ? state.lastRunAt : indexedOnStart;
console.log('Filtering cases with indexed_on_start > than ::', lastRunAt);

const queries = caseTypes.map(
t => `?type=${t}&indexed_on_start=${lastRunAt}&limit=${limit}`
//NOTE: If for testing, you want to fetch data for a specific historical range (e.g., between April 23 and 24)...
//...then use the query string below instead of the one above on L16, and custom adjust the index_on start/end dates
// t => `?type=${t}&indexed_on_start=2023-08-07T00:00:00&limit=${limit}&indexed_on_end=2023-08-07T10:00:00`
);

return { ...state, queries, baseUrl, payloads: [] };
});

// create a "recursiveGet" which will call itself if CommCare tells us there's
// more data to fetch for the same form
fn(state => {
const recursiveGet = url =>
get(
url,
{
headers: { 'content-type': 'application/json' },
},
nextState => {
const now = new Date();
const { baseUrl, data, payloads } = nextState;

const { meta, objects } = data;
console.log('Metadata in CommCare response:', meta);

const finalState = {
...nextState,
payloads: [...payloads, ...objects],
};

if (meta.next) {
console.log('Next query detected, recursing...');
return recursiveGet(`${baseUrl}${meta.next}`)(finalState);
}
finalState.lastRunAt = now.toISOString().slice(0, 19);
return finalState;
}
);

return { ...state, recursiveGet };
});

// for each initial query, fetch data recursively
each(
'$.queries[*]',
fn(state => {
return state.recursiveGet(`${state.baseUrl}${state.data}`)(state);
})
);
// log the total number of payloads returned
fn(state => {
console.log('Count of payloads', state.payloads.length);
//HMN 11072023
// console.log(JSON.stringify(state.payloads, null, 2));

return { ...state, references: [], data: {} };
});

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/WF2-2-Bulk-upsert-Persons-2023-05-19.html b/adaptors/library/jobs/auto/WF2-2-Bulk-upsert-Persons-2023-05-19.html index d350f208ccf..f75b53b2509 100644 --- a/adaptors/library/jobs/auto/WF2-2-Bulk-upsert-Persons-2023-05-19.html +++ b/adaptors/library/jobs/auto/WF2-2-Bulk-upsert-Persons-2023-05-19.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

WF2-2. Bulk upsert Persons

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

bulk, dataValue, field, fields, join, map, query, relationship, upsertIf, JSON

Expression

fn(state => {
if (state.payloads.length == 0)
return {
...state,
householdMapping: [],
headOfHouseholdMapping: [],
motherMapping: [],
caregiverMapping: [],
sfRecordMapping: [],
};
// JSON logging of records
//HMN debug
//console.log('cases before query :: ', JSON.stringify(state.payloads, null, 2));
const owner_ids = state.payloads.map(data => data.properties.owner_id);
const uniq_owner_ids = [...new Set(owner_ids)];

return { ...state, uniq_owner_ids };
});

// get data from SF
fn(state => {
if (state.payloads.length == 0) return state;

return query(
`SELECT CommCare_User_ID__c, Id village, Parent_Geographic_Area__c area, Parent_Geographic_Area__r.Name name, Parent_Geographic_Area__r.Parent_Geographic_Area__c catchment FROM Location__c WHERE CommCare_User_ID__c IN ('${state.uniq_owner_ids.join(
"','"
)}') GROUP BY Id, CommCare_User_ID__c, Parent_Geographic_Area__c, Parent_Geographic_Area__r.Name, Parent_Geographic_Area__r.Parent_Geographic_Area__c`
)(state);
});

fn(state => {
if (state.payloads.length == 0) return state;

const [reference] = state.references;

// console.log(JSON.stringify(reference.records, null, 2));

const records = reference.records;
const fetchReference = (owner_id, arg) => {
const result =
records && records.length > 0
? records.filter(record => record.CommCare_User_ID__c === owner_id)
: 0;

//TODO: Update default value for 'unknown location' before go-live
return result.length > 0 ? result[0][arg]
: 'a000800001tMobaAAC' /*unknown location*/;

};

const cleanChoice = choice => {
if (choice) {
return choice.charAt(0).toUpperCase() + choice.slice(1).replace('_', ' ');
} else {
return '';
}
};

const handleMultiSelect = multiField => {
return multiField
? multiField
.replace(/ /gi, ';')
.toLowerCase()
.split(';')
.map(value => {
return (
value.charAt(0).toUpperCase() + value.slice(1).replace('_', ' ')
);
})
.join(';')
: '';
};

const pregDangerMap = {
Vaginal_Bleeding: 'Vaginal Bleeding',
Water_Breaks: 'Water Breaks before Time of Delivery',
Prolonged_Labour: 'Prolonged Labour over 12 Hours',
Convulsions: 'Convulsions or Fits',
Abdominal_Pain: 'Severe Abdominal Pain before Delivery',
High_Fever: 'High Fever',
Low_Baby_Movement: 'Feeling the Baby move less or not at all',
Swelling: 'Swelling of Face and Hands',
Severe_Headache: 'Severe or Continuous Headache for more than 12 hours',
Severe_Vomiting: 'Severe or Continuous Vomiting',
none: 'None',
};

const counselMap = {
anc_visits: 'ANC Visits',
early_initiation_of_anc_less_than_3_months:
'Early initiation of ANC (less than 3 months)',
completing_recomended_anc_visits: 'Completing recomended ANC visits',
danger_signs: 'Danger signs',
skilled_birth: 'Skilled birth',
immunization: 'Immunization',
individual_birth_plan: 'Individual Birth Plan',
emergency_preparedness: 'Emergency preparedness',
childcare_and_affection: 'Childcare and affection',
nutrition_counseling: 'Nutrition counseling',
growth_monitoring: 'Growth monitoring',
exclusive_breastfeeding: 'Exclusive breastfeeding',
complementary_feeding: 'Complementary feeding',
sleeping_under_llitn: 'Sleeping under LLITN',
knowing_hiv_status: 'Knowing HIV status',
indoor_pollution: 'Indoor pollution',
personal_hygiene: 'Personal Hygiene',
safe_drinking_water: 'Safe drinking water',
safe_disposal_of_human_waste: 'Safe disposal of human waste',
};

const serviceMap = {
Scheduled_PSC_Apt: 'Scheduled PSC Apt',
Adverse_Drug_Reaction_Side_Effect: 'Adverse Drug Reaction/Side Effect',
Malnutrition: 'Malnutrition',
Malaria: 'Malaria',
TB: 'TB',
Treatment_for_Other_OIs: 'Treatment for other Ols',
ARI: 'ARI',
Anemia: 'Anemia',
Diarrhea: 'Diarrhea',
Pregnancy_Care: 'Pregnancy Care (ANC)',
Family_Planning: 'Family Planning (FP)',
Preconception_Counseling: 'Preconception Counseling',
Injury: 'Injury',
Other: 'Other',
};

const reasonMapping = {
lack_of_access_to_fp_information: 'Lack of access to FP information',
no_access_to_fp_services_hospitals:
'Lack of hospitals or places where FP services can be accessed',
not_willing_to_use_fp_due_to_negative_effects_myths_and_misconceptions:
'Myths and misconceptions',
barriers_at_service_delivery_points: 'Barriers at service delivery points',
pregnant: 'The client is pregnant',
intentions_of_getting_pregnant: 'Intentions of getting pregnant',
not_sexually_active: 'The client is not sexually active',
other_barriers_culture_male_partners_parents_etc:
'Other barriers (culture, male partners, parents, etc)',
};

const milestoneTypeMap = {
cognitive_delays_learning_difficulties:
'Cognitive Delays Learning Difficulties',
motor_delays: 'Motor Delays',
speech_and_language_delay: 'Delay Speech and Language Delay',
social_and_emotional: 'Social and emotional',
};

const milestoneMap = {
movement: 'Movement',
hearing: 'Hearing',
communication: 'Communication',
seeing: 'Seeing',
cognitive_delays: 'Cognitive Delays',
play: 'Play',
};
const nutritionMap = {
severe: 'Severely Malnourished',
moderate: 'Moderately Malnourished',
normal: 'Normal',
};

const fpMethodMap = {
male_condoms: 'Male condoms',
female_condoms: 'Female condoms',
pop: 'POP',
coc: 'COC',
emergency_pills: 'Emergency pills',
none: 'None',
};

return {
...state,
counselMap,
serviceMap,
reasonMapping,
milestoneTypeMap,
milestoneMap,
nutritionMap,
pregDangerMap,
fpMethodMap,
cleanChoice,
handleMultiSelect,
fetchReference,
};
});

// build sfRecord before upserting
fn(state => {
if (state.payloads.length == 0) return state;

const {
counselMap,
reasonMapping,
milestoneTypeMap,
milestoneMap,
nutritionMap,
pregDangerMap,
fpMethodMap,
cleanChoice,
handleMultiSelect,
fetchReference,
} = state;

const householdMapping = [
...new Map(
state.payloads
.filter(
p =>
p.indices.parent.case_id !== undefined &&
p.indices.parent.case_id !== ''
)
.map(p => {
return {
CommCare_Code__c:
p.indices.parent.case_id || p.properties.parent_id,
};
})
.map(h => [h.CommCare_Code__c, h])
).values(),
];

const headOfHouseholdMapping = state.payloads
.filter(
p =>
p.properties.head_of_household_case_id !== undefined &&
p.properties.head_of_household_case_id !== ''
)
.map(p => {
return {
CommCare_Code__c: p.indices.parent.case_id || p.properties.parent_id,
'Head_of_Household__r.CommCare_ID__c':
p.properties.head_of_household_case_id,
};
});

const motherMapping = state.payloads
.filter(
p =>
/*HMN 050723 p.properties.commcare_username !== 'test.2021' &&
p.properties.test_user !== 'Yes' &&
*/
p.properties.mother_case_id !== undefined &&
p.properties.mother_case_id !== '' &&
p.case_id!== undefined
)
.map(p => {
return {
'Mother__r.CommCare_ID__c': p.properties.mother_case_id,
CommCare_ID__c: p.case_id,
};
});

const caregiverMapping = state.payloads
.filter(
p =>
/*HMN 070523 p.properties.commcare_username !== 'test.2021' &&
p.properties.test_user !== 'Yes' &&
*/
p.properties.caretaker_case_id !== undefined &&
p.properties.caretaker_case_id !== '' &&
p.case_id!== undefined
)
.map(p => {
return {
'Primary_Caregiver_Lookup__r.CommCare_ID__c':
p.properties.caretaker_case_id,
CommCare_ID__c: p.case_id,
};
});

const sfRecordMapping = state.payloads
.filter(
p =>
/*HMN 050723
p.properties.commcare_username !== 'test.2021' &&
p.properties.test_user !== 'Yes'
*/
p.case_id !== undefined &&
p.case_id !== ''
)
.map(p => {
// For unbornOrName
const name1 = p.properties.Person_Name || p.properties.case_name;
const unborn = p.properties.name;

const name2 =
name1 === undefined || name1 === '' || name1 === null
? unborn
: name1.replace(/\w\S*/g, function (txt) {
return txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();
});
const unbornOrName = name1 !== null ? name2 : 'Unborn Child';
// console.log('Person Name ::', unbornOrName);

// For chronicIllness
const chronicChoice =p.properties.please_specify_which_chronic_illness_the_person_has;
const choice2 = handleMultiSelect(chronicChoice);
const chronicIllness = choice2 ? choice2.replace(/_/g, ' ') : '';

const disabilityC =
p.properties.disability !== undefined && p.properties.disability !=='---' && p.properties.disability !== null
? p.properties.disability
.toLowerCase()
.split(' ')
.map(word => word.charAt(0).toUpperCase() + word.slice(1))
.join(';')
: null;
//HMN remove
console.log(p.case_id)
//console.log(disabilityC)
//
const otherDisability =
p.properties.other_disability !== undefined && p.properties.other_disability !=='---' && p.properties.other_disability !== null
? p.properties.other_disability
.toLowerCase()
.split(' ')
.map(word => word.charAt(0).toUpperCase() + word.slice(1))
.join(';')
: null;
//HMN remove
//console.log(otherDisability)
//HMN
const hh_relation = p.properties.relation_to_hh;

const relationToTheHead = hh_relation !== undefined && hh_relation !== null
? hh_relation.toString().replace(/_/g, ' ').charAt(0).toUpperCase() +
hh_relation.toString().replace(/_/g, ' ').slice(1)
: null;

const childStatus =
p.properties.Child_Status && p.properties.Record_Type === 'Unborn'
? (p.properties.Child_Status = 'Unborn')
: p.properties.Child_Status && p.properties.Record_Type === 'Born'
? (p.properties.Child_Status = 'Born')
: p.properties.Child_Status;

const childDangerSigns = p.properties.Other_Danger_Signs !== undefined && p.properties.Other_Danger_Signs !== null
? p.properties.Other_Danger_Signs.toLowerCase()
.split(' ')
.map(word => word.charAt(0).toUpperCase() + word.slice(1))
.join(';')
.toString()
.replace(/_/g, ' ')
: p.properties.Other_Danger_Signs;

//clientCounselled
const clientChoices = p.properties.counsel_topic;
const choiceGroups = clientChoices ? clientChoices.split(' ') : null;
const clientCounselled = choiceGroups
? choiceGroups
.map(cg => {
return counselMap[cg];
})
.join(';')
: choiceGroups;

// fpMethodDistributed
const fpStatus = p.properties.FP_commodity;
const fpValue =
fpStatus && fpStatus !== ''
? fpStatus
.replace(/ /gi, ';')
.split(';')
.map(value => {
return fpMethodMap[value] || value;
})
: undefined;
const fpMethodDistributed = fpValue ? fpValue.join(';') : undefined;

// placeOfDelivery
const pFacility = p.properties.Delivery_Type;
const placeOfDelivery =
pFacility === 'Skilled'
? 'Facility'
: pFacility === 'Unskilled'
? 'Home'
: undefined;

// reasonForNotTakingFP
const rStatus = p.properties.No_FPmethod_reason;
const rValue =
rStatus && rStatus !== ''
? rStatus
.replace(/ /gi, ';')
.split(';')
.map(value => {
return reasonMapping[value] || value;
})
: undefined;
const reasonForNotTakingFP = rValue ? rValue.join(';') : undefined;

const recordType = p.properties.Record_Type;


return {
// TODO @aleksa, Source__c is causing an error
Source__c: true,
CommCare_ID__c: p.case_id,

//HMN 05072023 'Primary_Caregiver_Lookup__r.CommCare_ID__c':p.properties.caretaker_case_id,
//HMN 05072023 'Mother__r.CommCare_ID__c': p.properties.mother_case_id,
'Household__r.CommCare_Code__c':
p.properties.parent_id || p.indices.parent.case_id,
commcare_location_id__c: p.properties.commcare_location_id,
CommCare_Username__c: p.properties.commcare_username,
Telephone__c: p.properties.contact_phone_number,

Consent_for_data_use__c: p.properties.data_sharing_consent,
CommCare_HH_Code__c: p.indices.parent.case_id,
Client_Status__c: p.properties.Client_Status,
Catchment__c: fetchReference(p.properties.owner_id, 'catchment'),
Area__c: fetchReference(p.properties.owner_id, 'area'),
Household_Village__c: fetchReference(p.properties.owner_id, 'village'),
Name: unbornOrName,
Chronic_illness__c: chronicIllness,
Currently_enrolled_in_school__c: p.properties.enrolled_in_school,
Education_Level__c: p.properties.Education_Level !== null && p.properties.Education_Level !== undefined
? p.properties.Education_Level.toString().replace(/_/g, ' ')
: null,
Relation_to_the_head_of_the_household__c: relationToTheHead,
Gender__c: p.properties.Gender !== undefined ? p.properties.Gender : null,
Disability__c: disabilityC,
Other_disability__c: otherDisability,
Use_mosquito_net__c: p.properties.sleep_under_net,
Birth_Certificate__c: p.properties.birth_certificate,
Child_Status__c: childStatus,
'RecordType.Name': recordType === 'Unborn' || recordType === ''
? 'Child'
: recordType.toString().replace(/_/g, ' '), //convert Unborn children to Child RT
//TT5 Mother Information =====================//
MCH_booklet__c: p.properties.mch_booklet,
Reason_for_not_taking_a_pregnancy_test__c: p.properties.No_Preg_Test
? p.properties.No_Preg_Test.toString().replace(/_/g, ' ')
: undefined,
Pregnancy_danger_signs__c: p.properties.pregnancy_danger_signs
? pregDangerMap[p.properties.pregnancy_danger_signs]
: undefined,
Individual_birth_plan_counselling__c:
p.properties.individual_birth_plan,
Child_Danger_Signs__c: childDangerSigns,
//HAWI =====================//

Unique_Patient_Code__c: p.properties.Unique_Patient_Code,
Active_in_Support_Group__c: p.properties.Active_in_Support_Group,
Preferred_Care_Facility__c: p.properties.Preferred_Care_Facility,
Currently_on_ART_s__c: p.properties.ART,
ART_Regimen__c: p.properties.ARVs,
HAWI_Defaulter__c: p.properties.default === 'Yes' ? true : false,
Date_of_Default__c: p.properties.date_of_default,
Know_HIV_status__c: p.properties.known_hiv_status,
HIV_Status__c: p.properties.hiv_status,
//Illness ========================//
Persons_temperature__c: p.properties.temperature,
Days_since_illness_start__c: p.properties.duration_of_sickness,
Current_Malaria_Status__c: p.properties.malaria_test_results,
Malaria_test__c: p.properties.malaria_test,
Last_Malaria_Home_Test__c: p.properties.malaria_test_date,
Last_Malaria_Home_Treatment__c: cleanChoice(
p.properties.malaria_test_date
),
Cough_over_14days__c: p.properties.symptoms_check_cough,
TB_patients_therapy_observed__c: p.properties.observed_tb_therapy,
Injuries_or_wounds__c: p.properties.wounds_or_injuries,
Pulse_Oximeter__c: p.properties.pulse_oximeter_available,
Heart_Rate_Pulse_Oximeter__c: p.properties.heart_rate_pulse_oximeter,
Oxygen_Concentration_Pulse_Oximeter__c:
p.properties.oxygen_concentration,
Can_child_drink__c: p.properties.can_child_drink,
Antibiotic_provided_for_fast_breathing__c: cleanChoice(
p.properties.antibiotic_fast_breathing
),
Antibiotic_provided_for_chest_indrawing__c: cleanChoice(
p.properties.antibiotic_chest_indrawing
),
Default_on_TB_treatment__c: cleanChoice(
p.properties.default_tb_treatment
),
Treatment_Distribution__c: cleanChoice(
p.properties.distributed_treatments
),
//Delivery =====================//
Immediate_Breastfeeding__c: p.properties.Breastfeeding_Delivery,
Place_of_Delivery__c: placeOfDelivery,
Delivery_Facility__c: p.properties.Delivery_Facility
? p.properties.Delivery_Facility.toString().replace(/_/g, ' ')
: null,
Delivery_Facility_Other__c: p.properties.Delivery_Facility_Other,
//Family Planning =====================//
LMP__c: p.properties.LMP,
Family_Planning__c: p.properties.family_planning,
Family_Planning_Method__c: p.properties.family_planning_method,
FP_Method_Distributed__c: fpMethodDistributed,
Reasons_for_not_taking_FP_method__c: reasonForNotTakingFP,
Pregnant__c: p.properties.Pregnant === 'Yes' ? true : false,
Date_of_Delivery__c: p.properties.delivery_date,
Counselled_on_FP_Methods__c: p.properties.CounselledFP_methods,
Client_counselled_on__c: clientCounselled,
Client_provided_with_FP__c: cleanChoice(
p.properties[
'was_the_woman_15-49yrs_provided_with_family_planning_commodities_by_chv'
]
),
Received_pregnancy_test__c:
p.properties.did_you_adminsiter_a_pregnancy_test,
Pregnancy_test_result__c: p.properties.pregnancy_test_result,
Gravida__c: p.properties.Gravida,
Parity__c: p.properties.Parity,
//TT5 Child Information =====================//
Exclusive_Breastfeeding__c: p.properties.Exclusive_Breastfeeding,
Counselled_on_Exclusive_Breastfeeding__c: p.properties.counseling,
Newborn_visited_48_hours_of_delivery__c:
p.properties.newborn_visited_48_hours_of_delivery,
Newborn_visit_counselling__c: cleanChoice(
p.properties.did_you_consel_the_mother_on1
),
mother_visited_48_hours_of_the_delivery__c:
p.properties.visit_mother_48,
Mother_visit_counselling__c: cleanChoice(
p.properties.did_you_consel_the_mother_on2
),
Newborn_visited_by_a_CHW_within_6_days__c:
p.properties.visit_6_days_from_delivery,
//Nutrition =====================//
Caretaker_action_after_muac_screening__c:
p.properties.mother_screened_muac_action,
Caretaker_muac_findings__c:
p.properties.mother_screened_child_muac_result,
Food_groups_3_times_a_day__c: p.properties.food_groups,
Caretaker_screened_for_muac_this__c: cleanChoice(
p.properties.mother_screened_child_muac
),
Caretaker_trained_in_muac__c: cleanChoice(
p.properties.mother_trained_muac
),
of_Caretaker_MUAC_screenings__c: p.properties.mother_nb_screening,
Current_Height__c: p.properties.current_height,
Current_MUAC__c: p.properties.MUAC,
Current_Nutrition_Status__c: p.properties.Nutrition_Status
? nutritionMap[p.properties.Nutrition_Status]
: undefined,
//TT5 & HAWI =====================//
TT5_Mother_Registrant__c: p.properties.Pregnant == 'Yes' ? 'Yes' : null,
Enrollment_Date__c:
p.properties.age < 5 || p.properties.Pregnant == 'Yes'
? p.server_date_modified
: null,
HAWI_Enrollment_Date__c:
p.properties.hiv_status == 'positive' ? p.server_date_modified : null,
Thrive_Thru_5_Registrant__c:
p.properties.age < 5 || p.properties.Pregnant == 'Yes' ? 'Yes' : 'No',
HAWI_Registrant__c:
p.properties.hiv_status == 'positive' ? 'Yes' : 'No',
//ANC =====================//
ANC_1__c:
p.properties.ANC_1 && p.properties.ANC_1 !== ''
? p.properties.ANC_1
: undefined,
ANC_2__c:
p.properties.ANC_2 && p.properties.ANC_2 !== ''
? p.properties.ANC_2
: undefined,
ANC_3__c:
p.properties.ANC_3 && p.properties.ANC_3 !== ''
? p.properties.ANC_3
: undefined,
ANC_4__c:
p.properties.ANC_4 && p.properties.ANC_4 !== ''
? p.properties.ANC_4
: undefined,
ANC_5__c:
p.properties.ANC_5 && p.properties.ANC_5 !== ''
? p.properties.ANC_5
: undefined,
Date_of_Birth__c:
p.properties.DOB && p.properties.DOB !== ''
? p.properties.DOB.replace(/\\/g, '-')
: undefined,
//Immunization =====================//
// Child_missed_immunization_type__c:
// p.form.TT5.Child_Information.Immunizations.immunization_type,
BCG__c: p.properties.BCG,
OPV_0__c: p.properties.OPV_0,
Measles_6__c: p.properties.Measles_6,
Measles_9__c: p.properties.Measles_9,
Measles_18__c: p.properties.Measles_18,
OPV_1__c: p.properties.OPV_PCV_Penta_1,
OPV_2__c: p.properties.OPV_PCV_Penta_2,
OPV_3__c: p.properties.OPV_PCV_Penta_3,
Rotavirus_1__c: p.properties.rotavirus_1,
Rotavirus_2__c: p.properties.rotavirus_2,
IPV__c: p.properties.IPV,
Vitamin_A_12__c: p.properties.Vitamine_A,
Vitamin_A_18__c: p.properties.Vitamine_A_2,
Vitamin_A_24__c: p.properties.Vitamine_A_3,
Deworming_12__c: p.properties.Deworming_1,
Deworming_18__c: p.properties.Deworming_2,
Deworming_24__c: p.properties.Deworming_3,
//ECD =====================//
Did_you_counsel_caregiver_on__c: cleanChoice(
p.properties.did_you_counsel_the_caregiver_on_delayed_milestones
),
Delayed_Milestone__c: cleanChoice(
p.properties.does_the_child_has_a_delayed_milestone
),
Child_has_2_or_more_play_items__c: cleanChoice(
p.properties.does_the_child_has_2_or_more_play_items_at_home
),
Child_has_3_or_more_picture_books__c: cleanChoice(
p.properties.does_the_child_has_3_or_more_picture_books
),
Delayed_Milestones_Counselled_On__c: p.properties
.which_delayed_milestone_area_did_you_counsel_the_caregiver_on
? milestoneMap[
p.properties
.which_delayed_milestone_area_did_you_counsel_the_caregiver_on
]
: undefined,
Delayed_Milestone_Type__c: p.properties.which_delayed_milestone
? milestoneTypeMap[p.properties.which_delayed_milestone]
: undefined,
//Death =====================//
Date_of_Death__c: p.properties.Date_of_Death,
Cause_of_Death__c: p.properties.cause_of_death_dead
? p.properties.cause_of_death_dead.toString().replace(/_/g, ' ')
: p.properties.cause_of_death_dead,
Verbal_autopsy__c: p.properties.verbal_autopsy,
//Closing =====================//
Last_Modified_Date_CommCare__c: p.date_modified,
Case_Closed_Date__c: p.date_closed,
};
});

sfRecordMapping.forEach(rec => {
Object.entries(rec).forEach(([key, value]) => {
if (value === '' || value === null) rec[key] = undefined;
});
});

// TODO clean up after QA
// console.log(JSON.stringify(caregiverMapping, null, 2), 'careGiver');
// console.log(JSON.stringify(motherMapping, null, 2), 'Mother');
//console.log(JSON.stringify(sfRecordMapping, null, 2), 'sfRecordMapping');
// console.log(JSON.stringify(householdMapping, null, 2), 'householdMapping');
// console.log(
// JSON.stringify(headOfHouseholdMapping, null, 2),
// 'headOfHouseholdMapping'
// );

return {
...state,
motherMapping,
sfRecordMapping,
caregiverMapping,
householdMapping,
headOfHouseholdMapping,
};
});


// TODO, Clean up when pass QA
/*fn(state => {
state.sfRecordMapping.forEach(rec => {
Object.entries(rec).forEach(([key, value]) => {
if (typeof key !== 'string') throw `${key} is not a string`;
});
});
return state;
});
*/
// bulk(
// 'Household__c',
// 'upsert',
// {
// extIdField: 'CommCare_Code__c',
// failOnError: true,
// allowNoOp: true,
// },
// state => {
// console.log('Bulk upserting...');
// return state.householdMapping;
// }
// );

// TODO, Clean up when pass QA
// upsert data to SF
// upsertIf(
// state.data.properties.commcare_username !== 'test.2021' &&
// state.data.properties.test_user !== 'Yes',
// 'Person__c',
// 'CommCare_ID__c',
// state => state.sfRecord
// );

bulk(
'Person__c',
'upsert',
{
extIdField: 'CommCare_ID__c',
failOnError: true,
allowNoOp: true,
},
state => {
console.log('Bulk upserting persons ::');
//HMN commented this
//console.log(JSON.stringify(state.sfRecordMapping, null, 2));
return state.sfRecordMapping;
}
);
// TODO, Clean up when pass QA
// upsertIf(
// state.data.properties.commcare_username !== 'test.2021' &&
// state.data.properties.test_user !== 'Yes' &&
// state.data.properties.caretaker_case_id !== undefined &&
// state.data.properties.caretaker_case_id !== '',
// 'Person__c',
// 'CommCare_ID__c',
// fields(
// relationship('Primary_Caregiver_Lookup__r', 'CommCare_ID__c', state => {
// return (caregiver = dataValue('properties.caretaker_case_id')(state));
// }),
// field('CommCare_ID__c', dataValue('case_id'))
// )
// );

bulk(
'Person__c',
'upsert',
{
extIdField: 'CommCare_ID__c',
failOnError: true,
allowNoOp: true,
},
state => {
console.log('Bulk upserting primary caregiver Persons ::');
//console.log(JSON.stringify(state.caregiverMapping, null, 2));
return state.caregiverMapping;
}
);

// TODO, Clean up when pass QA
// upsertIf(
// state.data.properties.commcare_username !== 'test.2021' &&
// state.data.properties.test_user !== 'Yes' &&
// state.data.properties.mother_case_id !== undefined &&
// state.data.properties.mother_case_id !== '',
// 'Person__c',
// 'CommCare_ID__c',
// fields(
// relationship('Mother__r', 'CommCare_ID__c', state => {
// return (caregiver = dataValue('properties.mother_case_id')(state));
// }),
// field('CommCare_ID__c', dataValue('case_id'))
// )
// );
bulk(
'Person__c',
'upsert',
{
extIdField: 'CommCare_ID__c',
failOnError: true,
allowNoOp: true,
},
state => {
console.log('Bulk upserting mother Person::');
// console.log(JSON.stringify(state.motherMapping, null, 2));
return state.motherMapping;
}
);

// TODO, Clean up when pass QA
// upsertIf(
// state.data.properties.commcare_username !== 'test.2021' &&
// state.data.properties.test_user !== 'Yes' &&
// state.data.properties.head_of_household_case_id !== undefined &&
// state.data.properties.head_of_household_case_id !== '',
// 'Household__c',
// 'CommCare_Code__c',
// fields(
// field('CommCare_Code__c', dataValue('indices.parent.case_id')),
// relationship(
// 'Head_of_Household__r',
// 'CommCare_ID__c',
// dataValue('properties.head_of_household_case_id')
// )
// )
// );

bulk(
'Household__c',
'upsert',
{
extIdField: 'CommCare_Code__c',
failOnError: true,
allowNoOp: true,
},
state => {
console.log('Bulk upserting head of household field on HH ::');
// console.log(JSON.stringify(state.headOfHouseholdMapping, null, 2));
return state.headOfHouseholdMapping;
}
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/WF3-1-Bulk-get-Person-Visit-cases-2023-05-19.html b/adaptors/library/jobs/auto/WF3-1-Bulk-get-Person-Visit-cases-2023-05-19.html index ec2eb227993..57a265319ca 100644 --- a/adaptors/library/jobs/auto/WF3-1-Bulk-get-Person-Visit-cases-2023-05-19.html +++ b/adaptors/library/jobs/auto/WF3-1-Bulk-get-Person-Visit-cases-2023-05-19.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

WF3-1. Bulk get Person Visit cases

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: WF3-1. Bulk get Person Visit cases
  • Adaptor: @openfn/language-http
  • Adaptor Version: v4.2.8
  • Created 4 months ago
  • Updated 20 days ago
  • Score: 92 (an indicator of how useful this job may be)

Key Functions

each, get, map

Expression

fn(state => {
const { baseUrl } = state.configuration;

const caseTypes = ['visite'];

//NOTE: You can use 'limit' to modify this batch size as desired
const limit = 1000; //E.g., change to 10 to process records in smaller batch sizes

//NOTE: indexedOnStart is the default sync start data the FIRST time the job runs
const indexedOnStart = '2023-08-29T13:00:00';

//NOTE: After first job run, OpenFn will check the job sync data ("lastRunAt") to set as the indexedOnStart
const lastRunAt =
typeof state.lastRunAt !== 'undefined' ? state.lastRunAt : indexedOnStart;
console.log('Filtering cases with indexed_on_start > than ::', lastRunAt);

const aMinuteAgo = new Date( Date.now() - 1000 * 60 );
console.log(aMinuteAgo);

const queries = caseTypes.map(
t => `?type=${t}&indexed_on_start=${lastRunAt}&limit=${limit}`
//NOTE: If for testing, you want to fetch data for a specific historical range (e.g., between April 23 and 24)...
//...then use the query string below instead of the one above on L16, and custom adjust the index_on start/end dates
// t => `?type=${t}&indexed_on_start=2023-07-11T10:00:00&limit=${limit}&indexed_on_end=2023-07-11T12:59:59`
);

return { ...state, queries, baseUrl, payloads: [] };
});

// create a "recursiveGet" which will call itself if CommCare tells us there's
// more data to fetch for the same form

fn(state => {
const recursiveGet = url =>
get(
url,
{
headers: { 'content-type': 'application/json' },
},
nextState => {
const now = new Date();
const { baseUrl, data, payloads } = nextState;

const { meta, objects } = data;
console.log('Metadata in CommCare response:', meta);

const finalState = {
...nextState,
payloads: [...payloads, ...objects],
};

if (meta.next) {
console.log('Next query detected, recursing...');
return recursiveGet(`${baseUrl}${meta.next}`)(finalState);
}
finalState.lastRunAt = now.toISOString().slice(0, 19);
return finalState;
}
);

return { ...state, recursiveGet };
});

// for each initial query, fetch data recursively
each(
'$.queries[*]',
fn(state => {
return state.recursiveGet(`${state.baseUrl}${state.data}`)(state);
})
);
// log the total number of payloads returned
fn(state => {
console.log('Count of payloads', state.payloads.length);

return { ...state, references: [], data: {} };
});
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/WF3-2-Bulk-upsert-Person-Visits-2023-05-19.html b/adaptors/library/jobs/auto/WF3-2-Bulk-upsert-Person-Visits-2023-05-19.html index e1d6ad5296a..afe5f1c12d1 100644 --- a/adaptors/library/jobs/auto/WF3-2-Bulk-upsert-Person-Visits-2023-05-19.html +++ b/adaptors/library/jobs/auto/WF3-2-Bulk-upsert-Person-Visits-2023-05-19.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

WF3-2. Bulk upsert Person Visits

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

bulk, dataValue, join, map, query, JSON

Expression

fn(state => {
if (state.payloads.length == 0) return { ...state, personVisits: [] };

const owner_ids = state.payloads.map(data => data.properties.owner_id);
const uniq_owner_ids = [...new Set(owner_ids)];

return { ...state, uniq_owner_ids };
});

fn(state => {
if (state.payloads.length == 0) return state;
return query(
`SELECT CommCare_User_ID__c, Id village, Parent_Geographic_Area__c area, Parent_Geographic_Area__r.Name name, Parent_Geographic_Area__r.Parent_Geographic_Area__c catchment FROM Location__c WHERE CommCare_User_ID__c IN ('${state.uniq_owner_ids.join(
"','"
)}') GROUP BY Id, CommCare_User_ID__c, Parent_Geographic_Area__c, Parent_Geographic_Area__r.Name, Parent_Geographic_Area__r.Parent_Geographic_Area__c`
)(state);
});

fn(state => {
if (state.payloads.length == 0) return state;
const [reference] = state.references;

// console.log(JSON.stringify(reference, null, 2));
const records = reference.records;
const fetchReference = (owner_id, arg) => {
const result =
records && records.length > 0
? records.filter(record => record.CommCare_User_ID__c === owner_id)
: 0;

return result.length > 0 ? result[0][arg] : undefined;
};
const cleanChoice = choice => {
if (choice) {
return choice.charAt(0).toUpperCase() + choice.slice(1).replace('_', ' ');
} else {
return '';
}
};

const handleMultiSelect = multiField => {
return multiField
? multiField
.replace(/ /gi, ';')
.toLowerCase()
.split(';')
.map(value => {
return (
value.charAt(0).toUpperCase() + value.slice(1).replace('_', ' ')
);
})
.join(';')
: '';
};

const handleMultiSelectOriginal = multiField => {
return multiField
? multiField
.replace(/ /gi, ';')
.toLowerCase()
.split(';')
.map(value => {
return value;
})
.join(';')
: '';
};

const pregDangerMap = {
Vaginal_Bleeding: 'Vaginal Bleeding',
Water_Breaks: 'Water Breaks before Time of Delivery',
Prolonged_Labour: 'Prolonged Labour over 12 Hours',
Convulsions: 'Convulsions or Fits',
Abdominal_Pain: 'Severe Abdominal Pain before Delivery',
High_Fever: 'High Fever',
Low_Baby_Movement: 'Feeling the Baby move less or not at all',
Swelling: 'Swelling of Face and Hands',
Severe_Headache: 'Severe or Continuous Headache for more than 12 hours',
Severe_Vomiting: 'Severe or Continuous Vomiting',
none: 'None',
};

const counselMap = {
anc_visits: 'ANC Visits',
early_initiation_of_anc_less_than_3_months:
'Early initiation of ANC (less than 3 months)',
completing_recomended_anc_visits: 'Completing recomended ANC visits',
danger_signs: 'Danger signs',
skilled_birth: 'Skilled birth',
immunization: 'Immunization',
individual_birth_plan: 'Individual Birth Plan',
emergency_preparedness: 'Emergency preparedness',
childcare_and_affection: 'Childcare and affection',
nutrition_counseling: 'Nutrition counseling',
growth_monitoring: 'Growth monitoring',
exclusive_breastfeeding: 'Exclusive breastfeeding',
complementary_feeding: 'Complementary feeding',
sleeping_under_llitn: 'Sleeping under LLITN',
knowing_hiv_status: 'Knowing HIV status',
indoor_pollution: 'Indoor pollution',
personal_hygiene: 'Personal Hygiene',
safe_drinking_water: 'Safe drinking water',
safe_disposal_of_human_waste: 'Safe disposal of human waste',
};

const serviceMap = {
Scheduled_PSC_Apt: 'Scheduled PSC Apt',
Adverse_Drug_Reaction_Side_Effect: 'Adverse Drug Reaction/Side Effect',
Malnutrition: 'Malnutrition',
Malaria: 'Malaria',
TB: 'TB',
Treatment_for_Other_OIs: 'Treatment for other Ols',
ARI: 'ARI',
Anemia: 'Anemia',
Diarrhea: 'Diarrhea',
Pregnancy_Care: 'Pregnancy Care (ANC)',
Family_Planning: 'Family Planning (FP)',
Preconception_Counseling: 'Preconception Counseling',
Injury: 'Injury',
Other: 'Other',
};

const reasonMap = {
lack_of_access_to_fp_information: 'Lack of access to FP information',
no_access_to_fp_services_hospitals:
'Lack of hospitals or places where FP services can be accessed',
not_willing_to_use_fp_due_to_negative_effects_myths_and_misconceptions:
'Myths and misconceptions',
barriers_at_service_delivery_points: 'Barriers at service delivery points',
pregnant: 'The client is pregnant',
intentions_of_getting_pregnant: 'Intentions of getting pregnant',
not_sexually_active: 'The client is not sexually active',
other_barriers_culture_male_partners_parents_etc:
'Other barriers (culture, male partners, parents, etc)',
};

const milestoneTypeMap = {
cognitive_delays_learning_difficulties:
'Cognitive Delays Learning Difficulties',
motor_delays: 'Motor Delays',
speech_and_language_delay: 'Delay Speech and Language Delay',
social_and_emotional: 'Social and emotional',
};

const milestoneMap = {
movement: 'Movement',
hearing: 'Hearing',
communication: 'Communication',
seeing: 'Seeing',
cognitive_delays: 'Cognitive Delays',
play: 'Play',
};
const nutritionMap = {
severe: 'Severely Malnourished',
moderate: 'Moderately Malnourished',
normal: 'Normal',
};

const fpMethodMap = {
male_condoms: 'Male condoms',
female_condoms: 'Female condoms',
pop: 'POP',
coc: 'COC',
emergency_pills: 'Emergency pills',
none: 'None',
//HMN -12/01/2023-
//adding normalization for the family_planning_method to Family_Planning_Method__c
iucd: 'IUCD',
condoms: 'Condoms',
depo: 'Depo',
implant: 'Implant',
injection: 'Injection',
pills: 'Pills',
traditional: 'Traditional',
};

const symptomsMap = {
convulsions: 'Convulsions',
not_able_to_eatdrink: 'Not able to drink or feed at all',
vomits_everything: 'Vomits everything',
'chest_in-drawing': 'Chest in - drawing',
unusually_sleepyunconscious: 'Unusually sleepy or unconscious',
swelling_of_both_feet: 'Swelling of both feet',
none: 'None',
};

const supervisorMap = {
community_health_nurse: 'Community_health_nurse',
chw_supervisor: 'CHW_supervisor',
chewschas: 'Chewschas',
other: 'Other',
none: 'None',
};

const treatmentDistributionMap = {
ors_205gltr_sachets: 'ORS (20.5h/ltr): Sachets',
acts_6s: 'ACTs (6s)',
acts_12s: 'ACTs (12s)',
acts_18s: 'ACTs (18s)',
acts_24s: 'ACTs (24s)',
albendazole_abz_tabs: 'Albendazole (ABZ): Tabs',
paracetamol_tabs: 'Tetracycline Eye Ointment (TEO): 1%:tube',
tetracycline_eye_ointment_teo_1_tube:
'Tetracycline Eye Ointment (TEO): 1%:tube',
amoxycillin: 'Amoxycillin (125mg/5mls: Bottle',
none: 'None',
};

const childDangerSignsMap = {
none: 'None',
Poor_Breastfeeding: 'Poor Breastfeeding',
not_able_to_feed_since_birth_or_stopped_feeding_well:
'Not able to feed since birth, or stopped feeding well',
not_able_to_breastfeed: 'Not able to breastfeed',
Fever: 'Fever',
very_low_temperature: 'Very low temperature (35.4 C or less)',
shivering: 'Shivering',
Fast_Breathing: 'Fast Breathing',
Very_Sleepy: 'Very Sleepy',
Convulsions_and_Fits: 'Convulsions and Fits',
only_moves_when_stimulated_or_does_not_move_even_on_stimulation:
'Only moves when stimulated, or does not move even on stimulation',
yellow_solebaby_body_turning_yellow_especially_eyes_palms_soles:
'Yellow sole(Baby body turning yellow especially eyes, palms,soles)',
bleeding_from_the_umbilical_stump: 'Bleeding from the umbilical stump',
signs_of_local_infection_umbilicus_is_red_or_draining_pus_skin_boils_or_eye:
'Signs of local infection: umbilicus is red or draining pus, skin boils, or eyes draining pus',
weight_chart_using_color_coded_scales_if_red_or_yellowweight_below_25kg_or_:
'Weight chart using color coded scales if RED or YELLOW(Weight below 2.5kg or born less than 36 weeks of age)',
unable_to_cry: 'Unable to cry',
cyanosis: 'Cyanosis',
bulging_fontanelle: 'Bulging fontanelle',
};

return {
...state,
counselMap,
serviceMap,
reasonMap,
milestoneTypeMap,
milestoneMap,
nutritionMap,
pregDangerMap,
fpMethodMap,
symptomsMap,
supervisorMap,
treatmentDistributionMap,
childDangerSignsMap,
fetchReference,
cleanChoice,
handleMultiSelect,
handleMultiSelectOriginal,
};
});

fn(state => {
if (state.payloads.length == 0) return state;
const {
counselMap,
serviceMap,
reasonMap,
milestoneTypeMap,
milestoneMap,
nutritionMap,
pregDangerMap,
fpMethodMap,
symptomsMap,
supervisorMap,
treatmentDistributionMap,
childDangerSignsMap,
fetchReference,
cleanChoice,
handleMultiSelect,
handleMultiSelectOriginal,
} = state;

const personVisits = state.payloads
//HMN 30/06/2023 Allow test user to post
/*
.filter(
p =>
p.properties.username !== 'test.2021' &&
p.properties.test_user !== 'Yes'
)*/
.map(p => {
// commCareVisitID
const commCareCase_id = p.case_id;
const dateVisit = p.properties.date_opened;
const commCareVisitID = commCareCase_id + '_' + dateVisit;

// personsSymptoms
const psCheck = p.properties.symptoms_check_other;
const psValue =
psCheck && psCheck !== ''
? psCheck
.replace(/ /gi, ';')
.split(';')
.map(value => {
return symptomsMap[value] || value;
})
: undefined;
const personsSymptoms = psValue ? psValue.join(';') : undefined;

// familyPlanningMethod
const fpmStatus = p.properties.family_planning_method;
const fpmValue =
fpmStatus && fpmStatus !== ''
? fpmStatus
.replace(/ /gi, ';')
.split(';')
.map(value => {
return fpMethodMap[value] || value;
})
: undefined;
const familyPlanningMethod = fpmValue ? fpmValue.join(';') : undefined;

// fpMethodDistributed
const fpmdStatus = p.properties.FP_commodity;
const fpmdValue =
fpmdStatus && fpmdStatus !== ''
? fpmdStatus
.replace(/ /gi, ';')
.split(';')
.map(value => {
return fpMethodMap[value] || value;
})
: undefined;
const fpMethodDistributed = fpmdValue ? fpmdValue.join(';') : undefined;

// reasonForNotTakingFPMethod
const rfntStatus = p.properties.No_FPmethod_reason;
const rfntValue =
rfntStatus && rfntStatus !== ''
? rfntStatus
.replace(/ /gi, ';')
.split(';')
.map(value => {
return reasonMap[value] || value;
})
: undefined;
const reasonForNotTakingFPMethod = rfntValue
? rfntValue.join(';')
: undefined;

// clientCounselledOnC
const ccocChoices =
p.properties.counsel_topic || p.properties.counsel_topic;
const ccocVhoiceGroups = ccocChoices ? ccocChoices.split(' ') : null;
const clientCounselledOnC = ccocVhoiceGroups
? ccocVhoiceGroups
.map(cg => {
return counselMap[cg];
})
.join(';')
: ccocVhoiceGroups;

// treatmentDistributionC
//const tdcStatus = p.form.treatment_and_tracking.distribution.distributed_treatments;
const tdcStatus = p.properties.distributed_treatments;
const tdcValue =
tdcStatus && tdcStatus !== ''
? tdcStatus
.replace(/ /gi, ';')
.split(';')
.map(value => {
return treatmentDistributionMap[value] || value;
})
: undefined;
const treatmentDistributionC = tdcValue ? tdcValue.join(';') : undefined;

// chronicIllnesC
const ciChoice =
p.properties.please_specify_which_chronic_illness_the_person_has;
const ciChoice2 = handleMultiSelect(ciChoice);
const chronicIllnesC = ciChoice2 ? ciChoice2.replace(/_/g, ' ') : '';

// supervisorVisit
const svCheck = p.properties.supervisor_visit;
const svValue =
svCheck && svCheck !== ''
? svCheck
.replace(/ /gi, ';')
.split(';')
.map(value => {
return supervisorMap[value] || value;
})
: undefined;
const supervisorVisit = svValue ? svValue.join(';') : undefined;
const recordType = p.properties.RecordType;

return {
CommCare_ID__c: p.case_id, //'visit' case_id
'Person__r.CommCare_ID__c':
p.indices.parent.case_id || p.properties.parent_id,
CommCare_Visit_ID__c: commCareVisitID,
Date__c: p.properties.Date,
Birth_Status__c: p.properties.child_status,
Catchment__c: fetchReference(p.properties.owner_id, 'catchment'),
//HMN Accommodating Record Type in Visit
'RecordType.Name': recordType === 'Unborn' || recordType === 'Child'
? 'Child Visit'
:recordType === 'Youth'
? 'Youth Visit'
:recordType === 'Male Adult'
? 'Adult Male Visit'
: recordType === 'Female Adult'
? 'Adult Female Visit'
:undefined,
Use_mosquito_net__c: cleanChoice(p.properties.sleep_under_net),
Individual_birth_plan_counselling__c:
p.properties.individual_birth_plan,
Reason_for_not_taking_a_pregnancy_test__c: p.properties.No_Preg_Test
? p.properties.No_Preg_Test.toString().replace(/_/g, ' ')
: undefined,
Pregnancy_danger_signs__c: p.properties.No_Preg_Test
? pregDangerMap[p.properties.No_Preg_Test]
: undefined,
Child_Danger_Signs__c: p.properties.Other_Danger_Signs
? childDangerSignsMap[p.properties.Other_Danger_Signs]
: undefined,
Current_Malaria_Status__c: cleanChoice(
p.properties.malaria_test_results
),
Malaria_Home_Test__c: p.properties.malaria_test_date,
Malaria_Home_Treatment__c: p.properties.malaria_test_date,
Persons_symptoms__c: personsSymptoms,
Active_in_Support_Group__c: p.properties.Active_in_Support_Group,
HAWI_Defaulter__c: p.properties.default === 'Yes' ? true : false,
Date_of_Default__c: p.properties.date_of_default,
Persons_temperature__c: p.properties.temperature,
Days_since_illness_start__c: p.properties.duration_of_sickness,
Newborn_visited_48_hours_of_delivery__c:
p.properties.newborn_visited_48_hours_of_delivery,
Newborn_visited_by_a_CHW_within_6_days__c:
p.properties.visit_6_days_from_delivery,
Current_Malaria_Status__c: p.properties.malaria_test_results,
Malaria_test__c: cleanChoice(p.properties.malaria_test),
Fever__c: cleanChoice(p.properties.symptoms_check_fever),
Cough__c: cleanChoice(p.properties.symptoms_check_cough),
Diarrhoea__c: cleanChoice(p.properties.symptoms_check_diarrhea),
TB_patients_therapy_observed__c: p.properties.observed_tb_therapy,
Injuries_or_wounds__c: p.properties.wounds_or_injuries,
Currently_on_ART_s__c: p.properties.ART,
// ART_Regimen__c: () => {
// const choice = dataValue(
// 'properties.ARVs;
// return cleanChoice(choice);
// },
Immediate_Breastfeeding__c: p.properties.Breastfeeding_Delivery,
Exclusive_Breastfeeding__c: p.properties.Exclusive_Breastfeeding,
Counselled_on_Exclusive_Breastfeeding__c: p.properties.counseling,
LMP__c: p.properties.when_was_your_lmp,
Family_Planning__c: cleanChoice(p.properties.family_planning),
Family_Planning_Method__c: p.properties.family_planning_method,
Family_Planning_Method__c: familyPlanningMethod,
FP_Method_Distributed__c: fpMethodDistributed,
Reasons_for_not_taking_FP_method__c: reasonForNotTakingFPMethod,
Pregnant__c: p.properties.Pregnant === 'Yes' ? true : false,
Counselled_on_FP_Methods__c: cleanChoice(
p.properties.CounselledFP_methods
),
Client_counselled_on__c: clientCounselledOnC,
Client_provided_with_FP__c: cleanChoice(
p.properties[
'was_the_woman_15-49yrs_provided_with_family_planning_commodities_by_chv'
]
),
Newborn_visited_48_hours_of_delivery__c:
p.properties.newborn_visited_48_hours_of_delivery,
Mother_visit_counselling__c: cleanChoice(
p.properties.did_you_consel_the_mother_on1
),
mother_visited_48_hours_of_the_delivery__c:
p.properties.visit_mother_48,
Newborn_visit_counselling__c: cleanChoice(
p.properties.did_you_consel_the_mother_on2
),
Know_HIV_status__c: cleanChoice(p.properties.known_hiv_status),
HIV_Status__c: p.properties.hiv_status,
Treatment_Distribution__c: treatmentDistributionC,
// QUESTION: Field name not found : Current_Weight__c
// Current_Weight__c: p.properties.Current_Weight,
Current_Height__c: p.properties.current_height,
Current_MUAC__c: p.properties.MUAC,
Food_groups_3_times_a_day__c: p.properties.food_groups,
Nutrition_Case_Managed__c: p.properties.nutrition_case_managed,
Nutrition_Danger_Signs__c: handleMultiSelectOriginal(
p.properties.nutrition_danger_signs
),
Why_was_nutrition_case_not_managed__c:
p.properties.nutrition_case_not_managed_why,
Community_Nutrition_Treatment__c:
p.properties.nutrition_treatment_severe,
Community_Nutrition_Treatment__c:
p.properties.nutrition_treatment_moderate,
Why_was_nutrition_treatment_not_given__c:
p.properties.nutrition_treatment_not_given,
Current_Nutrition_Status__c: p.properties.Nutrition_Status
? nutritionMap[p.properties.Nutrition_Status]
: undefined,
Default_on_TB_treatment__c: cleanChoice(
p.properties.default_tb_treatment
),
Received_pregnancy_test__c: cleanChoice(
p.properties.did_you_adminsiter_a_pregnancy_test
),
Pregnancy_test_result__c: cleanChoice(
p.properties.pregnancy_test_result
),
Chronic_illness__c: chronicIllnesC,
Childs_breath_per_minute__c: p.properties.breaths_per_minuite,
Child_chest_in_drawing__c: p.properties.Child_chest_in_drawing_c,
Caregiver_counseled_on_delayed_milestone__c:
p.properties.did_you_counsel_the_caregiver_on_delayed_milestones,
Delayed_Milestone__c:
p.properties.does_the_child_has_a_delayed_milestone,
Child_has_2_or_more_play_items__c:
p.properties.does_the_child_has_2_or_more_play_items_at_home,
Child_has_3_more_picture_books__c:
p.properties.does_the_child_has_3_or_more_picture_books,
Delayed_Milestones_Counselled_On__c: p.properties
.which_delayed_milestone_area_did_you_counsel_the_caregiver_on
? milestoneMap[
p.properties
.which_delayed_milestone_area_did_you_counsel_the_caregiver_on
]
: undefined,
Delayed_Milestone_Type__c: p.properties.which_delayed_milestone
? milestoneMap[p.properties.which_delayed_milestone]
: undefined,
Caretaker_trained_in_muac__c: p.properties.mother_trained_muac,
Caretaker_screened_for_muac_this__c:
p.properties.mother_screened_child_muac,
Caretaker_muac_findings__c:
p.properties.mother_screened_child_muac_result,
Caretaker_action_after_muac_screening__c:
p.properties.mother_screened_muac_action,
of_Caretaker_MUAC_screenings__c: p.properties.mother_nb_screening,
Pulse_Oximeter__c: p.properties.pulse_oximeter_available,
Heart_Rate_Pulse_Oximeter__c: p.properties.heart_rate_pulse_oximeter,
Oxygen_Concentration_Pulse_Oximeter__c:
p.properties.oxygen_concentration,
Can_child_drink__c: p.properties.can_child_drink,
Antibiotic_provided_for_fast_breathing__c:
p.properties.antibiotic_fast_breathing,
Antibiotic_provided_for_chest_indrawing__c:
p.properties.antibiotic_chest_indrawing,
Supervisor_Visit__c: supervisorVisit,
//HMN commented this one due to error "Error: InvalidBatch : Field name not found : Visit_Closed_Date__c"
//Visit_Closed_Date__c: p.properties.date_closed,
//29/06/2023 Added Malaria Vaccine mapping
malaria_vaccine_received__c:
p.properties.malaria_vaccine_received,
rts_s_1_date__c:
p.properties.rts_s_1_date,
rts_s_2_date__c:
p.properties.rts_s_2_date,
rts_s_3_date__c:
p.properties.rts_s_3_date,
rts_s_4_date__c:
p.properties.rts_s_4_date,

//HMN 29/06/2023
};
});

personVisits.forEach(person => {
Object.entries(person).forEach(([key, value]) => {
if (value === '' || value === null) person[key] = undefined;
});
});

// JSON logging of records
// console.log(JSON.stringify(personVisits, null, 2));

return { ...state, personVisits };
});

bulk(
'Person_visit__c',
'upsert',
{
extIdField: 'CommCare_ID__c',
failOnError: true,
allowNoOp: true,
},
state => {
console.log('Bulk upserting person visit...');
return state.personVisits;
}
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/WF3-2a-Repeat-Failed-Person-Visits-2023-05-31.html b/adaptors/library/jobs/auto/WF3-2a-Repeat-Failed-Person-Visits-2023-05-31.html index 3de28c90679..4f407c964f2 100644 --- a/adaptors/library/jobs/auto/WF3-2a-Repeat-Failed-Person-Visits-2023-05-31.html +++ b/adaptors/library/jobs/auto/WF3-2a-Repeat-Failed-Person-Visits-2023-05-31.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

WF3-2a/ Repeat Failed Person Visits

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

each, get, map

Expression

fn(state => {
const { baseUrl } = state.configuration;

const caseTypes = ['visite'];

//NOTE: You can use 'limit' to modify this batch size as desired
const limit = 1000; //E.g., change to 10 to process records in smaller batch sizes

//NOTE: indexedOnStart is the default sync start data the FIRST time the job runs
const indexedOnStart = '2023-08-29T13:00:00';

//NOTE: After first job run, OpenFn will check the job sync data ("lastRunAt") to set as the indexedOnStart
const lastRunAt =
typeof state.lastRunAt !== 'undefined' ? state.lastRunAt : indexedOnStart;
console.log('Filtering cases with indexed_on_start > than ::', lastRunAt);

const aMinuteAgo = new Date( Date.now() - 1000 * 60 );
console.log(aMinuteAgo);

const queries = caseTypes.map(
t => `?type=${t}&indexed_on_start=${lastRunAt}&limit=${limit}`
//NOTE: If for testing, you want to fetch data for a specific historical range (e.g., between April 23 and 24)...
//...then use the query string below instead of the one above on L16, and custom adjust the index_on start/end dates
// t => `?type=${t}&indexed_on_start=2023-07-11T10:00:00&limit=${limit}&indexed_on_end=2023-07-11T12:59:59`
);

return { ...state, queries, baseUrl, payloads: [] };
});

// create a "recursiveGet" which will call itself if CommCare tells us there's
// more data to fetch for the same form

fn(state => {
const recursiveGet = url =>
get(
url,
{
headers: { 'content-type': 'application/json' },
},
nextState => {
const now = new Date();
const { baseUrl, data, payloads } = nextState;

const { meta, objects } = data;
console.log('Metadata in CommCare response:', meta);

const finalState = {
...nextState,
payloads: [...payloads, ...objects],
};

if (meta.next) {
console.log('Next query detected, recursing...');
return recursiveGet(`${baseUrl}${meta.next}`)(finalState);
}
finalState.lastRunAt = now.toISOString().slice(0, 19);
return finalState;
}
);

return { ...state, recursiveGet };
});

// for each initial query, fetch data recursively
each(
'$.queries[*]',
fn(state => {
return state.recursiveGet(`${state.baseUrl}${state.data}`)(state);
})
);
// log the total number of payloads returned
fn(state => {
console.log('Count of payloads', state.payloads.length);

return { ...state, references: [], data: {} };
});
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/WF4-1-Bulk-get-Referral-Cases-2023-05-19.html b/adaptors/library/jobs/auto/WF4-1-Bulk-get-Referral-Cases-2023-05-19.html index 155f94c03ce..42f24475198 100644 --- a/adaptors/library/jobs/auto/WF4-1-Bulk-get-Referral-Cases-2023-05-19.html +++ b/adaptors/library/jobs/auto/WF4-1-Bulk-get-Referral-Cases-2023-05-19.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

WF4-1. Bulk get Referral Cases

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: WF4-1. Bulk get Referral Cases
  • Adaptor: @openfn/language-http
  • Adaptor Version: v4.2.8
  • Created 4 months ago
  • Updated about 1 month ago
  • Score: 92 (an indicator of how useful this job may be)

Key Functions

each, get, map

Expression

fn(state => {
const { baseUrl } = state.configuration;

const caseTypes = ['Case'];

//NOTE: You can use 'limit' to modify this batch size as desired
const limit = 1000; //E.g., change to 10 to process records in smaller batch sizes

//NOTE: indexedOnStart is the default sync start data the FIRST time the job runs
const indexedOnStart = '2023-08-13T09:00:00';

//NOTE: After first job run, OpenFn will check the job sync data ("lastRunAt") to set as the indexedOnStart
const lastRunAt =
typeof state.lastRunAt !== 'undefined' ? state.lastRunAt : indexedOnStart;
console.log('Filtering cases with indexed_on_start > than ::', lastRunAt);

const queries = caseTypes.map(
t => `?type=${t}&indexed_on_start=${lastRunAt}&limit=${limit}`
//NOTE: If for testing, you want to fetch data for a specific historical range (e.g., between April 23 and 24)...
//...then use the query string below instead of the one above on L16, and custom adjust the index_on start/end dates
//t => `?type=${t}&indexed_on_start=2023-06-01T00:00:00&limit=${limit}&indexed_on_end=2023-06-07T23:59:59`
);

return { ...state, queries, baseUrl, payloads: [] };
});

// create a "recursiveGet" which will call itself if CommCare tells us there's
// more data to fetch for the same form
fn(state => {
const recursiveGet = url =>
get(
url,
{
headers: { 'content-type': 'application/json' },
},
nextState => {
const now = new Date();
const { baseUrl, data, payloads } = nextState;

const { meta, objects } = data;
console.log('Metadata in CommCare response:', meta);

const finalState = {
...nextState,
payloads: [...payloads, ...objects],
};

if (meta.next) {
console.log('Next query detected, recursing...');
return recursiveGet(`${baseUrl}${meta.next}`)(finalState);
}
finalState.lastRunAt = now.toISOString().slice(0, 19);
return finalState;
}
);

return { ...state, recursiveGet };
});

// for each initial query, fetch data recursively
each(
'$.queries[*]',
fn(state => {
return state.recursiveGet(`${state.baseUrl}${state.data}`)(state);
})
);
// log the total number of payloads returned
fn(state => {
console.log('Count of payloads', state.payloads.length);
return { ...state, references: [], data: {} };
});
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/WF4-2-Bulk-upsert-Services-2023-05-19.html b/adaptors/library/jobs/auto/WF4-2-Bulk-upsert-Services-2023-05-19.html index 2a644e66a82..94889f051aa 100644 --- a/adaptors/library/jobs/auto/WF4-2-Bulk-upsert-Services-2023-05-19.html +++ b/adaptors/library/jobs/auto/WF4-2-Bulk-upsert-Services-2023-05-19.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

WF4-2. Bulk upsert Services

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

bulk, join, map, query, JSON

Expression

// NOTE: We perform a query before anything else if this is a 'Case'
fn(state => {
// state.type = state.data.indices.parent.case_type;
if (state.payloads.length == 0) return { ...state, services: [] };

const caseType = state.payloads
.filter(c => c.indices.parent.case_type === 'Case')
.map(c => c.indices.parent.case_id);

console.log(JSON.stringify(caseType, null, 2));

if (caseType.length > 0)
return query(
`SELECT Person__r.CommCare_ID__c FROM Service__c WHERE Service_UID__c IN ('${caseType.join(
"','"
)}')`
)(state).then(state => {
const { records } = state.references[0];
const ccId =
records.length == 1 ? records[0].Person__r.CommCare_ID__c : null;
return { ...state, ccId };
});

return state;
});

// NOTE: We construct a facilityMap and populate some conditional relationships
fn(state => {
if (state.payloads.length == 0) return state;
const facilityMap = {
Lwala_Hospital: 'Lwala Hospital',
Minyenya_Dispensary: 'Minyenya Dispensary',
Ndege_Oriedo_Dispensary: 'Ndege Oriedo Dispensary',
'Rongo_Sub-District_Hospital': 'Rongo Sub-District Hospital',
Kangeso_Dispensary: 'Kangeso Dispensary',
Ngodhe_Dispensary: 'Ngodhe Dispensary',
Ngere_Dispensary: 'Ngere Dispensary',
Verna_Health_Center: 'Verna Health Center',
Kochola_Dispensary: 'Kochola Dispensary',
Ongo_Health_Center: 'Ongo Health Center',
Royal_Medical_Center: 'Royal Medical Center',
Rosewood_Facility: 'Rosewood Facility',
Other: 'Other',
};

const pregDangerMap = {
Vaginal_Bleeding: 'Vaginal Bleeding',
Water_Breaks: 'Water Breaks before Time of Delivery',
Prolonged_Labour: 'Prolonged Labour over 12 Hours',
Convulsions: 'Convulsions or Fits',
Abdominal_Pain: 'Severe Abdominal Pain before Delivery',
High_Fever: 'High Fever',
Low_Baby_Movement: 'Feeling the Baby move less or not at all',
Swelling: 'Swelling of Face and Hands',
Severe_Headache: 'Severe or Continuous Headache for more than 12 hours',
Severe_Vomiting: 'Severe or Continuous Vomiting',
none: 'None',
};

const serviceMap = {
Scheduled_PSC_Apt: 'Scheduled PSC Apt',
Adverse_Drug_Reaction_Side_Effect: 'Adverse Drug Reaction/Side Effect',
Malnutrition: 'Malnutrition',
Malaria: 'Malaria',
TB: 'TB',
Treatment_for_Other_OIs: 'Treatment for Other OIs',
ARI: 'ARI',
Anemia: 'Anemia',
Diarrhea: 'Diarrhea',
Pregnancy_Care: 'Pregnancy Care (ANC)',
Family_Planning: 'Family Planning (FP)',
Preconception_Counseling: 'Preconception Counseling',
Injury: 'Injury',
Other: 'Other',
};

const milestoneTypeMap = {
cognitive_delays_learning_difficulties:
'Cognitive Delays (Learning Difficulties)',
motor_delays: 'Motor Delays',
speech_and_language_delay: 'Speech and language Delay',
social_and_emotional: 'Social and emotional',
};

const symptomsMap = {
convulsions: 'Convulsions',
not_able_to_eatdrink: 'Not able to eat/drink',
vomits_everything: 'Vomits everything',
'chest_in-drawing': 'Chest in-drawing',
unusually_sleepyunconscious: 'Unusually sleepy/unconscious',
swelling_of_both_feet: 'Swelling of both feet',
};

const childSignMap = {
Poor_Breastfeeding: 'Poor Breastfeeding (under 6 months old child)',
not_able_to_feed_since_birth_or_stopped_feeding_well:
'Not able to feed since birth, or stopped feeding well',
not_able_to_breastfeed: 'Not able to breastfeed',
Fever: 'Fever (37.5 C or more)',
very_low_temperature: 'Very low temperature (35.4 C or less)',
shivering: 'Shivering',
Fast_Breathing: 'Fast Breathing',
Very_Sleepy: 'Very Sleepy',
Convulsions_and_Fits: 'Convulsions and Fits',
only_moves_when_stimulated_or_does_not_move_even_on_stimulation:
'Only moves when stimulated, or does not move even on stimulation',
yellow_solebaby_body_turning_yellow_especially_eyes_palms_soles:
'Yellow sole(Baby body turning yellow especially eyes, palms, soles)',
bleeding_from_the_umbilical_stump: 'Bleeding from the umbilical stump',
signs_of_local_infection_umbilicus_is_red_or_draining_pus_skin_boils_or_eye:
'Signs of local infection: umbilicus is red or draining pus, skin boils, or eyes draining pus',
weight_chart_using_color_coded_scales_if_red_or_yellowweight_below_25kg_or_:
'Weight chart using color coded scales if RED or YELLOW(Weight below 2.5kg or born less than 36 weeks of age)',
unable_to_cry: 'Unable to cry',
cyanosis: 'Cyanosis',
bulging_fontanelle: 'Bulging fontanelle',
};

const otherReferralMap = {
HIV_Testing_and_Counseling: 'HIV Testing and Counseling',
Visit_to_Clinician: 'Visit to Clinician',
Adverse_Drug_Reaction_Side_Effect: 'Adverse Drug Reaction Side Effect',
Malnutrition: 'Malnutrition',
Malaria: 'Malaria',
PMTCT: 'PMTCT',
TB: 'TB',
Treatment_for_other_OIs: 'Treatment for other OIs',
ARI: 'ARI',
Anemia: 'Anemia',
Diarrhea: 'Diarrhea',
Pregnancy_Care_ANCE: 'Pregnancy Care (ANC)',
Family_Planning_FP: 'Family Planning (FP)',
Preconception_Counseling: 'Preconception Counseling',
Injury: 'Injury',
blood_in_stool: 'Blood in Stool',
Blood_in_Stool: 'Blood in Stool',
Immunization: 'Immunization',
Routine_Health_Check_ups: 'Routine Health Check ups',
routine_health_check_ups: 'Routine Health Check ups',
Other: 'Other',
Poor_Breastfeeding: 'Poor Breastfeeding (under 6 months old child)',
not_able_to_feed_since_birth_or_stopped_feeding_well:
'Not able to feed since birth, or stopped feeding well',
not_able_to_breastfeed: 'Not able to breastfeed',
Fever: 'Fever (37.5 C or more)',
very_low_temperature: 'Very low temperature (35.4 C or less)',
shivering: 'Shivering',
Fast_Breathing: 'Fast Breathing',
Very_Sleepy: 'Very Sleepy',
Convulsions_and_Fits: 'Convulsions and Fits',
only_moves_when_stimulated_or_does_not_move_even_on_stimulation:
'Only moves when stimulated, or does not move even on stimulation',
yellow_solebaby_body_turning_yellow_especially_eyes_palms_soles:
'Yellow sole(Baby body turning yellow especially eyes, palms, soles)',
bleeding_from_the_umbilical_stump: 'Bleeding from the umbilical stump',
signs_of_local_infection_umbilicus_is_red_or_draining_pus_skin_boils_or_eye:
'Signs of local infection: umbilicus is red or draining pus, skin boils, or eyes draining pus',
weight_chart_using_color_coded_scales_if_red_or_yellowweight_below_25kg_or_:
'Weight chart using color coded scales if RED or YELLOW(Weight below 2.5kg or born less than 36 weeks of age)',
unable_to_cry: 'Unable to cry',
cyanosis: 'Cyanosis',
bulging_fontanelle: 'Bulging fontanelle',
};

const homeCareMap = {
Adherence_Counseling: 'Adherence Counseling',
Pill_Count_Monitoring: 'Pill Count Monitoring',
Nutrition_Assessment_and_Counseling: 'Nutrition Assessment and Counseling',
WASH_Counseling: 'WASH Counseling',
Prevention_Counseling: 'Prevention Counseling',
Psychosocial_Support: 'Psychosocial Support',
Provision_of_Supplies: 'Provision of Supplies',
OI_Management_Support: 'OI Management Support',
};

const ecdMap = {
physiotherapy: 'Physiotherapy',
speech_therapy: 'Speech Therapy',
nutrition_education: 'Nutrition Education',
play_therapy: 'Play Therapy',
assessment: 'Assessment',
counselling: 'Counselling',
other: 'Other',
};

const clinicalMap = {
diarrhea: 'Diarrhea',
malnutrition: 'Malnutrition',
malaria: 'Malaria',
acute_respiratory_infection: 'Acute Respiratoy Infection (ARI)',
accident_injury: 'Accident/Injury',
other: 'Other',
};

const caseType = state.payloads
.filter(c => c.indices.parent.case_type === 'Case')
.map(c => c.indices.parent.case_id);

const personType = state.payloads
.filter(c => c.indices.parent.case_type === 'Person')
.map(c => c.indices.parent.case_id);

let relationships = [];

// If it's a person, add the person relationship
if (personType.length > 0) {
personType.forEach(case_id => {
relationships.push({ 'Person__r.CommCare_ID__c': case_id });
});
}

// If it's a service, add the service rship AND a different person rship
if (caseType.length > 0) {
caseType.forEach(case_id => {
relationships.push({ 'Parent_Service__r.Service_UID__c': case_id });
});

relationships.push({ 'Person__r.CommCare_ID__c': state.ccId });
}

return {
...state,
facilityMap,
relationships,
serviceMap,
pregDangerMap,
milestoneTypeMap,
symptomsMap,
childSignMap,
otherReferralMap,
homeCareMap,
clinicalMap,
ecdMap,
};
});

// NOTE: We finally upsert to the Service__c object in Salesforce
fn(state => {
if (state.payloads.length == 0) return state;
const services = state.payloads
.filter(r => r.properties.owner_id !== '8e725928e3ce43d19b390dd604097069')
.map(r => {
// pregnancyDangerSigns
const pCheck = r.properties.pregnancy_danger_signs;
const pValue =
pCheck && pCheck !== ''
? pCheck
.replace(/ /gi, ';')
.split(';')
.map(value => {
return state.pregDangerMap[value] || value;
})
: undefined;
const pregnancyDangerSigns = pValue ? pValue.join(';') : undefined;

// childDangerSigns
const cCheck = r.properties.Other_Danger_Signs;
const cValue =
cCheck && cCheck !== ''
? cCheck
.replace(/ /gi, ';')
.split(';')
.map(value => {
return state.childSignMap[value] || value;
})
: undefined;
const childDangerSigns = cValue ? cValue.join(';') : undefined;

// delayedMilestone
const dCheck = r.properties.which_delayed_milestone;
const dValue =
dCheck && dCheck !== ''
? dCheck
.replace(/ /gi, ';')
.split(';')
.map(value => {
return state.milestoneTypeMap[value] || value;
})
: undefined;
const delayedMilestone = dValue ? dValue.join(';') : undefined;

// seriousSymptoms
const sCheck = r.properties.symptoms_check_other;
const sValue =
sCheck && sCheck !== ''
? sCheck
.replace(/ /gi, ';')
.split(';')
.map(value => {
return state.symptomsMap[value] || value;
})
: undefined;
const seriousSymptoms = sValue ? sValue.join(';') : undefined;

// otherReferralReason
const otCheck = r.properties.Other_Referral_Reasons;
const otValue =
otCheck && otCheck !== ''
? otCheck
.replace(/ /gi, ';')
.split(';')
.map(value => {
return state.otherReferralMap[value] || value;
})
: undefined;
const otherReferralReason = otValue ? otValue.join(';') : undefined;

// homeBasedCareRendered
const homeCheck = r.properties.Home_Based_Care_Provided;
const homeValue =
homeCheck && homeCheck !== ''
? homeCheck
.replace(/ /gi, ';')
.split(';')
.map(value => {
return state.homeCareMap[value] || value;
})
: undefined;
const homeBasedCareRendered = homeValue ? homeValue.join(';') : undefined;

// ecdClinicalService
const ecdCheck = r.properties.ECD_Clinical_Service;
const ecdValue =
ecdCheck && ecdCheck !== ''
? ecdCheck
.replace(/ /gi, ';')
.split(';')
.map(value => {
return state.ecdMap[value] || value;
})
: undefined;
const ecdClinicalService = ecdValue ? ecdValue.join(';') : undefined;

return {
'Person__r.CommCare_ID__c':
r.indices.parent.case_type === 'Person'
? r.indices.parent.case_id
: r.indices.parent.case_type === 'Case'
? state.ccId
: undefined,
Service_UID__c: r.case_id,
CommCare_Code__c: r.case_id,
RecordTypeID: '01224000000YAuK',
'Household_CHW__r.CommCare_ID__c': r.properties.CHW_ID,
Open_Case__c: r.closed === false ? true : false,
Case_Closed_Date__c: r.properties.date_closed,
Age_Time_of_Service__c: r.properties.age,
Source__c: r.properties.Source === '1',
Clinical_facility__c: r.properties.Facility_Visited
? state.facilityMap[r.properties.Facility_Visited]
: undefined,
Client_Received_Services_at_Facility2__c: r.properties.Facility_Visit,
Clinical_Visit_Date__c:
r.properties.Facility_Date === '' ||
r.properties.Facility_Date === undefined
? undefined
: r.properties.Facility_Date,
CHW_Followed_Up_with_the_Client__c: r['properties.Follow-Up']!== ''
? r['properties.Follow-Up']
: undefined,
Follow_Up_Date__c: r['properties.Follow-Up_Date'],

Person_Complied_w_Referral_in_24_hrs__c:r.properties.referral_compliance,
Skillled_Delivery__c: r.properties.skilled_delivery,
Child_received_immunizations__c: r.properties.immunization,
Received_a_diagnosis_for_PSBI__c: r.properties.psbi_diagnosis !== ''
? r.properties.psbi_diagnosis
: undefined, //Form: CHW.Follow-Up.PSBI.psbi_diagnosis
Received_antibiotics_per_protocol__c: r.properties.antibiotic_8days, //Form: CHW.Follow-Up.PSBI.antibiotic_8day

Distributed_Treatment_on_Last_Visit__c:
r.properties.distribute_treatment, //Form: CHW.Follow-Up.distribute_treatment
Person_had_an_adverse_drug_reaction__c:
r.properties.adverse_drug_reaction,
Defaulted__c:
r.properties.date_of_default && r.properties.date_of_default !== ''
? true
: false,
Date_of_Default__c: r.properties.date_of_default,
Client_s_Symptoms_Improved__c: r.properties.Client_Improved,
Case_Type__c: r.properties.Case_Type,
Follow_Up_By_Date__c:
r.properties['Follow-Up_By_Date'] &&
r.properties['Follow-Up_By_Date'] !== ''
? r.properties['Follow-Up_By_Date']
: undefined,
Date__c: new Date(r.properties.date_opened).toISOString(),
Reason_for_Service__c: r.properties.Reason_for_Service,
Type_of_Service__c: r.properties.Type_of_Service,
Malaria_Status__c: r.properties.Malaria_Status,
Home_Treatment_Date__c: r.properties.home_treatment_date,
Malaria_Home_Test_Date__c: r.properties.malaria_test_date,
Home_ORS__c: r.properties.clinic_ors,
Home_Zinc__c: r.properties.clinic_zinc,
Height__c: r.properties.height,
Weight__c: r.properties.weight,
MUAC__c: r.properties.muac,
Nutrition_Status__c: r.properties.Nutrition_Status,

//===== NEW MAPPINGS - JAN 14 ===========================//
Pregnancy_Danger_Signs__c: pregnancyDangerSigns,
Child_Danger_Signs__c: childDangerSigns,
Delayed_Milestone__c: delayedMilestone,
Serious_Symptoms__c: seriousSymptoms,
Other_Referral_Reasons__c: otherReferralReason,
Home_Based_Care_Rendered__c: homeBasedCareRendered,
PSBI_Visit__c:
r.properties.psbi_task && r.properties.psbi_task !== ''
? `Day ${r.properties.psbi_task}`
: undefined,
Clinical_Services__c: r.properties.TT5_Clinical_Service
? state.clinicalMap[r.properties.TT5_Clinical_Service]
: r.properties.TT5_Clinical_Service,
Referred_Facility__c: r.properties.referred_facility
? state.facilityMap[r.properties.referred_facility]
: r.properties.referred_facility,
HAWI_Clinical_Services__c: r.properties.HAWI_Clinical_Service
? state.serviceMap[r.properties.HAWI_Clinical_Service]
: r.properties.HAWI_Clinical_Service,
ECD_Clinical_Services__c: ecdClinicalService,

};
});

return { ...state, services };
});
/* JSON logging of records
fn(state => {
console.log('Services to upsert ::', JSON.stringify(state.services));
return state;
});
*/

bulk(
'Service__c',
'upsert',
{
extIdField: 'Service_UID__c',
failOnError: true,
allowNoOp: true,
},
state => {
console.log('Bulk upserting service...');
return state.services;
}
);
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/aleksa-cron-2022-04-29.html b/adaptors/library/jobs/auto/aleksa-cron-2022-04-29.html index 41a88995bdc..3d1772e344b 100644 --- a/adaptors/library/jobs/auto/aleksa-cron-2022-04-29.html +++ b/adaptors/library/jobs/auto/aleksa-cron-2022-04-29.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

aleksa cron

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

Expression

fn(state => {
console.log(state);
return state;
})
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/alter-state-before-operations.html b/adaptors/library/jobs/auto/alter-state-before-operations.html index f8a31376399..b335072e33f 100644 --- a/adaptors/library/jobs/auto/alter-state-before-operations.html +++ b/adaptors/library/jobs/auto/alter-state-before-operations.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Pre-processing data

📜 This job is an official example from OpenFn.

Metadata

Key Functions

dataPath, dataValue, each, field, fields, merge, relationship, upsert, Array

Expression

// Here, we make sure CommCare gives us an array to use in each(merge(...), ...)
fn(state => {
const idCards = state.data.form.ID_cards_given_to_vendor;
if (!Array.isArray(idCards)) {
state.data.form.ID_cards_given_to_vendor = [idCards];
}
return state;
});

// Now state has been changed, and we carry on...
each(
merge(
dataPath('form.ID_cards_given_to_vendor[*]'),
fields(
field('Vendor_Id', dataValue('form.ID_vendor')),
field('form_finished_time', dataValue('form.meta.timeEnd'))
)
),
upsert(
'Small_Packet__c',
'sp_id__c',
fields(
field('sp_id__c', dataValue('ID_cards_given_to_vendor')),
relationship('Vendor__r', 'Badge_Code__c', dataValue('Vendor_Id')),
field(
'Small_Packet_Distribution_Date__c',
dataValue('form_finished_time')
)
)
)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/async-and-array-dot-map.html b/adaptors/library/jobs/auto/async-and-array-dot-map.html index f1c9c9c6628..000e6b33eb4 100644 --- a/adaptors/library/jobs/auto/async-and-array-dot-map.html +++ b/adaptors/library/jobs/auto/async-and-array-dot-map.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Using async and array.map

📜 This job is an official example from OpenFn.

Metadata

Key Functions

map, post, async, await, Promise

Expression

fn(state => {
console.log('Here we will await the result of a LOT of async operations.');

console.log('First we needed to break large arrays into smaller chunks.');
function chunk(arr, chunkSize) {
var R = [];
for (var i = 0, len = arr.length; i < len; i += chunkSize)
R.push(arr.slice(i, i + chunkSize));
return R;
}

const clinicSets = chunk(state.data.Clinic, 10);
const patientSets = chunk(state.data.Patient, 10);
const visitSets = chunk(state.data.Visit, 10);
const deletedVisitSets = chunk(state.data.VisitDeleted, 10);

console.log('Then we define a bunch of different async functions.');
const postClinics = async cs => {
return post(state.configuration.inboxUrl, {
body: { clinics: cs },
})(state);
};

const postPatients = async ps => {
return post(state.configuration.inboxUrl, {
body: { patients: ps },
})(state);
};

const postVisits = async vs => {
return post(state.configuration.inboxUrl, {
body: { visits: vs },
})(state);
};

const postDeletedVisits = async dvs => {
return post(state.configuration.inboxUrl, {
body: { deletedVisits: dvs },
})(state);
};

console.log(
'Then we define a single function that wraps them all up and waits for all the individual functions to resolve.'
);
async function makePosts() {
return Promise.all([
...clinicSets.map(item => postClinics(item)),
...patientSets.map(item => postPatients(item)),
...visitSets.map(item => postVisits(item)),
...deletedVisitSets.map(item => postDeletedVisits(item)),
]);
}

console.log(
'Then we return that function, forcing our next operation to await the result of this one.'
);
return makePosts();
});

fn(state => {
console.log('I show up AFTER those async functions are resolved.');
return state;
});

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/async-findValue.html b/adaptors/library/jobs/auto/async-findValue.html index d5a902584fe..54a258cbad7 100644 --- a/adaptors/library/jobs/auto/async-findValue.html +++ b/adaptors/library/jobs/auto/async-findValue.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Using findValue with an array of data

📜 This job is an official example from OpenFn.

Metadata

Key Functions

findValue, upsertMany, async, await

Expression

fn(async state => {
const dataArray =
state.data.body.st_grass_repeat ||
state.data.body["plot_forest_area/st_grass_repeat"] ||
[];
const dataGrass = [];
const path = state.data.body.st_grass_repeat
? "st_grass_repeat"
: "plot_forest_area/st_grass_repeat";

for (let data of uniqueGrass) {
dataGrass.push({
WCSPROGRAMS_TaxaID: await findValue({
uuid: "WCSPROGRAMS_TaxaID",
relation: "WCSPROGRAMS_Taxa",
where: {
ScientificName: `%${state.handleValue(
data["st_grass_repeat/grass_species"]
)}%`,
},
operator: { ScientificName: "like" },
})(state),
UnknownSpeciesImage: data[`${path}/noknown`],
GrassPercent: data[`${path}/grass_perc`],
GrassHeight: data[`${path}/grass_height`],
AnswerId: state.data.body._id,
});
}

return upsertMany(
"WCSPROGRAMS_VegetationGrass",
"WCSPROGRAMS_VegetationGrassCode",
() => dataGrass
)(state);
});

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/bring-formId-into-data-array-then-create-parent-and-children-in-salesforce.html b/adaptors/library/jobs/auto/bring-formId-into-data-array-then-create-parent-and-children-in-salesforce.html index dffc318e30a..099478c379b 100644 --- a/adaptors/library/jobs/auto/bring-formId-into-data-array-then-create-parent-and-children-in-salesforce.html +++ b/adaptors/library/jobs/auto/bring-formId-into-data-array-then-create-parent-and-children-in-salesforce.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Using merge and each

📜 This job is an official example from OpenFn.

Metadata

Key Functions

create, dataPath, dataValue, each, field, fields, index, join, lastReferenceValue, merge, relationship

Expression

each(
join('$.data.data[*]', '$.data.formId', 'formId'),
create(
'ODK_Submission__c',
fields(
//bridgetest sandbox record type, comment out when not in use
field('RecordTypeId', '012J00000005hlb'),
//prduction record type, comment out when not in use
//field("RecordType", "XXXXXXXXXXXXXXXX"),
// or
//relationship("RecordType", "name", dataValue("recort_type_name")),
field('Record_Type_Name__c', dataValue('record_type_id')),
field('ODK_Form_Name__c', dataValue('formId')),
field('Site_School_ID_Number__c', dataValue('site')),
field('BT_Staff_ID__c', dataValue('recorded_by')),
field('Date__c', dataValue('today')),
field('Head_of_Household__c', dataValue('head_of_household')),
field(
'Head_of_Household_Gender__c',
dataValue('head_of_household_gender')
),
field('Head_of_Household_age__c', dataValue('head_of_household_age')),
field('Light_Source__c', dataValue('light_source')),
field('communication__c', dataValue('communication')),
field('transport__c', dataValue('transport')),
field(
'number_of_children_in_household__c',
dataValue('number_of_children')
),
field('school_visits__c', dataValue('school_visits')),
field('school_visit_reason__c', dataValue('school_visit_reason')),
field('Village__c', dataValue('village')),
field('ODK_Key__c', dataValue('*meta-instance-id*'))
)
)
),
each(
merge(
dataPath('individual_na[*]'),
fields(
field('metaId', dataValue('*meta-instance-id*')),
field('parentId', lastReferenceValue('id')),
field('village', dataValue('$data.village'))
)
),
create(
'ODK_Submission__c',
fields(
//bridgetest sandbox record type, comment out when not in use
field('RecordTypeId', '012J00000005hla'),
//prduction record type, comment out when not in use
//field("RecordType", "XXXXXXXXXXXXXXXX"),
// or
//relationship("RecordType", "name", dataValue("recort_type_name")),
field('Related_ODK_Submission__c', dataValue('parentId')),
field('family_name__c', dataValue('given_name')),
field('school_coded__c', dataValue('school_coded')),
field('school_type__c', dataValue('school_type')),
field('gender__c', dataValue('gender')),
field('Pays_School_Fees__c', dataValue('school_fees_yes_no')),
field('in_primary_school__c', dataValue('in_primary_school')),
field('School_Fee_Amount__c', dataValue('school_fees')),
field('Age__c', dataValue('age')),
field('surname__c', dataValue('surname')),
field('out_of_school_reason__c', dataValue('out_of_school_reason')),
field('class_level__c', dataValue('class_level')),
field(
'other_out_of_school_reason__c',
dataValue('other_out_of_school_reason')
),
field('Village__c', dataValue('village')),
// This is a concatenation, adding the unique child ID.
field('ODK_Key__c', function (state) {
return dataValue('metaId')(state).concat('(', index()(state), ')');
})
)
)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/commcare-reports-api-2016-08-29.html b/adaptors/library/jobs/auto/commcare-reports-api-2016-08-29.html index fee555dc2cf..91bac291a01 100644 --- a/adaptors/library/jobs/auto/commcare-reports-api-2016-08-29.html +++ b/adaptors/library/jobs/auto/commcare-reports-api-2016-08-29.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

commcare reports api

This job was provided by an OpenFn.org user via the job library API.

Metadata

  • Name: commcare reports api
  • Adaptor: @openfn/language-http
  • Adaptor Version: v0.0.9
  • Created about 7 years ago
  • Updated about 7 years ago
  • Score: 0 (an indicator of how useful this job may be)

Key Functions

get, post, Promise

Expression

get("api/v0.5/configurablereportdata/daily_form_stats", {
query: function(state) {
return { date: state.lastSubmissionDate || "Aug 29, 2016 4:44:26 PM" }
},
callback: function(state) {
// Pick submissions out in order to avoid `post` overwriting `response`.
var submissions = state.response.body;
// Use .slice to limit how much you send to the server for testing
// return submissions
return submissions.reduce(function(acc, item) {
return acc.then(
post(
"http://localhost:4000/inbox/8ad63a29-5c25-4d8d-ba2c-fe6274dcfbab",
{ body: item }
)
)
}, Promise.resolve(state))
.then(function(state) {
console.log(submissions.length)
if (submissions.length) {
state.lastSubmissionDate = submissions[submissions.length-1].SubmissionDate
}
return state;
})
.then(function(state) {
delete state.response
return state;
})
}
})
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/complex-http-request-chains.html b/adaptors/library/jobs/auto/complex-http-request-chains.html index 7ce5468be13..11b2f3e8b4b 100644 --- a/adaptors/library/jobs/auto/complex-http-request-chains.html +++ b/adaptors/library/jobs/auto/complex-http-request-chains.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Chaining HTTP Requests

📜 This job is an official example from OpenFn.

Metadata

Key Functions

dataPath, each, get, post, put

Expression

each(
dataPath('someArray[*]'),
post(
'https://en7a5l7u3izq6.x.pipedream.net/',
{
body: state => {
return { name: state.data.surname, age: state.data.age };
},
},
state => {
console.log('in the callback');
console.log(state.data);
get(
'https://en7a5l7u3izq6.x.pipedream.net/',
{},
// Note how we don't use: `put(args)(state)` because state is already
// provided by the parent operation, get(), to its callback...
put('https://en7a5l7u3izq6.x.pipedream.net/')
// ...but since we've called get() INSIDE an anonymous function, we'll
// need to pass state to it manually: get(args)(state)...
)(state);
return state;
}
)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/complex-state-control.html b/adaptors/library/jobs/auto/complex-state-control.html index d892ca823c9..adbaad1e1b7 100644 --- a/adaptors/library/jobs/auto/complex-state-control.html +++ b/adaptors/library/jobs/auto/complex-state-control.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Using promises

📜 This job is an official example from OpenFn.

Metadata

Key Functions

query

Expression

// Example with language-salesforce
fn(state => {
// return state => {
return new Promise((resolve, reject) => {
query('SELECT Name FROM Account')(state)
.then(state => {
console.log(state.references[0].records);
console.log('doing stuff here');
return state;
})
.then(state => {
console.log('and in here');
resolve(state);
});
});
// };
});

fn(state => {
console.log('and also in here!');
console.log(state.references);
return state;
});

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/concatenate-many-fields-with-nulls.html b/adaptors/library/jobs/auto/concatenate-many-fields-with-nulls.html index b14b9c1cb0c..65452a2d30d 100644 --- a/adaptors/library/jobs/auto/concatenate-many-fields-with-nulls.html +++ b/adaptors/library/jobs/auto/concatenate-many-fields-with-nulls.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Concat fields with nulls

📜 This job is an official example from OpenFn.

Metadata

Key Functions

arrayToString, create, dataValue, each, field, fields, relationship

Expression

each(
'$.data.data[*]',
create(
'Verification__c',
fields(
field('RecordTypeId', '01236000000Q6PT'),
relationship(
'Supplier__r',
'Unique_Entity_ID__c',
dataValue('Unique_Entity_ID')
),
field('Currency_ISO_Code__c', dataValue('Currency_ISO_Code')),
field('Date_Conducted__c', dataValue('Date_Conducted')),
field('ODK_Key__c', dataValue('*meta-instance-id*')),
field('Unique_Entity_ID__c', dataValue('Unique_Entity_ID')),
field('Interviewee__c', dataValue('Interviewee')),
field('Interviewee_Role__c', dataValue('Interviewee_Role')),
field(
'Interviewee_Primary_Phone__c',
dataValue('Interviewee_Primary_Phone')
),
field('Interviewee_Phone_2__c', dataValue('Interviewee_Phone_2')),
field('Interviewee_Phone_3__c', dataValue('Interviewee_Phone_3')),
field(
'Interviewee_Primary_Email__c',
dataValue('Interviewee_Primary_Email')
),
field('Trade_Name__c', dataValue('Trade_Name')),
field('Registered_Name__c', dataValue('Registered_Name')),
field('Location_Description__c', dataValue('Location_Description')),
field('Main_Office_Country__c', dataValue('Main_Office_Country')),
field('Main_Office_Region_Province_or_County__c', function (state) {
return arrayToString(
[
dataValue('Main_Office_Region_Province_or_County_a')(state),
dataValue('Main_Office_Region_Province_or_County_b')(state),
dataValue('Main_Office_Region_Province_or_County_c')(state),
dataValue('Main_Office_Region_Province_or_County_d')(state),
].filter(Boolean),
','
);
}),
field('Main_Office_City__c', function (state) {
return arrayToString(
[
dataValue('Main_Office_City_a')(state),
dataValue('Main_Office_City_b')(state),
dataValue('Main_Office_City_c')(state),
dataValue('Main_Office_City_d')(state),
].filter(Boolean),
','
);
}),
field(
'Main_Office_Street_Address__c',
dataValue('Main_Office_Street_Address')
),
field('Geolocation__Latitude__s', dataValue('gps:Latitude')),
field('Geolocation__Longitude__s', dataValue('gps:Longitude')),
field('Main_Contact_First__c', dataValue('Main_Contact_First')),
field('Main_Contact_Last__c', dataValue('Main_Contact_Last')),
field('Main_Contact_Role__c', dataValue('Main_Contact_Role')),
field('Main_Contact_Role_Other__c', dataValue('Main_Contact_Role_Other')),
field(
'Main_Contact_Phone_Mobile__c',
dataValue('Main_Contact_Phone_Mobile')
),
field('Main_Contact_Phone_Work__c', dataValue('Main_Contact_Phone_Work')),
field(
'Main_Contact_Phone_Other__c',
dataValue('Main_Contact_Phone_Other')
),
field('Main_Contact_Email_Work__c', dataValue('Main_Contact_Email_Work')),
field('General_Phone__c', dataValue('General_Phone')),
field('General_Email__c', dataValue('General_Email')),
field('Website__c', dataValue('Website')),
field('Interest_in_Website__c', dataValue('Interest_in_Website')),
field(
'Hours_of_Operation_Start__c',
dataValue('Hours_of_Operation_Start')
),
field('Hours_of_Operation_End__c', dataValue('Hours_of_Operation_End')),
field(
'Hours_of_Operation_Other__c',
dataValue('Hours_of_Operation_Other')
),
field(
'Hours_of_Operation_Other_Start__c',
dataValue('Hours_of_Operation_Other_Start')
),
field(
'Hours_of_Operation_Other_End__c',
dataValue('Hours_of_Operation_Other_End')
),
field(
'Goods_and_Services_Description__c',
dataValue('Goods_and_Services_Description')
),
field('Primary_Sector__c', dataValue('Primary_Sector')),
field('Primary_Subsectors__c', function (state) {
return arrayToString(
[
dataValue('Primary_Subsectors_1')(state),
dataValue('Primary_Subsectors_2')(state),
dataValue('Primary_Subsectors_3')(state),
dataValue('Primary_Subsectors_4')(state),
dataValue('Primary_Subsectors_5')(state),
dataValue('Primary_Subsectors_6')(state),
dataValue('Primary_Subsectors_7')(state),
dataValue('Primary_Subsectors_8')(state),
dataValue('Primary_Subsectors_9')(state),
dataValue('Primary_Subsectors_10')(state),
dataValue('Primary_Subsectors_l1')(state),
dataValue('Primary_Subsectors_12')(state),
dataValue('Primary_Subsectors_13')(state),
dataValue('Primary_Subsectors_14')(state),
dataValue('Primary_Subsectors_15')(state),
dataValue('Primary_Subsectors_16')(state),
dataValue('Primary_Subsectors_17')(state),
dataValue('Primary_Subsectors_18')(state),
dataValue('Primary_Subsectors_19')(state),
dataValue('Primary_Subsectors_20')(state),
dataValue('Primary_Subsectors_21')(state),
].filter(Boolean),
','
);
}),
field('Other_Sectors__c', function (state) {
return arrayToString(dataValue('Other_Sectors')(state), ',');
}),
field('Other_Subsectors__c', function (state) {
return arrayToString(
[
dataValue('Other_Subsectors_1')(state),
dataValue('Other_Subsectors_2')(state),
dataValue('Other_Subsectors_3')(state),
dataValue('Other_Subsectors_4')(state),
dataValue('Other_Subsectors_5')(state),
dataValue('Other_Subsectors_6')(state),
dataValue('Other_Subsectors_7')(state),
dataValue('Other_Subsectors_8')(state),
dataValue('Other_Subsectors_9')(state),
dataValue('Other_Subsectors_10')(state),
dataValue('Other_Subsectors_l1')(state),
dataValue('Other_Subsectors_12')(state),
dataValue('Other_Subsectors_13')(state),
dataValue('Other_Subsectors_14')(state),
dataValue('Other_Subsectors_15')(state),
dataValue('Other_Subsectors_16')(state),
dataValue('Other_Subsectors_17')(state),
dataValue('Other_Subsectors_18')(state),
dataValue('Other_Subsectors_19')(state),
dataValue('Other_Subsectors_20')(state),
dataValue('Other_Subsectors_21')(state),
].filter(Boolean),
','
);
}),
field(
'Entity_and_Registration_1__c',
dataValue('Entity_and_Registration_1')
),
field(
'Entity_and_Registration_2__c',
dataValue('Entity_and_Registration_2')
),
field(
'Entity_and_Registration_3__c',
dataValue('Entity_and_Registration_3')
),
field('Registration_Date__c', dataValue('Registration_Date')),
field('Registration_Active__c', dataValue('Registration_Active')),
field(
'Business_Operation_Licenses__c',
dataValue('Business_Operation_Licenses')
),
field(
'Business_Operation_Certificates__c',
dataValue('Business_Operation_Certificates')
),
field('Association_Memberships__c', dataValue('Association_Memberships')),
field('Vendor_List_Memberships__c', dataValue('Vendor_List_Memberships')),
field('Has_Marketing_Plan__c', dataValue('Has_Marketing_Plan')),
field('Number_of_Competitors__c', dataValue('Number_of_Competitors')),
field('Start_of_Operations__c', dataValue('Start_of_Operations')),
field('Primary_Language__c', dataValue('Primary_Language')),
field('Primary_Language_Other__c', dataValue('Primary_Language_Other')),
field('English_Speakers__c', dataValue('English_Speakers')),
field('Other_Languages__c', dataValue('Other_Languages')),
field(
'Frequency_of_Internet_Access__c',
dataValue('Frequency_of_Internet_Access')
),
field(
'Method_of_Internet_Access__c',
dataValue('Method_of_Internet_Access')
),
field(
'Method_of_Internet_Access_Other__c',
dataValue('Method_of_Internet_Access_Other')
),
field('Frequency_of_Email_Use__c', dataValue('Frequency_of_Email_Use')),
field('Type_of_Email_Use__c', dataValue('Type_of_Email_Use')),
field('Counties_Regions_Serviced__c', function (state) {
return arrayToString(
[
dataValue('Counties_Regions_Serviced_a')(state),
dataValue('Counties_Regions_Serviced_b')(state),
dataValue('Counties_Regions_Serviced_c')(state),
dataValue('Counties_Regions_Serviced_d')(state),
].filter(Boolean),
','
);
}),
field('Additional_Branches__c', dataValue('Additional_Branches')),
field('Branch_Locations__c', function (state) {
return arrayToString(
[
dataValue('Branch_Locations_a')(state),
dataValue('Branch_Locations_b')(state),
dataValue('Branch_Locations_c')(state),
dataValue('Branch_Locations_d')(state),
].filter(Boolean),
','
);
}),
field(
'Majority_Local_or_Foreign__c',
dataValue('Majority_Local_or_Foreign')
),
field('Num_of_Owners__c', dataValue('Num_of_Owners')),
field('Num_of_Female_Owners__c', dataValue('Num_of_Female_Owners')),
field('Num_of_Male_Owners__c', dataValue('Num_of_Male_Owners')),
field(
'Primary_Owner_is_Same_as_Main_Contact__c',
dataValue('Primary_Owner_is_Same_as_Main_Contact')
),
field('Primary_Owner__c', dataValue('Primary_Owner')),
field('Primary_Owner_Gender__c', dataValue('Primary_Owner_Gender')),
field(
'Primary_Owner_Gender_Other__c',
dataValue('Primary_Owner_Gender_Other')
),
field(
'Primary_Owner_Nationality__c',
dataValue('Primary_Owner_Nationality')
),
field(
'Primary_Owner_Phone_Mobile__c',
dataValue('Primary_Owner_Phone_Mobile')
),
field(
'Primary_Owner_Phone_Work__c',
dataValue('Primary_Owner_Phone_Work')
),
field(
'Primary_Owner_Phone_Other__c',
dataValue('Primary_Owner_Phone_Other')
),
field('Primary_Owner_Email__c', dataValue('Primary_Owner_Email')),
field('Num_of_Businesses_Owned__c', dataValue('Num_of_Businesses_Owned')),
field(
'Names_of_Businesses_Owned__c',
dataValue('Names_of_Businesses_Owned')
),
field('Num_of_Managers__c', dataValue('Num_of_Managers')),
field('Num_of_Female_Managers__c', dataValue('Num_of_Female_Managers')),
field('Num_of_Male_Managers__c', dataValue('Num_of_Male_Managers')),
field('Finance_Management__c', dataValue('Finance_Management')),
field(
'Finance_Management_Other__c',
dataValue('Finance_Management_Other')
),
field('Dedicated_HR_Manager__c', dataValue('Dedicated_HR_Manager')),
field(
'Num_of_Permanent_Full_Time_Employees__c',
dataValue('Num_of_Permanent_Full_Time_Employees')
),
field(
'Num_of_Perm_Full_Time_Female_Employees__c',
dataValue('Num_of_Perm_Full_Time_Female_Employees')
),
field(
'Num_of_Perm_Full_Time_Male_Employees__c',
dataValue('Num_of_Perm_Full_Time_Male_Employees')
),
field(
'Num_of_Full_Time_Temporary_Employees__c',
dataValue('Num_of_Full_Time_Temporary_Employees')
),
field(
'Num_of_Full_Time_Temp_Female_Employees__c',
dataValue('Num_of_Full_Time_Temp_Female_Employees')
),
field(
'Num_of_Full_Time_Temp_Male_Employees__c',
dataValue('Num_of_Full_Time_Temp_Male_Employees')
),
field(
'Num_of_Local_Staff_Full_Part_Time__c',
dataValue('Num_of_Local_Staff_Full_Part_Time')
),
field(
'Num_of_Expatriate_Staff_Full_Part_Time__c',
dataValue('Num_of_Expatriate_Staff_Full_Part_Time')
),
field(
'International_Client_in_Past_Six_Months__c',
dataValue('International_Client_in_Past_Six_Months')
),
field('Principal_Client_Name__c', dataValue('Principal_Client_Name')),
field(
'Foreign_or_Domestic_Principal_Client__c',
dataValue('Foreign_or_Domestic_Principal_Client')
),
field('Principal_Client_Sector__c', dataValue('Principal_Client_Sector')),
field(
'Goods_Services_Provided_to_this_Client__c',
dataValue('Goods_Services_Provided_to_this_Client')
),
field(
'End_of_Last_Contract_with_this_Client__c',
dataValue('End_of_Last_Contract_with_this_Client')
),
field(
'Value_Goods_Services_Sold_Last_6_Months__c',
dataValue('Value_Goods_Services_Sold_Last_6_Months')
),
field(
'Value_Goods_Sold_Last_6_Months_USD__c',
dataValue('Value_Goods_Sold_Last_6_Months_USD')
),
field(
'Access_to_Finance_Constraint_Ranking__c',
dataValue('Access_to_Finance_Constraint_Ranking')
),
field('Bank_Account__c', dataValue('Bank_Account')),
field('Bank_Guarantee__c', dataValue('Bank_Guarantee')),
field(
'Satisfied_with_Current_Bank__c',
dataValue('Satisfied_with_Current_Bank')
),
field(
'Describe_Satisfaction_with_Current_Bank__c',
dataValue('Describe_Satisfaction_with_Current_Bank')
),
field(
'Has_Received_a_Formal_Loan__c',
dataValue('Has_Received_a_Formal_Loan')
),
field('Formal_Loan_Provider__c', dataValue('Formal_Loan_Provider')),
field(
'Formal_Loan_Amount_Received__c',
dataValue('Formal_Loan_Amount_Received')
),
field(
'Formal_Loan_Amount_Received_USD__c',
dataValue('Formal_Loan_Amount_Received_USD')
),
field(
'Date_Formal_Loan_Received__c',
dataValue('Date_Formal_Loan_Received')
),
field('Formal_Loan_Purpose__c', dataValue('Formal_Loan_Purpose')),
field(
'Formal_Loan_Purpose_Other__c',
dataValue('Formal_Loan_Purpose_Other')
),
field('Formal_Loan_Repaid__c', dataValue('Formal_Loan_Repaid')),
field('Interested_in_Loan__c', dataValue('Interested_in_Loan')),
field('Interested_Loan_Amount__c', dataValue('Interested_Loan_Amount')),
field(
'Interested_Loan_Amount_USD__c',
dataValue('Interested_Loan_Amount_USD')
),
field(
'Interested_Loan_Duration__c',
dataValue('Interested_Loan_Duration')
),
field('Interested_Loan_Purpose__c', dataValue('Interested_Loan_Purpose')),
field(
'Interested_Loan_Purpose_Other__c',
dataValue('Interested_Loan_Purpose_Other')
),
field(
'Formal_Loan_Confidence_Ranking__c',
dataValue('Formal_Loan_Confidence_Ranking')
),
field(
'Received_Loan_from_Family_Friends__c',
dataValue('Received_Loan_from_Family_Friends')
),
field(
'Family_Friend_Loan_Amount__c',
dataValue('Family_Friend_Loan_Amount')
),
field(
'Family_Friend_Loan_Amount_USD__c',
dataValue('Family_Friend_Loan_Amount_USD')
),
field(
'Received_Loan_from_Informal_Lenders__c',
dataValue('Received_Loan_from_Informal_Lenders')
),
field(
'Informal_Lender_Loan_Amount__c',
dataValue('Informal_Lender_Loan_Amount')
),
field(
'Informal_Lender_Loan_Amount_USD__c',
dataValue('Informal_Lender_Loan_Amount_USD')
),
field(
'Interested_in_Investor_Business_Partner__c',
dataValue('Interested_in_Investor_Business_Partner')
),
field(
'Total_Turnover_Previous_Month__c',
dataValue('Total_Turnover_Previous_Month')
),
field(
'Total_Turnover_Previous_Month_USD__c',
dataValue('Total_Turnover_Previous_Month_USD')
),
field(
'Total_Turnover_Previous_Fiscal_Year__c',
dataValue('Total_Turnover_Previous_Fiscal_Year')
),
field(
'Total_Turnover_Previous_Fiscal_Yr_USD__c',
dataValue('Total_Turnover_Previous_Fiscal_Yr_USD')
),
field(
'Total_Profit_Previous_Fiscal_Year__c',
dataValue('Total_Profit_Previous_Fiscal_Year')
),
field(
'Total_Profit_Previous_Fiscal_Year_USD__c',
dataValue('Total_Profit_Previous_Fiscal_Year_USD')
),
field(
'Accepted_Modes_of_Payment__c',
dataValue('Accepted_Modes_of_Payment')
),
field(
'Accepted_Modes_of_Payment_Other__c',
dataValue('Accepted_Modes_of_Payment_Other')
),
field(
'Avg_Expen_Spent_on_Imported_Goods_Year__c',
dataValue('Avg_Expen_Spent_on_Imported_Goods_Year')
),
field(
'Avg_Expen_Spent_on_Domestic_Goods_Year__c',
dataValue('Avg_Expen_Spent_on_Domestic_Goods_Year')
),
field(
'Avg_Expen_on_Domestic_Suppliers_Year__c',
dataValue('Avg_Expen_on_Domestic_Suppliers_Year')
),
field(
'Avg_Expen_on_Intl_Suppliers_Year__c',
dataValue('Avg_Expen_on_Intl_Suppliers_Year')
),
field(
'Avg_Expen_Spent_on_Salaries_Year__c',
dataValue('Avg_Expen_Spent_on_Salaries_Year')
),
field(
'Balance_Sheet_Statement_Available__c',
dataValue('Balance_Sheet_Statement_Available')
),
field('Profit_Loss_Statement__c', dataValue('Profit_Loss_Statement')),
field('Directly_Imports_Goods__c', dataValue('Directly_Imports_Goods')),
field(
'Avg_of_Total_Costs_from_Imports__c',
dataValue('Avg_of_Total_Costs_from_Imports')
),
field('Highest_Costing_Import__c', dataValue('Highest_Costing_Import')),
field(
'Origin_Country_of_Highest_Costing_Import__c',
dataValue('Origin_Country_of_Highest_Costing_Import')
),
field('Other_Import_Countries__c', dataValue('Other_Import_Countries')),
field('Exports_Products__c', dataValue('Exports_Products')),
field(
'Avg_of_Total_Revenue_from_Exports__c',
dataValue('Avg_of_Total_Revenue_from_Exports')
),
field('Primary_Export__c', dataValue('Primary_Export')),
field('Destination_of_Exports__c', dataValue('Destination_of_Exports')),
field(
'Profits_Expectation_Next_Six_Months__c',
dataValue('Profits_Expectation_Next_Six_Months')
),
field(
'Staff_Expectation_Next_Six_Months__c',
dataValue('Staff_Expectation_Next_Six_Months')
),
field(
'Int_l_Entities_Represent_Good_Opp__c',
dataValue('Int_l_Entities_Represent_Good_Opp')
),
field(
'Int_l_Concessionaires_Represent_Good_Opp__c',
dataValue('Int_l_Concessionaires_Represent_Good_Opp')
),
field(
'Sectors_Representing_Best_Local_Opps__c',
dataValue('Sectors_Presenting_Best_Local_Opps')
),
field(
'Obstacle_Working_with_Intl_Entities__c',
dataValue('Obstacle_Working_with_Intl_Entities')
),
field(
'Biggest_Challenge_Next_6_Months__c',
dataValue('Biggest_Challenge_Next_6_Months')
),
field(
'Second_Biggest_Challenge_Next_6_Months__c',
dataValue('Second_Biggest_Challenge_Next_6_Months')
),
field(
'Financial_Management_Ranking__c',
dataValue('Financial_Management_Ranking')
),
field(
'Access_to_Finance_Ranking__c',
dataValue('Access_to_Finance_Ranking')
),
field('Administration_Ranking__c', dataValue('Administration_Ranking')),
field('Human_Resources_Ranking__c', dataValue('Human_Resources_Ranking')),
field(
'Technical_Expertise_Ranking__c',
dataValue('Technical_Expertise_Ranking')
),
field(
'Training_Helps_Efficiency__c',
dataValue('Training_Helps_Efficiency')
),
field(
'Capacity_Building_Activities_Offered__c',
dataValue('Capacity_Building_Activities_Offered')
),
field(
'Capacity_Building_Offered_Other__c',
dataValue('Capacity_Building_Offered_Other')
),
field(
'Can_Provide_Quotations_WP_on_Request__c',
dataValue('Can_Provide_Quotations_WP_on_Request')
),
field('Knows_What_a_Tender_is__c', dataValue('Knows_What_a_Tender_is')),
field(
'Frequency_Checking_for_Tenders__c',
dataValue('Frequency_Checking_for_Tenders')
),
field(
'Has_Submitted_a_Tender_Bid__c',
dataValue('Has_Submitted_a_Tender_Bid')
),
field(
'Has_Won_Tenders_in_Past_Six_Months__c',
dataValue('Has_Won_Tenders_in_Past_Six_Months')
),
field(
'Details_of_Recently_Won_Tenders__c',
dataValue('Details_of_Recently_Won_Tenders')
),
field(
'Num_of_Gov_t_Bids_in_Last_Six_Months__c',
dataValue('Num_of_Govt_Bids_in_Last_Six_Months')
),
field(
'Num_of_Private_Bids_in_Last_Six_Months__c',
dataValue('Num_of_Private_Bids_in_Last_Six_Months')
),
field(
'Num_of_NGO_INGO_IO_Bids_Last_Six_Months__c',
dataValue('Num_of_NGO_INGO_IO_Bids_Last_Six_Months')
),
field(
'Main_Reason_for_Lost_Bids__c',
dataValue('Main_Reason_for_Lost_Bids')
),
field(
'Main_Reason_for_Lost_Bids_Other__c',
dataValue('Main_Reason_for_Lost_Bids_Other__c')
),
field(
'Main_Reason_for_Not_Bidding_on_Tenders__c',
dataValue('Main_Reason_for_Not_Bidding_on_Tenders')
),
field(
'Main_Reason_Not_Bidding_Tenders_Others__c',
dataValue('Main_Reason_Not_Bidding_Tenders_Others__c')
),
field(
'Planning_to_Bid_on_Future_Tenders__c',
dataValue('Planning_to_Bid_on_Tenders_in_the_Future')
),
field(
'Services_That_Would_Help_to_Win_Tenders__c',
dataValue('Services_That_Would_Help_to_Win_Tenders')
),
field(
'Interested_in_Future_BM_Communications__c',
dataValue('Interested_in_Future_BM_Communications')
),
field(
'Future_BM_Communications__c',
dataValue('Future_BM_Communications')
),
field(
'Interested_in_Attending_Future_Training__c',
dataValue('Interested_in_Attending_Future_Training')
),
field(
'Training_Most_Interested_in_Attending__c',
dataValue('Training_Most_Interested_in_Attending')
),
field(
'Training_Most_Interested_in_Other__c',
dataValue('Training_Most_Interested_in_Other')
),
field(
'Amount_Willing_to_Pay_for_Training__c',
dataValue('Amount_Willing_to_Pay_for_Training')
),
field(
'Amount_Willing_to_Pay_for_Training__c',
dataValue('Amount_Willing_to_Pay_for_Training')
),
field(
'Training_Interested_In_but_Not_Offered__c',
dataValue('Training_Interested_In_but_Not_Offered')
),
field(
'Advice_to_Entrepreneurs_in_your_Country__c',
dataValue('Advice_to_Entrepreneurs_in_your_Country')
),
field('Interviewer_Comments__c', dataValue('Interviewer_Comments'))
)
)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/create-if-proposal.html b/adaptors/library/jobs/auto/create-if-proposal.html index 01a1d4cf705..9c1ab067dc8 100644 --- a/adaptors/library/jobs/auto/create-if-proposal.html +++ b/adaptors/library/jobs/auto/create-if-proposal.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Create/update records if...

📜 This job is an official example from OpenFn.

Metadata

Key Functions

createIf, dataValue, field, fields, relationship, upsertIf

Expression

// Using upsertIf and createIf we can conditionally create or update records if
// some condition in the source data is met.

upsertIf(
// a path which resolves to true/false
dataValue('form.legal.allowedToSync'),
'Patient__c',
'Patient_ID__c',
fields(
field('Name__c', dataValue('form.name')),
field('Patient_ID__c', dataValue('form.identification.govId'))
)
);

createIf(
// or a function which returns true/false
state => state.data.form.completedVisit === 'yes',
'Visit__c',
fields(
field('Date__c', dataValue('form.visit.visit_date')),
field('Type__c', 'checkup'),
relationship(
'Patient__r',
'Patient_ID__c',
dataValue('form.identification.govId')
)
)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/getKoboData.html b/adaptors/library/jobs/auto/getKoboData.html index 4bb6976b475..6d91351596b 100644 --- a/adaptors/library/jobs/auto/getKoboData.html +++ b/adaptors/library/jobs/auto/getKoboData.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Extract Kobo data from API to send to OpenFn Inbox

📜 This job is an official example from OpenFn.

Metadata

  • Name: Extract Kobo data from API to send to OpenFn Inbox
  • Adaptor: @openfn/language-http
  • Adaptor Version: v3.1.7
  • Created date unknown
  • Updated date unknown
  • Score: 100 (an indicator of how useful this job may be)

Key Functions

dataPath, each, get, map, post

Expression

//Sample job to get Kobo data and post back to OpenFn Inbox
fn(state => {
console.log(`Started at: ${new Date().toISOString()}`);
state.submissions = [];
state.data = {
surveys: [
// =========================================================================
//== TODO: Specify new forms to fetch here, including the Kobo form id, tag, name, and owner ==//
{ id: 'aijj9FSpuCzMTRnMPGike8', tag: 'nrgt_historical', name: 'NRGT Makira 2017 - Test OpenFn', owner: 'bns' }, // example
//consider listing multiple forms
// =========================================================================

].map(survey => ({
formId: survey.id,
tag: survey.tag,
name: survey.name,
owner: survey.owner,
url: `https://kf.kobotoolbox.org/api/v2/assets/${survey.id}/data/?format=json`,
})),
};
console.log(`Fetching data for ${state.data.surveys.length} surveys.`);
return state;
});

each(dataPath('surveys[*]'), state => {
const { url, tag, formId, name, owner } = state.data;
return get(url, {}, state => {
state.data.submissions = state.data.results.map((submission, i) => {
return {
i,
// Here we append the tags defined above to the Kobo form submission data
form: tag,
formName: name,
formOwner: owner,
body: submission,
};
});
const count = state.data.submissions.length;
console.log(`Fetched ${count} submissions from ${formId} (${tag}).`);
//Once we fetch the data, we want to post each individual Kobo survey
//back to the OpenFn inbox to run through the jobs
return each(dataPath('submissions[*]'), state => {
console.log(`Posting ${state.data.i + 1} of ${count}...`);
// =========================================================================
//== TODO: replace openfnInboxUrl with your OpenFn Project Inbox URL ====//
return post(openfnInboxUrl, { body: state => state.data })(state);
})(state);
// =========================================================================
})(state);
});

fn(state => {
console.log(`Finished at: ${new Date().toISOString()}`);
return {
data: {
message: "No cursor required. Job fetches all submission for given forms."
},
references: []
};
});

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/nawiri-2023-05-03.html b/adaptors/library/jobs/auto/nawiri-2023-05-03.html index 360cb35351e..a81f660ae29 100644 --- a/adaptors/library/jobs/auto/nawiri-2023-05-03.html +++ b/adaptors/library/jobs/auto/nawiri-2023-05-03.html @@ -22,13 +22,13 @@ - - + +
Skip to main content
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/no-return-2023-01-06.html b/adaptors/library/jobs/auto/no-return-2023-01-06.html index e657d1822aa..0113aeeb997 100644 --- a/adaptors/library/jobs/auto/no-return-2023-01-06.html +++ b/adaptors/library/jobs/auto/no-return-2023-01-06.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

no return

This job was provided by an OpenFn.org user via the job library API.

Metadata

Key Functions

Expression

fn(state => {
console.log("no return");
});
- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/promise-all-nested-requests.html b/adaptors/library/jobs/auto/promise-all-nested-requests.html index e933414131f..ace9b2f11c7 100644 --- a/adaptors/library/jobs/auto/promise-all-nested-requests.html +++ b/adaptors/library/jobs/auto/promise-all-nested-requests.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Promises and nested requests

📜 This job is an official example from OpenFn.

Metadata

  • Name: Promises and nested requests
  • Adaptor: @openfn/language-http
  • Adaptor Version: latest
  • Created date unknown
  • Updated date unknown
  • Score: 100 (an indicator of how useful this job may be)

Key Functions

each, get, Promise

Expression

each(
'$.enrolledUsers[10]',
fn(state => {
const { host } = state.configuration;
const { id } = state.data;
const usersfields = [];
return get(
host,
{
query: {
wstoken: state.token,
wsfunction: 'core_user_get_users_by_field',
field: 'id',
'values[]': id,
moodlewsrestformat: 'json',
},
},
state => {
const { id, phone1, address } = state.data[0];
const fields = [
{ id, 'Teléfono móvil': phone1, Dirección: address, grades: [] },
];
console.log(state.courseIds);
let promises = [];
state.courseIds.forEach(courseid => {
promises.push(
get(
host,
{
query: {
wstoken: state.token,
wsfunction: 'gradereport_user_get_grade_items',
userid: id,
courseid,
moodlewsrestformat: 'json',
},
},
state => {
console.log('fetched');
const { graderaw } = state.data.usergrades[0].gradeitems[0];
const grades = [{ courseid, graderaw }];
fields[0].grades.push(...grades);
}
)(state)
);
});

return Promise.all(promises).then(() => {
usersfields.push(...fields);
return {
...state,
usersfields,
enrolledUsers: [],
response: [],
};
});
}
)(state);
})
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/send-mail-in-mailgun.html b/adaptors/library/jobs/auto/send-mail-in-mailgun.html index 3bb420b9d22..b15e5801359 100644 --- a/adaptors/library/jobs/auto/send-mail-in-mailgun.html +++ b/adaptors/library/jobs/auto/send-mail-in-mailgun.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

send email

📜 This job is an official example from OpenFn.

Metadata

Key Functions

dataValue, field, fields, send

Expression

send(
fields(
field('from', 'you@domain.com'),
field('to', dataValue('form.submission.respondantEmail')),
field('subject', 'Thanks for completing our survey.'),
field('text', 'Your message goes here.')
)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/send-sms-from-salesforce-workflow.html b/adaptors/library/jobs/auto/send-sms-from-salesforce-workflow.html index 894c45ad317..9fcde5d3d55 100644 --- a/adaptors/library/jobs/auto/send-sms-from-salesforce-workflow.html +++ b/adaptors/library/jobs/auto/send-sms-from-salesforce-workflow.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Send sms from Salesforce workflow action

📜 This job is an official example from OpenFn.

Metadata

Key Functions

dataValue, field, fields, send

Expression

send(
fields(
field(
'to_number',
dataValue(
'Envelope.Body.notifications.Notification.sObject.phone_number__c'
)
),
field('message_type', 'sms'),
field('route_id', ''),
field('content', function (state) {
return 'Hey there. Your name is '.concat(
dataValue('Envelope.Body.notifications.Notification.sObject.name__c')(
state
),
'.'
);
})
)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/synchronous-http-request.html b/adaptors/library/jobs/auto/synchronous-http-request.html index b375d8244f8..04567f370c4 100644 --- a/adaptors/library/jobs/auto/synchronous-http-request.html +++ b/adaptors/library/jobs/auto/synchronous-http-request.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Chaining synchronous http requests

📜 This job is an official example from OpenFn.

Metadata

  • Name: Chaining synchronous http requests
  • Adaptor: @openfn/language-http
  • Adaptor Version: latest
  • Created date unknown
  • Updated date unknown
  • Score: 100 (an indicator of how useful this job may be)

Key Functions

post, async, await

Expression

fn(async state => {
const { Patient, Visit } = state.data;

console.log('Here we break large arrays into smaller chunks.');
const chunk = (arr, chunkSize) => {
var R = [];
for (var i = 0, len = arr.length; i < len; i += chunkSize) R.push(arr.slice(i, i + chunkSize));
return R;
};

const patientSets = chunk(Patient, 10);
const visitSets = chunk(Visit, 10);

console.log('Patient sets:', patientSets.length);
console.log('Visit sets:', visitSets.length);

const visitChunks = [];
const patientChunks = [];

patientSets.forEach(sets => {
const data = {
Visit: [],
Patient: sets,
};
patientChunks.push(data);
});

visitSets.forEach(sets => {
const data = {
Visit: sets,
Patient: [],
};
visitChunks.push(data);
});

let countInbox = 0;
console.log('Then we define our async function that make multiple posts requests,');
console.log('each after a fix period of time.');
const postToInbox = async data => {
countInbox++;
console.log(`${countInbox} request to inbox`);

await new Promise(resolve => setTimeout(resolve, 2000));
await post(state.configuration.inboxUrl, { body: data })(state);
};

console.log('For each one of our chunks, we send one by one awaiting response.');
for (const patient of patientChunks) {
await postToInbox(patient);
}
for (const visit of visitChunks) {
await postToInbox(visit);
}

return { ...state, patientChunks, visitChunks };
});

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/timeout.html b/adaptors/library/jobs/auto/timeout.html index df369796693..5238d8977c6 100644 --- a/adaptors/library/jobs/auto/timeout.html +++ b/adaptors/library/jobs/auto/timeout.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Timeout to create a delay

📜 This job is an official example from OpenFn.

Metadata

Key Functions

get

Expression

// To properly use a timeout, wrap it in a promise. This job has two operations
// and it executes the get(...) operation after the fn(...) operation
// waits for 4000ms.
fn(state => {
return new Promise((resolve, reject) => {
setTimeout(() => {
console.log('wait, and then resolve');
resolve(state);
}, 4000);
});
});

get('https://jsonplaceholder.typicode.com/todos/1');

- - + + \ No newline at end of file diff --git a/adaptors/library/jobs/auto/upsert-many-items-in-array-with-value-outside-array.html b/adaptors/library/jobs/auto/upsert-many-items-in-array-with-value-outside-array.html index 597c5bf4d9b..ff5bb42f834 100644 --- a/adaptors/library/jobs/auto/upsert-many-items-in-array-with-value-outside-array.html +++ b/adaptors/library/jobs/auto/upsert-many-items-in-array-with-value-outside-array.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Merge data into child array then upsert

📜 This job is an official example from OpenFn.

Metadata

Key Functions

dataPath, dataValue, each, field, fields, merge, relationship, upsert

Expression

each(
merge(
dataPath('form.ID_cards_given_to_vendor[*]'),
fields(
field('Vendor_Id', dataValue('form.ID_vendor')),
field('form_finished_time', dataValue('form.meta.timeEnd'))
)
),
upsert(
'Small_Packet__c',
'sp_id__c',
fields(
field('sp_id__c', dataValue('ID_cards_given_to_vendor')),
relationship('Vendor__r', 'Badge_Code__c', dataValue('Vendor_Id')),
field(
'Small_Packet_Distribution_Date__c',
dataValue('form_finished_time')
)
)
)
);

- - + + \ No newline at end of file diff --git a/adaptors/library/triggers/xmlns.html b/adaptors/library/triggers/xmlns.html index afd290170b2..1b7ca371374 100644 --- a/adaptors/library/triggers/xmlns.html +++ b/adaptors/library/triggers/xmlns.html @@ -22,13 +22,13 @@ - - + +
Skip to main content

Match a message with a fragment inside another object called `form`

{
"form": {
"@xmlns": "http://openrosa.org/formdesigner/F732194-3278-nota-ReAL-one"
}
}
- - + + \ No newline at end of file diff --git a/adaptors/magpi.html b/adaptors/magpi.html index 65aa974e6cb..66a508effe7 100644 --- a/adaptors/magpi.html +++ b/adaptors/magpi.html @@ -22,14 +22,14 @@ - - + +
Skip to main content

Magpi

Magpi is not able to push data to external URLs. In order to fetch data from Magpi, you must run a scheduled job with a cron trigger using language-magpi:

fetchSurveyData({
surveyId: 37479, // the survey id
afterDate: '2016-05-31', // the initial "after" date
// after the first run, OpenFn will only fetch new submissions
postUrl: 'https://www.openfn.org/inbox/secret-5c25-inbox-ba2c-url', // the inbox to post form data to.
});

Every time this job runs it will only fetch new data, by default.

- - + + \ No newline at end of file diff --git a/adaptors/moodle.html b/adaptors/moodle.html index 84d77f84d6a..8d354ad5312 100644 --- a/adaptors/moodle.html +++ b/adaptors/moodle.html @@ -22,8 +22,8 @@ - - + +
@@ -48,7 +48,7 @@ reflected in my mobile app so that I can follow-up with the relevant support to ensure they perform well.

Example job to get enrolled users via the Moodle API endpoint (aka web service function): core_enrol_get_enrolled_users

fn(state => {
const { loginUrl, username, password, host } = state.configuration;
return get(
`${loginUrl}&username=${username}&password=${password}`,
{},
state => {
const { token } = state.data;
const courseIds = [224, 225];
const enrolledUsers = [];
return each(
courseIds,
fn(state => {
let courseid = state.data;
return get(
`${host}`,
{
query: {
wstoken: token,
wsfunction: 'core_enrol_get_enrolled_users',
courseid,
moodlewsrestformat: 'json',
},
headers: { 'content-type': 'application/json' },
},
state => {
console.log(
`Getting users enrolled in the course with ${courseid}...`
);
enrolledUsers.push(state.data);
return { ...state, enrolledUsers };
}
)(state);
})
)(state);
}
)(state);
});
- - + + \ No newline at end of file diff --git a/adaptors/odk.html b/adaptors/odk.html index 3bef825e099..5f7063e8661 100644 --- a/adaptors/odk.html +++ b/adaptors/odk.html @@ -22,8 +22,8 @@ - - + +
@@ -44,7 +44,7 @@ https://www.openfn.org/inbox/8ad63a29-mUCh-sEcRET-cODes-wOW)
  • Leave "Authorization token:" blank.
  • Leave "Include Media as:" set to "Links(URLs) to Media".
  • Click "Publish" and enter your email address in the dialogue box.
  • Click the "Published Data" tab under "Form Management" and select your form to view the status of your publisher. You can also now check your OpenFn inbox to see ODK submissions arrive.
  • - - + + \ No newline at end of file diff --git a/adaptors/ona.html b/adaptors/ona.html index 7ccc8414e09..b4ce538aedc 100644 --- a/adaptors/ona.html +++ b/adaptors/ona.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ and select Settings.
  • On the left-side menu, select Webhooks.
  • Paste your OpenFn inbox URL into the URL input field.
  • Click "Add webhook".
  • Ensure that the webhook is now listed with the JSON tag, indicating that it will forward data as JSON.
  • Check to see that, once a form is submitted, it is forwarded to your OpenFn inbox.
  • - - + + \ No newline at end of file diff --git a/adaptors/packages/asana-changelog.html b/adaptors/packages/asana-changelog.html index 2280926b8a2..3c38c4eff75 100644 --- a/adaptors/packages/asana-changelog.html +++ b/adaptors/packages/asana-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    2.1.6

    Patch Changes

    2.1.5

    Patch Changes

    2.1.4

    Patch Changes

    2.1.3

    Patch Changes

    2.1.2

    Patch Changes

    2.1.1

    Patch Changes

    2.1.0

    Minor Changes

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/asana-configuration-schema.html b/adaptors/packages/asana-configuration-schema.html index 480719e1b36..fce122df859 100644 --- a/adaptors/packages/asana-configuration-schema.html +++ b/adaptors/packages/asana-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "apiVersion": "1.0",
    "token": "sample-tokenyWSJdXBACMLLWMNGgADFA"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "apiVersion": {
    "title": "API Version",
    "type": "string",
    "description": "The API version",
    "examples": [
    "1.0"
    ]
    },
    "token": {
    "title": "Token",
    "type": "string",
    "description": "The API token",
    "examples": [
    "sample-tokenyWSJdXBACMLLWMNGgADFA"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "apiVersion",
    "token"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/asana-docs.html b/adaptors/packages/asana-docs.html index 53110d09b66..51ec04982b7 100644 --- a/adaptors/packages/asana-docs.html +++ b/adaptors/packages/asana-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -38,7 +38,7 @@ Access: public

    ParamTypeDescription
    taskGidstringGlobally unique identifier for the task
    paramsobjectBody parameters
    callbackfunction(Optional) callback function

    Example

    updateTask("taskGid",
    {
    name: 'test', "approval_status": "pending", "assignee": "12345"
    }
    )

    upsertTask

    upsertTask(projectGid, params, callback) ⇒ Operation Update or create a task.

    Kind: global function
    Access: public

    ParamTypeDescription
    projectGidstringGlobally unique identifier for the project
    paramsobjectan object with an externalId and some task data.
    callbackfunction(Optional) callback function

    Example

    upsertTask(
    "1201382240880",
    {
    "externalId": "name",
    "data": {
    name: 'test', "approval_status": "pending", "assignee": "12345"
    }

    }
    )

    - - + + \ No newline at end of file diff --git a/adaptors/packages/asana-readme.html b/adaptors/packages/asana-readme.html index adeeed92cc1..66e7d289b90 100644 --- a/adaptors/packages/asana-readme.html +++ b/adaptors/packages/asana-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -38,7 +38,7 @@ the task does not exist, a new one will be created. The first parameter in this function should be the project_id.

    upsertTask('12344', {
    externalId: 'name',
    data: {
    name: 'A new task',
    projects: ['12344'],
    notes: 'This is a new task',
    },
    });

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/beyonic-changelog.html b/adaptors/packages/beyonic-changelog.html index 015674ca960..31eaf6a6504 100644 --- a/adaptors/packages/beyonic-changelog.html +++ b/adaptors/packages/beyonic-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    0.1.9

    Patch Changes

    0.1.8

    Patch Changes

    0.1.7

    Patch Changes

    0.1.6

    Patch Changes

    0.1.5

    Patch Changes

    0.1.4

    Patch Changes

    0.1.3

    Patch Changes

    0.1.2

    Patch Changes

    0.1.1

    Patch Changes

    0.1.0

    Minor Changes

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/beyonic-configuration-schema.html b/adaptors/packages/beyonic-configuration-schema.html index ac88f11d917..10888faaaf0 100644 --- a/adaptors/packages/beyonic-configuration-schema.html +++ b/adaptors/packages/beyonic-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "apiUrl": "https://beyonic.com/api",
    "apiToken": "cdjhiooiSIUJHDYSYUIHASIOHKAANOAJJjsiujhaka"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "apiUrl": {
    "title": "API URL",
    "type": "string",
    "description": "API URL",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "https://beyonic.com/api"
    ]
    },
    "apiToken": {
    "title": "API Token",
    "type": "string",
    "description": "API token",
    "minLength": 1,
    "examples": [
    "cdjhiooiSIUJHDYSYUIHASIOHKAANOAJJjsiujhaka"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "apiUrl",
    "apiToken"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/beyonic-docs.html b/adaptors/packages/beyonic-docs.html index 4bcf1557d5d..f800afe561d 100644 --- a/adaptors/packages/beyonic-docs.html +++ b/adaptors/packages/beyonic-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -31,7 +31,7 @@ Create a collection request

    Kind: global function

    ParamTypeDescription
    dataobjectPayload data for the collection request

    Example

    execute(
    createCollectionRequest(data)
    )(state)

    createContact

    createContact(data) ⇒ Operation Create a contact

    Kind: global function

    ParamTypeDescription
    dataobjectPayload data for the contact

    Example

    execute(
    createContact(data)
    )(state)

    createPayment

    createPayment(data) ⇒ Operation Create a payment

    Kind: global function

    ParamTypeDescription
    dataobjectPayload data for the payment

    Example

    execute(
    createPayment(data)
    )(state)

    - - + + \ No newline at end of file diff --git a/adaptors/packages/beyonic-readme.html b/adaptors/packages/beyonic-readme.html index dd4d1ab51d2..723d921bca2 100644 --- a/adaptors/packages/beyonic-readme.html +++ b/adaptors/packages/beyonic-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ configuration-schema definition.

    Payments API

    createPayment(...)

    createPayment(
    fields(
    field('phonenumber', '+256773712831'),
    field('first_name', 'Gideon'),
    field('last_name', 'Zelalem'),
    field('amount', 100.2),
    field('currency', 'USD'),
    field('account', 1),
    field('description', 'Long-term contract for Arseal'),
    field('payment_type', 'money'),
    field('callback_url', 'https://my.website/payments/callback')
    )
    );

    Collection Requests API

    createCollectionRequest(...)

    createCollectionRequest(
    fields(
    field('instructions', 'Send me some money, please!'),
    field('phonenumber', '+256773712831'),
    field('amount', 5.0),
    field('currency', 'USD')
    )
    );

    Contacts API

    createContact(...)

    createContact(
    fields(
    field('first_name', 'Granit'),
    field('last_name', 'Xhaka'),
    field('phone_number', '+256773712831'),
    field('email', 'granit@arsenal.com')
    )
    );

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/bigquery-changelog.html b/adaptors/packages/bigquery-changelog.html index c4021f9baf4..e5b1bd1650e 100644 --- a/adaptors/packages/bigquery-changelog.html +++ b/adaptors/packages/bigquery-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    1.1.5

    Patch Changes

    1.1.4

    Patch Changes

    1.1.3

    Patch Changes

    1.1.2

    Patch Changes

    1.1.1

    Patch Changes

    1.1.0

    Minor Changes

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/bigquery-configuration-schema.html b/adaptors/packages/bigquery-configuration-schema.html index b3f967b6133..a76d214b1c8 100644 --- a/adaptors/packages/bigquery-configuration-schema.html +++ b/adaptors/packages/bigquery-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "type": "service_acconut",
    "project_id": "some-project-id",
    "private_key_id": "670b9e3c8c366e83aa569dd57cbfc5c575b72e42",
    "private_key": "-----BEGIN PRIVATE KEY-----\nblah\nmoreblah=\n-----END PRIVATE KEY-----\n",
    "client_email": "bigquery@some-project.iam.gserviceaccount.com",
    "client_id": "someid",
    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    "token_uri": "https://oauth2.googleapis.com/token",
    "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
    "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/bigquery%40some-project.iam.gserviceaccount.com"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "type": "object",
    "additionalProperties": true,
    "properties": {
    "type": {
    "title": "Type",
    "type": "string",
    "description": "",
    "examples": [
    "service_acconut"
    ]
    },
    "project_id": {
    "title": "Prokect id",
    "type": "string",
    "description": "Project id",
    "examples": [
    "some-project-id"
    ]
    },
    "private_key_id": {
    "title": "Private Key Id",
    "type": "string",
    "description": "Private key id",
    "examples": [
    "670b9e3c8c366e83aa569dd57cbfc5c575b72e42"
    ]
    },
    "private_key": {
    "title": "Private Key",
    "type": "string",
    "description": "Private key",
    "examples": [
    "-----BEGIN PRIVATE KEY-----\nblah\nmoreblah=\n-----END PRIVATE KEY-----\n"
    ]
    },
    "client_email": {
    "title": "Client Email",
    "type": "string",
    "description": "Client email",
    "examples": [
    "bigquery@some-project.iam.gserviceaccount.com"
    ]
    },
    "client_id": {
    "title": "Client Id",
    "type": "string",
    "description": "Client id",
    "examples": [
    "someid"
    ]
    },
    "auth_uri": {
    "title": "Auth Uri",
    "type": "string",
    "description": "Auth Uri",
    "examples": [
    "https://accounts.google.com/o/oauth2/auth"
    ]
    },
    "token_uri": {
    "title": "Token Uri",
    "type": "string",
    "description": "Token Uri",
    "examples": [
    "https://oauth2.googleapis.com/token"
    ]
    },
    "auth_provider_x509_cert_url": {
    "title": "Auth Provider x509 Cert Url",
    "type": "string",
    "description": "",
    "examples": [
    "https://www.googleapis.com/oauth2/v1/certs"
    ]
    },
    "client_x509_cert_url": {
    "title": "Client x509 Cert Url",
    "type": "string",
    "description": "",
    "examples": [
    "https://www.googleapis.com/robot/v1/metadata/x509/bigquery%40some-project.iam.gserviceaccount.com"
    ]
    }
    },
    "required": [
    "type",
    "project_id",
    "private_key_id",
    "private_key",
    "client_email",
    "client_id",
    "auth_uri",
    "token_uri",
    "auth_provider_x509_cert_url",
    "client_x509_cert_url"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/bigquery-docs.html b/adaptors/packages/bigquery-docs.html index fb2235fb78c..5917640ed78 100644 --- a/adaptors/packages/bigquery-docs.html +++ b/adaptors/packages/bigquery-docs.html @@ -22,15 +22,15 @@ - - + +
    Skip to main content

    bigquery@2.0.3

    load

    load(dirPath, projectId, datasetId, tableId, loadOptions, callback) ⇒ Operation Load files to BigQuery

    Kind: global function
    Access: public

    ParamTypeDescription
    dirPathstringthe path to your local directory
    projectIdstringyour bigquery project id
    datasetIdstringyour bigquery dataset id
    tableIdstringthe name of the table you'd like to load
    loadOptionsobjectoptions to pass to the bigquery.load() API
    callbackfunctionand optional callback

    Example

    load(
    './tmp/files',
    'my-bg-project',
    'test01',
    'product-codes',
    {
    schema: 'FREQ:STRING,DATATYPE:STRING,PRODUCTCODE:STRING,PARTNER:STRING',
    writeDisposition: 'WRITE_APPEND',
    skipLeadingRows: 1,
    schemaUpdateOptions: ['ALLOW_FIELD_ADDITION'],
    createDisposition: 'CREATE_IF_NEEDED',
    }
    )

    - - + + \ No newline at end of file diff --git a/adaptors/packages/bigquery-readme.html b/adaptors/packages/bigquery-readme.html index 9c6c9481e58..f70339f7ac6 100644 --- a/adaptors/packages/bigquery-readme.html +++ b/adaptors/packages/bigquery-readme.html @@ -22,15 +22,15 @@ - - + +
    Skip to main content

    bigquery Adaptor developer README.md

    Source: https://github.com/OpenFn/adaptors/tree/main/packages/bigquery

    Language BigQuery

    Language Pack for building expressions and operations to make HTTP calls.

    Documentation

    state.json

    The configuration key must be a valid GCP credential as JSON.

    {
    "configuration": {
    "type": "service_account",
    "project_id": "some-project",
    "private_key_id": "670b9e3c8c366e83aa569dd57cbfc5c575b72e42",
    "private_key": "-----BEGIN PRIVATE KEY-----\nblah\nmoreblah=\n-----END PRIVATE KEY-----\n",
    "client_email": "bigquery@some-project.iam.gserviceaccount.com",
    "client_id": "someid",
    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    "token_uri": "https://oauth2.googleapis.com/token",
    "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
    "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/bigquery%40some-project.iam.gserviceaccount.com"
    },
    "data": { "a": 1 }
    }

    operations (expression.js)

    load(...)

    Load data to a table in bigquery from a CSV. See full options here.

    load(
    '/home/taylor/Desktop/type-C_r-ALL_ps-201012_freq-M_px-HS_pub-20200731_fmt-csv_ex-20200818.csv',
    'awesome-solutions-project', // project
    'test01', // dataset
    'mytable', // table
    {
    schema:
    'classification:STRING,year:STRING,period:STRING,period_desc:STRING,aggregate_level:STRING,is_leaf_code:STRING,trade_flow_code:STRING,trade_flow:STRING,reporter_code:STRING,reporter:STRING,reporter_iso:STRING,partner_code:STRING,partner:STRING,partner_iso:STRING,commodity_code:STRING,commodity:STRING,qty_unit_code:STRING,qty_unit:STRING,qty:INTEGER,netweight_kg:INTEGER,trade_value:INTEGER,flag:STRING',
    schemaUpdateOptions: ['ALLOW_FIELD_ADDITION'],
    // createDisposition: 'CREATE_IF_NEEDED',
    writeDisposition: 'WRITE_APPEND',
    skipLeadingRows: 1,
    } // loadOptions
    );

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/commcare-changelog.html b/adaptors/packages/commcare-changelog.html index e9bdaacf740..86e9afa8d77 100644 --- a/adaptors/packages/commcare-changelog.html +++ b/adaptors/packages/commcare-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    1.5.6

    Patch Changes

    1.5.5

    Patch Changes

    1.5.4

    Patch Changes

    1.5.3

    Patch Changes

    1.5.2

    Patch Changes

    1.5.1

    Patch Changes

    1.5.0

    Minor Changes

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/commcare-configuration-schema.html b/adaptors/packages/commcare-configuration-schema.html index bb3320fdbfa..459a776ce32 100644 --- a/adaptors/packages/commcare-configuration-schema.html +++ b/adaptors/packages/commcare-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "hostUrl": "https://www.commcarehq.org",
    "applicationName": "some-proof-of-concept",
    "appId": "the-long-uuid-in-the-url-that-designates-a-unique-commcare-project",
    "username": "test@openfn.org",
    "password": "superscretepassword"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "hostUrl": {
    "title": "Host URL",
    "type": "string",
    "description": "The CommCare host url",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "https://www.commcarehq.org"
    ]
    },
    "applicationName": {
    "title": "Application Name",
    "type": "string",
    "description": "The CommCare application name",
    "minLength": 1,
    "examples": [
    "some-proof-of-concept"
    ]
    },
    "appId": {
    "title": "App ID",
    "type": "string",
    "description": "Your CommCare project UUID",
    "minLength": 1,
    "examples": [
    "the-long-uuid-in-the-url-that-designates-a-unique-commcare-project"
    ]
    },
    "username": {
    "title": "Username",
    "type": "string",
    "description": "The username to log in to CommCare",
    "minLength": 1,
    "examples": [
    "test@openfn.org"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "The password to log in to CommCare",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "superscretepassword"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "hostUrl",
    "applicationName",
    "appId"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/commcare-docs.html b/adaptors/packages/commcare-docs.html index f86ae0b1e25..5f325bf5689 100644 --- a/adaptors/packages/commcare-docs.html +++ b/adaptors/packages/commcare-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -36,7 +36,7 @@ Access: public

    ParamTypeDescription
    formDataObjectObject including form data.

    Example

    submit(
    fields(
    field("@", function(state) {
    return {
    "xmlns": "http://openrosa.org/formdesigner/form-id-here"
    };
    }),
    field("question1", dataValue("answer1")),
    field("question2", "Some answer here.")
    )
    )

    submitXls

    submitXls(formData, params) ⇒ Operation Convert form data to xls then submit.

    Kind: global function
    Access: public

    ParamTypeDescription
    formDataObjectObject including form data.
    paramsObjectRequest params including case type and external id.

    Example

    submitXls(
    [
    {name: 'Mamadou', phone: '000000'},
    ],
    {
    case_type: 'student',
    search_field: 'external_id',
    create_new_cases: 'on',
    }
    )

    - - + + \ No newline at end of file diff --git a/adaptors/packages/commcare-readme.html b/adaptors/packages/commcare-readme.html index d8abf42319f..7ab88fd2ed9 100644 --- a/adaptors/packages/commcare-readme.html +++ b/adaptors/packages/commcare-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -35,7 +35,7 @@ https://www.commcarehq.org/a/YOUR_PROJECT/apps/view/YOUR_APP_ID/

  • Note that the username is your full email address.

  • fetchReportData to pull aggregate data from CommCare

    It takes 3 arguments: reportId, params, and postUrl.

    fetchReportData(
    'reportId',
    { limit: 10, offset: 2, state: 'Vermont' },
    'http://www.openfn.org/inbox/secret-uuid'
    );

    simple body target:

    <data xmlns="http://openrosa.org/formdesigner/39A2CA97-2EB8-4A9C-A0D1-6AA666666A66">
    <firstname>Something</firstname>
    <lastname>Else</lastname>
    <age>29</age>
    </data>

    complex body target:

    <?xml version='1.0' ?>
    <data uiVersion="1" version="17" name="New Form" xmlns:jrm="http://dev.commcarehq.org/jr/xforms" xmlns="http://openrosa.org/formdesigner/1DFD8610-91E3-4409-BF8B-02D3B4FF3530">
    <foo>bar</foo>
    <n0:case case_id="ddb8e2b3-7ce0-43e4-ad45-d7a2eebe9169" user_id="user-xxx-eve" date_modified="2013-04-19T16:53:02.799-04" xmlns:n0="http://commcarehq.org/case/transaction/v2">
    <n0:create>
    <n0:case_name>bar</n0:case_name>
    <n0:owner_id>user-xxx-eve</n0:owner_id>
    <n0:case_type>member</n0:case_type>
    </n0:create>
    </n0:case>
    <n1:meta xmlns:n1="http://openrosa.org/jr/xforms">
    <n1:deviceID>A00000245706EE</n1:deviceID>
    <n1:timeStart>2013-04-19T16:52:41.000-04</n1:timeStart>
    <n1:timeEnd>2013-04-19T16:53:02.799-04</n1:timeEnd>
    <n1:username>eve</n1:username>
    <n1:userID>user-xxx-eve</n1:userID>
    <n1:instanceID>b58df19c-efd5-4ecf-9581-65dda8b8787c</n1:instanceID>
    <n2:appVersion xmlns:n2="http://commcarehq.org/xforms">CommCare ODK, version "2.4.1"(10083). App v19. CommCare Version 2.4. Build 10083, built on: March-12-2013</n2:appVersion>
    </n1:meta>
    </data>

    Submitting data to CommCare HQ

    Submit an XLS file

    This function bulk submit a JSON object as xls file to CommCare HQ

    submitXls([{ name: 'Mamadou', phone: '000000' }], {
    case_type: 'student',
    search_field: 'external_id',
    create_new_cases: 'on',
    });

    submit

    Here we're just building the most basic JSON object, that will be converted to an XML object and posted as the element.

    submit(
    fields(
    field('@', function (state) {
    return {
    xmlns:
    'http://openrosa.org/formdesigner/2BCC3E88-2D0D-4C07-8D4A-6B372F3799D9',
    };
    }),
    field('paitent_namentosh', dataValue('first_name')),
    field('question2', 'Some answer here.'),
    field('question3', 'HKS'),
    field('question4', 'item1'),
    field('question5', 69855),
    field('question6', 12)
    )
    );

    An open rosa form submission body should look like this:

    <?xml version="1.0" ?>
    <data name="Patient Registration" uiVersion="1" version="9" xmlns="http://openrosa.org/formdesigner/2BCC3E88-2D0D-4C07-8D4A-6B372F3799D9" xmlns:jrm="http://dev.commcarehq.org/jr/xforms">
    <paitent_namentosh>Taylor</paitent_namentosh>
    <question2>Moruki</question2>
    <question3>Hks</question3>
    <question4>item1</question4>
    <question5>69855</question5>
    <question6>12</question6>
    <n0:meta xmlns:n0="http://openrosa.org/jr/xforms">
    <n0:deviceID>358239055789384</n0:deviceID>
    <n0:timeStart>2015-08-21T16:21:59.807+02</n0:timeStart>
    <n0:timeEnd>2015-08-21T16:22:15.987+02</n0:timeEnd>
    <n0:username>openfn</n0:username>
    <n0:userID>5fe615b3af2834cb5dca59f7466d6174</n0:userID>
    <n0:instanceID>195e79eb-d823-46fe-9e4f-59b8327d5db2</n0:instanceID>
    <n1:appVersion xmlns:n1="http://commcarehq.org/xforms">CommCare ODK, version &quot;2.22.0&quot;(370023). App v9. CommCare Version 2.22. Build 370023, built on: July-22-2015</n1:appVersion>
    </n0:meta>
    </data>

    So the JSON emitted by your expression should look like this:

    {
    "data": {
    "name": "Patient Registration",
    "uiVersion": "1",
    "version": "9",
    "xmlns": "http://openrosa.org/formdesigner/2BCC3E88-2D0D-4C07-8D4A-6B372F3799D9",
    "xmlns:jrm": "http://dev.commcarehq.org/jr/xforms",
    "paitent_namentosh": "Taylor",
    "question2": " Moruki",
    "question3": "Hks",
    "question4": "item1",
    "question5": "69855",
    "question6": "12",
    "n0:meta": {
    "xmlns:n0": "http://openrosa.org/jr/xforms",
    "n0:deviceID": "358239055789384",
    "n0:timeStart": "2015-08-21T16:21:59.807+02",
    "n0:timeEnd": "2015-08-21T16:22:15.987+02",
    "n0:username": "openfn",
    "n0:userID": "5fe615b3af2834cb5dca59f7466d6174",
    "n0:instanceID": "195e79eb-d823-46fe-9e4f-59b8327d5db2",
    "n1:appVersion": {
    "xmlns:n1": "http://commcarehq.org/xforms",
    "$t": "CommCare ODK, version \"2.22.0\"(370023). App v9. CommCare Version 2.22. Build 370023, built on: July-22-2015"
    }
    }
    }
    }

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/common-changelog.html b/adaptors/packages/common-changelog.html index 0cf0b0937ec..9abf62d7bac 100644 --- a/adaptors/packages/common-changelog.html +++ b/adaptors/packages/common-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -38,7 +38,7 @@ in the data may have an object as it's value (when there is only one item), and an array of objects when there is more than one. toArray can be used to reconcile this inconsistency.
    - - + + \ No newline at end of file diff --git a/adaptors/packages/common-configuration-schema.html b/adaptors/packages/common-configuration-schema.html index e49bb72956b..e9dabc2780c 100644 --- a/adaptors/packages/common-configuration-schema.html +++ b/adaptors/packages/common-configuration-schema.html @@ -22,13 +22,13 @@ - - + +
    Skip to main content
    - - + + \ No newline at end of file diff --git a/adaptors/packages/common-docs.html b/adaptors/packages/common-docs.html index 0162f3b74d3..32b831b3fdc 100644 --- a/adaptors/packages/common-docs.html +++ b/adaptors/packages/common-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -146,7 +146,7 @@ Data can be passed directly or loaded as a JSON path from state. By default, schema is loaded from state.schema and data from state.data.

    Kind: global function

    ParamTypeDescription
    schemastring | objectThe schema, path or URL to validate against
    datastring | objectThe data or path to validate

    Example (Validate `state.data` with `state.schema`)

    validate()

    Example (Validate form data at `state.form` with a schema from a URL)

    validate("https://www.example.com/schema/record", "form")

    Example (Validate the each item in `state.records` with a schema from a URL)

    each("records[*]", validate("https://www.example.com/schema/record"))

    withAgent

    withAgent(params) ⇒ Operation Creates an https agent for axios from the agentOptions key passed in params.

    Kind: global function

    ParamTypeDescription
    paramsobjectdata

    - - + + \ No newline at end of file diff --git a/adaptors/packages/common-readme.html b/adaptors/packages/common-readme.html index ee7e6fe7a61..0d24afa4ab3 100644 --- a/adaptors/packages/common-readme.html +++ b/adaptors/packages/common-readme.html @@ -22,14 +22,14 @@ - - + +
    Skip to main content
    - - + + \ No newline at end of file diff --git a/adaptors/packages/dhis2-changelog.html b/adaptors/packages/dhis2-changelog.html index 9271a9d5fac..81ad6736b12 100644 --- a/adaptors/packages/dhis2-changelog.html +++ b/adaptors/packages/dhis2-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    3.2.12

    Patch Changes

    3.2.11

    Patch Changes

    3.2.10

    Patch Changes

    3.2.9

    Patch Changes

    3.2.8

    Patch Changes

    3.2.7

    Patch Changes

    3.2.6

    Patch Changes

    3.2.5

    Patch Changes

    3.2.4

    Patch Changes

    3.2.3

    Patch Changes

    3.2.2

    Patch Changes

    3.2.1

    Patch Changes

    3.2.0

    Minor Changes

    3.1.0

    Minor Changes

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/dhis2-configuration-schema.html b/adaptors/packages/dhis2-configuration-schema.html index 63a0603e03e..bece322f00d 100644 --- a/adaptors/packages/dhis2-configuration-schema.html +++ b/adaptors/packages/dhis2-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "hostUrl": "https://play.dhis2.org/2.36.6",
    "username": "admin",
    "password": "@some(!)Password",
    "apiVersion": "v2"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "hostUrl": {
    "title": "Host URL",
    "type": "string",
    "description": "The base DHIS2 instance URL",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "https://play.dhis2.org/2.36.6"
    ]
    },
    "username": {
    "title": "Username",
    "type": "string",
    "description": "Username",
    "minLength": 1,
    "examples": [
    "admin"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "Password",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "@some(!)Password"
    ]
    },
    "apiVersion": {
    "title": "API Version",
    "anyOf": [
    {
    "type": "string"
    },
    {
    "type": "null"
    }
    ],
    "placeholder": "38",
    "description": "DHIS2 api version",
    "minLength": 1,
    "examples": [
    "v2"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "hostUrl",
    "password",
    "username"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/dhis2-docs.html b/adaptors/packages/dhis2-docs.html index d0558e3ba78..17b6c4e7cb9 100644 --- a/adaptors/packages/dhis2-docs.html +++ b/adaptors/packages/dhis2-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -59,7 +59,7 @@ Access: public

    ParamTypeDescription
    resourceTypestringThe type of resource to be updated. E.g. dataElements, organisationUnits, etc.
    pathstringThe id or path to the object to be updated. E.g. FTRrcoaog83 or FTRrcoaog83/{collection-name}/{object-id}
    dataObjectData to update. It requires to send all required fields or the full body. If you want partial updates, use patch operation.
    [options]ObjectOptional options to define URL parameters via params (E.g. filter, dimension and other import parameters), request config (E.g. auth) and the DHIS2 apiVersion.
    [callback]functionOptional callback to handle the response

    Example (a program)

    update('programs', 'qAZJCrNJK8H', {
    name: '14e1aa02c3f0a31618e096f2c6d03bed',
    shortName: '14e1aa02',
    programType: 'WITHOUT_REGISTRATION',
    });

    Example (an event)

    update('events', 'PVqUD2hvU4E', {
    program: 'eBAyeGv0exc',
    orgUnit: 'Ngelehun CHC',
    status: 'COMPLETED',
    storedBy: 'admin',
    dataValues: [],
    });

    Example (a trackedEntityInstance)

    update('trackedEntityInstances', 'IeQfgUtGPq2', {
    created: '2015-08-06T21:12:37.256',
    orgUnit: 'TSyzvBiovKh',
    createdAtClient: '2015-08-06T21:12:37.256',
    trackedEntityInstance: 'IeQfgUtGPq2',
    lastUpdated: '2015-08-06T21:12:37.257',
    trackedEntityType: 'nEenWmSyUEp',
    inactive: false,
    deleted: false,
    featureType: 'NONE',
    programOwners: [
    {
    ownerOrgUnit: 'TSyzvBiovKh',
    program: 'IpHINAT79UW',
    trackedEntityInstance: 'IeQfgUtGPq2',
    },
    ],
    enrollments: [],
    relationships: [],
    attributes: [
    {
    lastUpdated: '2016-01-12T00:00:00.000',
    displayName: 'Last name',
    created: '2016-01-12T00:00:00.000',
    valueType: 'TEXT',
    attribute: 'zDhUuAYrxNC',
    value: 'Russell',
    },
    {
    lastUpdated: '2016-01-12T00:00:00.000',
    code: 'MMD_PER_NAM',
    displayName: 'First name',
    created: '2016-01-12T00:00:00.000',
    valueType: 'TEXT',
    attribute: 'w75KJ2mc4zz',
    value: 'Catherine',
    },
    ],
    });

    Example (a dataSet)

    update('dataSets', 'lyLU2wR22tC', { name: 'OpenFN Data Set', periodType: 'Weekly' });

    Example (a dataSetNotification)

    update('dataSetNotificationTemplates', 'VbQBwdm1wVP', {
    dataSetNotificationTrigger: 'DATA_SET_COMPLETION',
    notificationRecipient: 'ORGANISATION_UNIT_CONTACT',
    name: 'Notification',
    messageTemplate: 'Hello Updated,
    deliveryChannels: ['SMS'],
    dataSets: [],
    });

    Example (a dataElement)

    update('dataElements', 'FTRrcoaog83', {
    aggregationType: 'SUM',
    domainType: 'AGGREGATE',
    valueType: 'NUMBER',
    name: 'Paracetamol',
    shortName: 'Para',
    });

    Example (a dataElementGroup)

    update('dataElementGroups', 'QrprHT61XFk', {
    name: 'Data Element Group 1',
    dataElements: [],
    });

    Example (a dataElementGroupSet)

    update('dataElementGroupSets', 'VxWloRvAze8', {
    name: 'Data Element Group Set 4',
    dataDimension: true,
    shortName: 'DEGS4',
    dataElementGroups: [],
    });

    Example (a dataValueSet)

    update('dataValueSets', 'AsQj6cDsUq4', {
    dataElement: 'f7n9E0hX8qk',
    period: '201401',
    orgUnit: 'DiszpKrYNg8',
    value: '12',
    });

    Example (a dataValueSet with related dataValues)

    update('dataValueSets', 'Ix2HsbDMLea', {
    dataSet: 'pBOMPrpg1QX',
    completeDate: '2014-02-03',
    period: '201401',
    orgUnit: 'DiszpKrYNg8',
    dataValues: [
    {
    dataElement: 'f7n9E0hX8qk',
    value: '1',
    },
    {
    dataElement: 'Ix2HsbDMLea',
    value: '2',
    },
    {
    dataElement: 'eY5ehpbEsB7',
    value: '3',
    },
    ],
    });

    Example (a single enrollment)

    update('enrollments', 'CmsHzercTBa' {
    trackedEntityInstance: 'bmshzEacgxa',
    orgUnit: 'TSyzvBiovKh',
    program: 'gZBxv9Ujxg0',
    enrollmentDate: '2013-10-17',
    incidentDate: '2013-10-17',
    });

    upsert

    upsert(resourceType, query, data, [options], [callback]) ⇒ Operation Upsert a record. A generic helper function used to atomically either insert a row, or on the basis of the row already existing, UPDATE that existing row instead.

    Kind: global function
    Throws:

    Access: public

    ParamTypeDescription
    resourceTypestringThe type of a resource to upsert. E.g. trackedEntityInstances
    queryObjectA query object that allows to uniquely identify the resource to update. If no matches found, then the resource will be created.
    dataObjectThe data to use for update or create depending on the result of the query.
    [options]ObjectOptional configuration that will be applied to both the get and the create or update operations.
    [callback]functionOptional callback to handle the response

    Example (Example `expression.js` of upsert)

    upsert('trackedEntityInstances', {
    ou: 'TSyzvBiovKh',
    filter: ['w75KJ2mc4zz:Eq:Qassim'],
    }, {
    orgUnit: 'TSyzvBiovKh',
    trackedEntityType: 'nEenWmSyUEp',
    attributes: [
    {
    attribute: 'w75KJ2mc4zz',
    value: 'Qassim',
    },
    ],
    });

    - - + + \ No newline at end of file diff --git a/adaptors/packages/dhis2-readme.html b/adaptors/packages/dhis2-readme.html index 5296701d701..a687f32d900 100644 --- a/adaptors/packages/dhis2-readme.html +++ b/adaptors/packages/dhis2-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -65,7 +65,7 @@ required. Otherwise the create integration tests would be broken again; and that's an endless faillure loop :(

    Anytime a new example is added in the documentation of a helper function, a new integration test should be built.

    - - + + \ No newline at end of file diff --git a/adaptors/packages/dynamics-changelog.html b/adaptors/packages/dynamics-changelog.html index b2c13b77500..865419dda6a 100644 --- a/adaptors/packages/dynamics-changelog.html +++ b/adaptors/packages/dynamics-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    0.3.5

    Patch Changes

    0.3.4

    Patch Changes

    0.3.3

    Patch Changes

    0.3.2

    Patch Changes

    0.3.1

    Patch Changes

    0.3.0

    Minor Changes

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/dynamics-configuration-schema.html b/adaptors/packages/dynamics-configuration-schema.html index 9b471eb4727..2a15c6e031b 100644 --- a/adaptors/packages/dynamics-configuration-schema.html +++ b/adaptors/packages/dynamics-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "resource": "https://openfn.crm2.dynamics.com",
    "apiVersion": "8.2.0",
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjlGWERwYmZNRlQyU3ZRdVhoODQ2WVR3RUlCdyIsI"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$comment": "OAuth2",
    "properties": {
    "resource": {
    "title": "Resource",
    "type": "string",
    "description": "Dynamics resource URL",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "https://openfn.crm2.dynamics.com"
    ]
    },
    "apiVersion": {
    "title": "API Version",
    "type": "string",
    "default": "8.2.0",
    "description": "Dynamics API version to use",
    "minLength": 1,
    "examples": [
    "8.2.0"
    ]
    },
    "access_token": {
    "title": "Access Token",
    "type": "string",
    "description": "Dynamics API access token",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjlGWERwYmZNRlQyU3ZRdVhoODQ2WVR3RUlCdyIsI"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "resource",
    "apiVersion",
    "access_token"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/dynamics-docs.html b/adaptors/packages/dynamics-docs.html index ebc2cdf5474..91c25ba16b5 100644 --- a/adaptors/packages/dynamics-docs.html +++ b/adaptors/packages/dynamics-docs.html @@ -22,13 +22,13 @@ - - + +
    Skip to main content
    - - + + \ No newline at end of file diff --git a/adaptors/packages/dynamics-readme.html b/adaptors/packages/dynamics-readme.html index 1c9b8c1e943..b44e3954d5f 100644 --- a/adaptors/packages/dynamics-readme.html +++ b/adaptors/packages/dynamics-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -38,7 +38,7 @@ in the expression. Otherwise it will perform a query on all data with the defined Entity Name

    query({
    entityName: 'contacts',
    entityId: '51a0e5b9-88df-e311-b8e5-6c3be5a8b200',
    query: {
    fields: ['fullname', 'birthdate'],
    limit: 10,
    orderBy: {
    field: 'lastname',
    direction: 'asc',
    },
    filter: "firstname eq 'Cat'",
    },
    });

    sample update expression

    updateEntity({
    entityName: 'accounts',
    entityId: 'f4301865-c64a-e711-80f3-e0071b6fd061',
    body: {
    name: 'wilder 2',
    creditonhold: true,
    address1_latitude: 47.639583,
    description: 'This is the description of the sample account',
    revenue: 5000000,
    accountcategorycode: 1,
    },
    });

    sample delete expression

    deleteEntity({
    entityName: 'accounts',
    entityId: 'aeef941b-254a-e711-80f1-e0071b685921',
    });

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/facebook-changelog.html b/adaptors/packages/facebook-changelog.html index 229c9f12197..1987559c2fe 100644 --- a/adaptors/packages/facebook-changelog.html +++ b/adaptors/packages/facebook-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    0.2.3

    Patch Changes

    0.2.2

    Patch Changes

    0.2.1

    Patch Changes

    0.2.0

    Minor Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/facebook-configuration-schema.html b/adaptors/packages/facebook-configuration-schema.html index f8f98e0e34f..9d5fca7dc69 100644 --- a/adaptors/packages/facebook-configuration-schema.html +++ b/adaptors/packages/facebook-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "access_token": false
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$comment": "OAuth2",
    "properties": {
    "access_token": {
    "title": "Access Token",
    "type": "string",
    "description": "Your Facebook API access token",
    "writeOnly": true,
    "minLength": 1
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "access_token"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/facebook-docs.html b/adaptors/packages/facebook-docs.html index 02c4f06e18b..2feb50a27df 100644 --- a/adaptors/packages/facebook-docs.html +++ b/adaptors/packages/facebook-docs.html @@ -22,15 +22,15 @@ - - + +
    Skip to main content
    - - + + \ No newline at end of file diff --git a/adaptors/packages/facebook-readme.html b/adaptors/packages/facebook-readme.html index 248510b7765..ddb744f9c4a 100644 --- a/adaptors/packages/facebook-readme.html +++ b/adaptors/packages/facebook-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ configuration-schema definition.

    postMessage

    sample expression using operation

    postMessage({
    recipient: {
    id: '<PSID>',
    },
    message: {
    text: '<YOUR MESSAGE GOES HERE>',
    },
    });

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/fhir-changelog.html b/adaptors/packages/fhir-changelog.html index 5cee0306765..8dfce53ebdc 100644 --- a/adaptors/packages/fhir-changelog.html +++ b/adaptors/packages/fhir-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    2.0.0

    Major Changes

    1.1.5

    Patch Changes

    1.1.4

    Patch Changes

    1.1.3

    Patch Changes

    1.1.2

    Patch Changes

    1.1.1

    Patch Changes

    1.1.0

    Minor Changes

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/fhir-configuration-schema.html b/adaptors/packages/fhir-configuration-schema.html index cedd8c79c4e..772ec8642ae 100644 --- a/adaptors/packages/fhir-configuration-schema.html +++ b/adaptors/packages/fhir-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "baseUrl": "https://hapi.fhir.org/baseR4",
    "apiPath": "baseR4",
    "authType": "Basic",
    "token": "@super!scretetoken"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "type": "object",
    "properties": {
    "baseUrl": {
    "title": "Base Url",
    "type": "string",
    "description": "The baseUrl",
    "examples": [
    "https://hapi.fhir.org/baseR4"
    ]
    },
    "apiPath": {
    "title": "API Path",
    "anyOf": [
    {
    "type": "string"
    },
    {
    "type": "null"
    }
    ],
    "placeholder": "R4",
    "description": "FHIR api path",
    "minLength": 1,
    "examples": [
    "baseR4",
    "R3",
    "R4"
    ]
    },
    "authType": {
    "title": "Auth Type",
    "type": "string",
    "description": "The type of authentication used to authenticate into the destination system",
    "examples": [
    "Basic"
    ]
    },
    "token": {
    "title": "Token",
    "type": "string",
    "description": "The token used to authenticate into the destination system",
    "examples": [
    "@super!scretetoken"
    ]
    }
    },
    "required": [
    "resource",
    "authType",
    "token"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/fhir-docs.html b/adaptors/packages/fhir-docs.html index 3cc7fe6b2a2..8ba04187bb5 100644 --- a/adaptors/packages/fhir-docs.html +++ b/adaptors/packages/fhir-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -41,7 +41,7 @@ Returns: The request function is returning the parsed JSON data from the response of the HTTP request made to the specified url with the given params and method. If there is an error in the response, the function will throw an error.

    ParamTypeDefaultDescription
    urlstringThe URL of the API endpoint that the request is being made to.
    [params]objectAn object containing any additional parameters to be sent with the request, such as query parameters or request body data. It is an optional parameter and defaults to an empty object if not provided.
    [method]string"GET"The HTTP method to be used for the request. It defaults to 'GET' if not specified.

    - - + + \ No newline at end of file diff --git a/adaptors/packages/fhir-readme.html b/adaptors/packages/fhir-readme.html index 46d67f6f259..0368de72b2a 100644 --- a/adaptors/packages/fhir-readme.html +++ b/adaptors/packages/fhir-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ configuration-schema definition.

    Creates a resource in a destination system using a POST request

    create('/endpoint', { foo: 'bar' });

    Creates a transactionBundle for HAPI FHIR

    createTransactionBundle({
    entry: [transactionBundle],
    });

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/godata-changelog.html b/adaptors/packages/godata-changelog.html index c97e108ce8a..f16547bdc8e 100644 --- a/adaptors/packages/godata-changelog.html +++ b/adaptors/packages/godata-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    3.2.4

    Patch Changes

    3.2.3

    Patch Changes

    3.2.2

    Patch Changes

    3.2.1

    Patch Changes

    3.2.0

    Minor Changes

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/godata-configuration-schema.html b/adaptors/packages/godata-configuration-schema.html index dfecf35ec2f..3a0475518eb 100644 --- a/adaptors/packages/godata-configuration-schema.html +++ b/adaptors/packages/godata-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "apiUrl": "https://www.who-godata.com/api",
    "email": "test@openfn.org",
    "password": "@some(!)Strongpassword"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "apiUrl": {
    "title": "API URL",
    "type": "string",
    "description": "Godata API URL",
    "default": "https://www.who-godata.com/api",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "https://www.who-godata.com/api"
    ]
    },
    "email": {
    "title": "Email",
    "type": "string",
    "description": "Your Godata login email",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "test@openfn.org"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "Your Godata login password",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "@some(!)Strongpassword"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "apiUrl",
    "email",
    "password"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/godata-docs.html b/adaptors/packages/godata-docs.html index 9a2d3b0c72f..b83c8388590 100644 --- a/adaptors/packages/godata-docs.html +++ b/adaptors/packages/godata-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -58,7 +58,7 @@ Access: public

    ParamTypeDescription
    outbreakobjectan object with an externalId and some outbreak data.
    callbackfunction(Optional) Callback function

    Example

    upsertOutbreak({externalId: "3dec33-ede3", data: {...}})

    upsertReferenceData

    upsertReferenceData(externalId, goDataReferenceData, callback) ⇒ Operation Upsert reference data to godata

    Kind: global function
    Access: public

    ParamTypeDescription
    externalIdstringExternal Id to match
    goDataReferenceDataobjectan object with some reference data.
    callbackfunction(Optional) Callback function

    Example

    upsertReferenceData('id', {...})

    - - + + \ No newline at end of file diff --git a/adaptors/packages/godata-readme.html b/adaptors/packages/godata-readme.html index 784e1fc5288..b48bfc914c6 100644 --- a/adaptors/packages/godata-readme.html +++ b/adaptors/packages/godata-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -54,7 +54,7 @@ mechanism can specify a criteria to match.

    getReferenceData(
    { where: { categoryId: 'LNG_REFERENCE_DATA_CATEGORY_CENTRE_NAME' } },
    state => {
    console.log(state.data);
    return state;
    }
    );

    Insert or Update a reference data using a unique id as a key

    This function is used to either update a location if matched or insert a new. A custom externalId can be provided.

    upsertReferenceData('id', {
    categoryId: 'CATEGORY',
    value: 'VALUE',
    readOnly: false,
    active: true,
    id: 'ID',
    createdAt: '2020-10-01T18:48:31.784Z',
    createdBy: '95d31ea9',
    updatedAt: '2020-10-01T18:48:31.784Z',
    updatedBy: '95d31ea9',
    createdOn: 'API',
    deleted: false,
    });

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/googlehealthcare-changelog.html b/adaptors/packages/googlehealthcare-changelog.html index 5e875796e4b..75051a217a2 100644 --- a/adaptors/packages/googlehealthcare-changelog.html +++ b/adaptors/packages/googlehealthcare-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -34,7 +34,7 @@ information ({cloudRegion: string, projectId: string, datasetId: string, fhirStoreId: string}).

    0.1.0

    Minor Changes

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/googlehealthcare-configuration-schema.html b/adaptors/packages/googlehealthcare-configuration-schema.html index 9ac19a5c581..84c60206f4a 100644 --- a/adaptors/packages/googlehealthcare-configuration-schema.html +++ b/adaptors/packages/googlehealthcare-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjlGWERwYmZNRlQyU3ZRdVhoODQ2WVR3RUlCdyIsI",
    "apiVersion": "v1"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$comment": "OAuth2",
    "type": "object",
    "properties": {
    "access_token": {
    "title": "Access Token",
    "type": "string",
    "description": "Your Google Cloud Healthcare access token",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjlGWERwYmZNRlQyU3ZRdVhoODQ2WVR3RUlCdyIsI"
    ]
    },
    "apiVersion": {
    "title": "API Version",
    "type": "string",
    "description": "The API version",
    "default": "v1",
    "examples": [
    "v1",
    "v1beta1"
    ]
    }
    },
    "required": [
    "access_token"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/googlehealthcare-docs.html b/adaptors/packages/googlehealthcare-docs.html index c61f5cfe00a..7334bcd2fb9 100644 --- a/adaptors/packages/googlehealthcare-docs.html +++ b/adaptors/packages/googlehealthcare-docs.html @@ -22,15 +22,15 @@ - - + +
    Skip to main content

    googlehealthcare@1.0.0

    createFhirResource

    createFhirResource([fhirStore], resource, callback) ⇒ Operation Create some resource in Google Cloud Healthcare

    Kind: global function
    Access: public

    ParamTypeDescription
    [fhirStore]ObjectThe FHIR store information. - cloudRegion (string): The cloud region where the FHIR store is located. - projectId (string): The ID of the project that contains the FHIR store. - datasetId (string): The ID of the dataset that contains the FHIR store. - fhirStoreId (string): The ID of the FHIR store.
    resourceobjectThe FHIR resource data to be created
    callbackfunctionAn optional callback function

    Example

    createFhirResource(
    {
    cloudRegion: "us-central1",
    projectId: "adjective-noun-123",
    datasetId: "my-dataset",
    fhirStoreId: "my-fhir-store",
    },
    {
    resourceType: "Patient",
    name: [{ use: "official", family: "Smith", given: ["Darcy"] }],
    gender: "female",
    birthDate: "1970-01-01",
    }
    );

    Example

    createFhirResource(
    {
    cloudRegion: "us-central1",
    projectId: "adjective-noun-123",
    datasetId: "my-dataset",
    fhirStoreId: "my-fhir-store",
    },
    (state) => ({
    resourceType: "Encounter",
    status: "finished",
    class: {
    system: "http://hl7.org/fhir/v3/ActCode",
    code: "IMP",
    display: "inpatient encounter",
    },
    reasonCode: [
    {
    text: "The patient had an abnormal heart rate. She was concerned about this.",
    },
    ],
    subject: {
    reference: `Patient/${state.data.id}`,
    },
    })
    );

    - - + + \ No newline at end of file diff --git a/adaptors/packages/googlehealthcare-readme.html b/adaptors/packages/googlehealthcare-readme.html index 7ac6cee2fda..468c2985f3d 100644 --- a/adaptors/packages/googlehealthcare-readme.html +++ b/adaptors/packages/googlehealthcare-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -34,7 +34,7 @@ configuration-schema for required and optional configuration properties.

    Development

    Clone the adaptors monorepo. Follow the "Getting Started" guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To build only the docs run pnpm build docs.

    - - + + \ No newline at end of file diff --git a/adaptors/packages/googlesheets-changelog.html b/adaptors/packages/googlesheets-changelog.html index 0c2e8e12a38..84e2cf8a289 100644 --- a/adaptors/packages/googlesheets-changelog.html +++ b/adaptors/packages/googlesheets-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    2.1.6

    Patch Changes

    2.1.5

    Patch Changes

    2.1.4

    Patch Changes

    2.1.3

    Patch Changes

    2.1.2

    Patch Changes

    2.1.1

    Patch Changes

    2.1.0

    Minor Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/googlesheets-configuration-schema.html b/adaptors/packages/googlesheets-configuration-schema.html index 060bb089b80..dbfd8d74a3b 100644 --- a/adaptors/packages/googlesheets-configuration-schema.html +++ b/adaptors/packages/googlesheets-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjlGWERwYmZNRlQyU3ZRdVhoODQ2WVR3RUlCdyIsI"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$comment": "OAuth2",
    "properties": {
    "access_token": {
    "title": "Access Token",
    "type": "string",
    "description": "Your Google Sheets access token",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjlGWERwYmZNRlQyU3ZRdVhoODQ2WVR3RUlCdyIsI"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "access_token"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/googlesheets-docs.html b/adaptors/packages/googlesheets-docs.html index 6acf718db69..8284d4a7c1e 100644 --- a/adaptors/packages/googlesheets-docs.html +++ b/adaptors/packages/googlesheets-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -31,7 +31,7 @@ Add an array of rows to the spreadsheet. https://developers.google.com/sheets/api/samples/writing#append_values

    Kind: global function
    Access: public

    ParamTypeDescription
    paramsObjectData object to add to the spreadsheet.

    Example

    appendValues({
    spreadsheetId: '1O-a4_RgPF_p8W3I6b5M9wobA3-CBW8hLClZfUik5sos',
    range: 'Sheet1!A1:E1',
    values: [
    ['From expression', '$15', '2', '3/15/2016'],
    ['Really now!', '$100', '1', '3/20/2016'],
    ],
    })

    - - + + \ No newline at end of file diff --git a/adaptors/packages/googlesheets-readme.html b/adaptors/packages/googlesheets-readme.html index 4cd02009314..336f602c071 100644 --- a/adaptors/packages/googlesheets-readme.html +++ b/adaptors/packages/googlesheets-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -34,7 +34,7 @@ definition.

    appendValues()

    Add rows to an existing sheet: https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId/values/Sheet1!A1:E1:append?valueInputOption=USER_ENTERED

    appendValues({
    spreadsheetId: '1O-a4_RgPF_p8W3I6b5M9wobA3-CBW8hLClZfUik5sos',
    range: 'Sheet1!A1:E1',
    values: [
    ['From expression', '$15', '2', '3/15/2016'],
    ['Really now!', '$100', '1', '3/20/2016'],
    ],
    });

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/http-changelog.html b/adaptors/packages/http-changelog.html index 2d70e4fa499..e6eb83262b9 100644 --- a/adaptors/packages/http-changelog.html +++ b/adaptors/packages/http-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    4.2.8

    Patch Changes

    4.2.7

    Patch Changes

    4.2.6

    Patch Changes

    4.2.5

    Patch Changes

    4.2.4

    Patch Changes

    4.2.3

    Patch Changes

    4.2.2

    Patch Changes

    4.2.1

    Patch Changes

    4.2.0

    Minor Changes

    4.1.0

    Minor Changes

    4.0.1

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/http-configuration-schema.html b/adaptors/packages/http-configuration-schema.html index 26b63a7f18c..574d115e340 100644 --- a/adaptors/packages/http-configuration-schema.html +++ b/adaptors/packages/http-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "username": "test@openfn.org",
    "password": "@some(!)Password",
    "baseUrl": "https://instance_name.surveycto.com"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "username": {
    "title": "Username",
    "type": "string",
    "description": "Username",
    "examples": [
    "test@openfn.org"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "Password",
    "writeOnly": true,
    "examples": [
    "@some(!)Password"
    ]
    },
    "baseUrl": {
    "title": "Base URL",
    "anyOf": [
    {
    "type": "string"
    },
    {
    "type": "null"
    }
    ],
    "description": "The base URL (http://www.example.com)",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "https://instance_name.surveycto.com"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "password",
    "username"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/http-docs.html b/adaptors/packages/http-docs.html index 04c096a1c3c..c72d20dae6d 100644 --- a/adaptors/packages/http-docs.html +++ b/adaptors/packages/http-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -41,7 +41,7 @@ Make a PUT request

    Kind: global function
    Access: public

    ParamTypeDescription
    pathstringPath to resource
    paramsobjectBody, Query, Headers and Auth parameters
    callbackfunction(Optional) Callback function

    Example

    put('/myEndpoint', {
    body: {'foo': 'bar'},
    headers: {'content-type': 'application/json'},
    authentication: {username: 'user', password: 'pass'}
    })

    request

    request(params) ⇒ Operation Make a request using the 'request' node module. This module is deprecated.

    Kind: global function

    ParamTypeDescription
    paramsobjectQuery, Headers and Authentication parameters

    Example

    request(params);

    - - + + \ No newline at end of file diff --git a/adaptors/packages/http-readme.html b/adaptors/packages/http-readme.html index 9ca6ddaaf73..df60a23d848 100644 --- a/adaptors/packages/http-readme.html +++ b/adaptors/packages/http-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ definition.

    Get data

    This helper function allows the use of a get method to fetch data. You can specify a query string for filter.

    get(
    '/myendpoint',
    {
    query: { foo: 'bar', a: 1 },
    headers: { 'content-type': 'application/json' },
    authentication: { username: 'taylor', password: 'somethingsecret' },
    },
    state => {
    return state;
    }
    );

    Post existing data

    Send some data to an existing endpoint.

    post('/endpoint', {
    body: state => {
    return {
    field_1: 'some_data',
    field_2: 'some_more_data',
    field_id: dataValue('Some.Json.Object.Id')(state),
    };
    },
    headers: {
    Authorization: 'AUTH_KEY',
    'Content-Type': 'application/json',
    },
    });

    Update existing data with PUT or PATCH

    put(
    '/myendpoint',
    {
    body: { firstname: 'taylor', lastname: 'downs' },
    headers: { 'content-type': 'application/json' },
    authentication: { username: 'user', password: 'pass' },
    },
    state => {
    return state;
    }
    );
    patch(
    '/myendpoint',
    {
    body: { firstname: 'taylor', lastname: 'downs' },
    headers: { 'content-type': 'application/json' },
    authentication: { username: 'user', password: 'pass' },
    },
    state => {
    return state;
    }
    );

    Delete data

    del(
    '/myendpoint',
    {
    query: { id: 'someId' },
    headers: { 'content-type': 'application/json' },
    authentication: { username: 'user', password: 'pass' },
    },
    state => {
    return state;
    }
    );

    Parse XML

    This function allows you to parse some xml data. A callback function can be use to store in a table.

    parseXML(body, function ($) {
    return $('table[class=your_table]').parsetable(true, true, true);
    });

    Parse CSV

    parseCSV('someData.csv', {
    quoteChar: '"',
    header: false,
    });

    Sample parse local CSV file

    parseCSV('PatientsJan2009.csv', {
    quoteChar: '"',
    header: false,
    columns: true,
    skip_empty_lines: true,
    trim: true,
    bom: true,
    });

    Development

    Clone the repo, run pnpm install.

    Run tests using pnpm run test or pnpm run test:watch.

    To build the docs for this repo, run pnpm build:docs.

    - - + + \ No newline at end of file diff --git a/adaptors/packages/khanacademy-changelog.html b/adaptors/packages/khanacademy-changelog.html index d6021e583ea..e1da1a01b0d 100644 --- a/adaptors/packages/khanacademy-changelog.html +++ b/adaptors/packages/khanacademy-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    0.3.4

    Patch Changes

    0.3.3

    Patch Changes

    0.3.2

    Patch Changes

    0.3.1

    Patch Changes

    0.3.0

    Minor Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/khanacademy-configuration-schema.html b/adaptors/packages/khanacademy-configuration-schema.html index 7b8397efa24..d348168f5f8 100644 --- a/adaptors/packages/khanacademy-configuration-schema.html +++ b/adaptors/packages/khanacademy-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "email": "test@openfn.org",
    "password": "@some(!)Strongpassword",
    "consumerKey": "somEThINGkeyish",
    "secretKey": "otherThiNGfSECret"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "email": {
    "title": "Email",
    "type": "string",
    "description": "Your Khanacademy login email",
    "format": "email",
    "minLength": 1,
    "examples": [
    "test@openfn.org"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "Your Khanacademy login password",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "@some(!)Strongpassword"
    ]
    },
    "consumerKey": {
    "title": "Consumer Key",
    "type": "string",
    "description": "Your Khanacademy consumer key",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "somEThINGkeyish"
    ]
    },
    "secretKey": {
    "title": "Secret Key",
    "type": "string",
    "description": "Your Khanacademy secret key",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "otherThiNGfSECret"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "email",
    "password",
    "secretKey",
    "consumerKey"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/khanacademy-docs.html b/adaptors/packages/khanacademy-docs.html index 1315ee3e152..8a28791dfd4 100644 --- a/adaptors/packages/khanacademy-docs.html +++ b/adaptors/packages/khanacademy-docs.html @@ -22,14 +22,14 @@ - - + +
    Skip to main content
    - - + + \ No newline at end of file diff --git a/adaptors/packages/khanacademy-readme.html b/adaptors/packages/khanacademy-readme.html index be2f694404c..899b2126b16 100644 --- a/adaptors/packages/khanacademy-readme.html +++ b/adaptors/packages/khanacademy-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ configuration-schema definition.

    fetch

    sample usage

    fetch({
    getEndpoint: 'user',
    queryParams: {
    email: 'thisoneuser@something.org',
    },
    postUrl: 'https://www.openfn.org/inbox/your-uuid',
    });

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/kobotoolbox-changelog.html b/adaptors/packages/kobotoolbox-changelog.html index a04c7a7bd05..671ec5f1a2f 100644 --- a/adaptors/packages/kobotoolbox-changelog.html +++ b/adaptors/packages/kobotoolbox-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    1.3.3

    Patch Changes

    1.3.2

    Patch Changes

    1.3.1

    Patch Changes

    1.3.0

    Minor Changes

    Patch Changes

    1.2.0

    Minor Changes

    Patch Changes

    1.1.0

    Minor Changes

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/kobotoolbox-configuration-schema.html b/adaptors/packages/kobotoolbox-configuration-schema.html index 874d5af1ded..7ce60a74ad7 100644 --- a/adaptors/packages/kobotoolbox-configuration-schema.html +++ b/adaptors/packages/kobotoolbox-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "baseURL": "https://kf.kobotoolbox.org",
    "username": "test@openfn.org",
    "password": "@some(!)Strongpassword",
    "apiVersion": "v2"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "baseURL": {
    "title": "Base URL",
    "type": "string",
    "default": "https://kf.kobotoolbox.org",
    "description": "Kobotoolbox URL",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "https://kf.kobotoolbox.org"
    ]
    },
    "username": {
    "title": "Username",
    "type": "string",
    "description": "Kobotoolbox username",
    "minLength": 1,
    "examples": [
    "test@openfn.org"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "Kobotoolbox password",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "@some(!)Strongpassword"
    ]
    },
    "apiVersion": {
    "title": "API Version",
    "type": "string",
    "placeholder": "v2",
    "description": "Kobotoolbox API version to use",
    "minLength": 1,
    "examples": [
    "v2"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "username",
    "baseURL",
    "password",
    "apiVersion"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/kobotoolbox-docs.html b/adaptors/packages/kobotoolbox-docs.html index ca683b6fb28..22bd9fd42f6 100644 --- a/adaptors/packages/kobotoolbox-docs.html +++ b/adaptors/packages/kobotoolbox-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ Make a request to get the list of forms

    Kind: global function
    Access: public

    ParamTypeDescription
    paramsobjectQuery, Headers and Authentication parameters
    callbackfunction(Optional) Callback function to execute after fetching form list

    Example

    getForms({}, state => {
    console.log(state.data);
    return state;
    });

    getSubmissions

    getSubmissions(params, callback) ⇒ Operation Get submissions for a specific form

    Kind: global function

    ParamTypeDescription
    paramsobjectForm Id and data to make the fetch or filter
    callbackfunction(Optional) Callback function to execute after fetching form submissions

    Example

    getSubmissions({formId: 'aXecHjmbATuF6iGFmvBLBX'}, state => {
    console.log(state.data);
    return state;
    });

    - - + + \ No newline at end of file diff --git a/adaptors/packages/kobotoolbox-readme.html b/adaptors/packages/kobotoolbox-readme.html index ddb13a4d41b..13d346b154e 100644 --- a/adaptors/packages/kobotoolbox-readme.html +++ b/adaptors/packages/kobotoolbox-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ configuration-schema definition.

    Get the list of forms

    getForms({}, state => {
    console.log(state.data);
    return state;
    });

    Get submissions for a specific form

    A query can be used to filter results.

    getSubmissions(
    { formId: 'aXecHjmbATuF6iGFmvBLBX', query: { end: { $gte: '2020-11-20' } } },
    state => {
    console.log(state.data);
    return state;
    }
    );

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/magpi-changelog.html b/adaptors/packages/magpi-changelog.html index f8fa2d772bc..4eebe1263b3 100644 --- a/adaptors/packages/magpi-changelog.html +++ b/adaptors/packages/magpi-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    1.0.5

    Patch Changes

    1.0.4

    Patch Changes

    1.0.3

    Patch Changes

    1.0.2

    Patch Changes

    1.0.1

    Patch Changes

    1.0.0

    Major Changes

    Minor Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/magpi-configuration-schema.html b/adaptors/packages/magpi-configuration-schema.html index 98be069ae6e..9e7f4c70217 100644 --- a/adaptors/packages/magpi-configuration-schema.html +++ b/adaptors/packages/magpi-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "username": "test@openfn.org",
    "accessToken": "somEThINGkeyish"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "username": {
    "title": "username",
    "type": "string",
    "description": "Magpi username",
    "minLength": 1,
    "examples": [
    "test@openfn.org"
    ]
    },
    "accessToken": {
    "title": "Access Token",
    "type": "string",
    "description": "Magpi access token",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "somEThINGkeyish"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "username",
    "accessToken"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/magpi-docs.html b/adaptors/packages/magpi-docs.html index 9a3853ca0af..18324766bfe 100644 --- a/adaptors/packages/magpi-docs.html +++ b/adaptors/packages/magpi-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ Access: public

    ParamTypeDescription
    paramsobjectdata to make the fetch

    Example

    fetchSurveyData({
    "surveyId": "37479",
    "afterDate": "2017-09-27",
    "postUrl": "https://www.openfn.org/inbox/your-inbox-url"
    })

    submitRecord

    submitRecord(jsonData) ⇒ Operation Submit a record for a form/survey which already exists in a Magpi user account

    Kind: global function
    Access: public

    ParamTypeDescription
    jsonDataobjectPayload data for the record

    Example

    submitRecord(jsonData)

    - - + + \ No newline at end of file diff --git a/adaptors/packages/magpi-readme.html b/adaptors/packages/magpi-readme.html index f9904bdc977..a24af7182b6 100644 --- a/adaptors/packages/magpi-readme.html +++ b/adaptors/packages/magpi-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -42,7 +42,7 @@ one on the data tab
  • enddate: End date of the data to be returned. Filtering is done based on the DateStamp and is inclusive.(Optional)
  • Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/mailchimp-changelog.html b/adaptors/packages/mailchimp-changelog.html index 56ee1d1c041..8f979f9b752 100644 --- a/adaptors/packages/mailchimp-changelog.html +++ b/adaptors/packages/mailchimp-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    0.3.5

    Patch Changes

    0.3.4

    Patch Changes

    0.3.3

    Patch Changes

    0.3.2

    Patch Changes

    0.3.1

    Patch Changes

    0.3.0

    Minor Changes

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/mailchimp-configuration-schema.html b/adaptors/packages/mailchimp-configuration-schema.html index 0685d522063..9e60160d73e 100644 --- a/adaptors/packages/mailchimp-configuration-schema.html +++ b/adaptors/packages/mailchimp-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "server": "us11",
    "apiKey": "0eb22c7b4a1c5bcd789379bf8a92902d-us13"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "server": {
    "title": "Data Center",
    "type": "string",
    "description": "Mailchimp Data Center for your account",
    "minLength": 3,
    "examples": [
    "us11",
    "uk8",
    "in10"
    ],
    "pattern": "^[a-zA-Z]{2}\\d{1,2}$"
    },
    "apiKey": {
    "title": "API Key",
    "type": "string",
    "description": "Mailchimp API Key",
    "minLength": 32,
    "examples": [
    "0eb22c7b4a1c5bcd789379bf8a92902d-us13"
    ],
    "pattern": "^[a-zA-Z0-9]{20}-[a-zA-Z]{2}\\d{1,2}$"
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "server",
    "apiKey"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/mailchimp-docs.html b/adaptors/packages/mailchimp-docs.html index 2340cd8186c..f23d022d741 100644 --- a/adaptors/packages/mailchimp-docs.html +++ b/adaptors/packages/mailchimp-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -44,7 +44,7 @@ updateMember

    Kind: global function

    ParamTypeDescription
    paramsobjecta listId,subscriberHash and member
    [callback]functionOptional callback to handle the response

    updateMemberTags

    updateMemberTags(params, [callback]) ⇒ Operation updateMemberTags

    Kind: global function

    ParamTypeDescription
    paramsobjecta listId, and options
    [callback]functionOptional callback to handle the response

    upsertMembers

    upsertMembers(params, [callback]) ⇒ Operation Add or update a list members

    Kind: global function

    ParamTypeDescription
    paramsobjecta listId, users, and options
    [callback]functionOptional callback to handle the response

    Example

    upsertMembers((state) => ({
    listId: "someId",
    users: state.response.body.rows.map((u) => ({
    email: u.email,
    status: u.allow_other_emails ? "subscribed" : "unsubscribed",
    mergeFields: { FNAME: u.first_name, LNAME: u.last_name },
    })),
    }));

    - - + + \ No newline at end of file diff --git a/adaptors/packages/mailchimp-readme.html b/adaptors/packages/mailchimp-readme.html index 287358d1144..f874b1b0649 100644 --- a/adaptors/packages/mailchimp-readme.html +++ b/adaptors/packages/mailchimp-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ configuration-schema definition.

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/mailgun-changelog.html b/adaptors/packages/mailgun-changelog.html index c7c961822fb..6283b6536b4 100644 --- a/adaptors/packages/mailgun-changelog.html +++ b/adaptors/packages/mailgun-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    0.3.4

    Patch Changes

    0.3.3

    Patch Changes

    0.3.2

    Patch Changes

    0.3.1

    Patch Changes

    0.3.0

    Minor Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/mailgun-configuration-schema.html b/adaptors/packages/mailgun-configuration-schema.html index 84bef7eac6c..6849ecf513f 100644 --- a/adaptors/packages/mailgun-configuration-schema.html +++ b/adaptors/packages/mailgun-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "domain": "https://mailgun.com/api/example",
    "apiKey": "otherThiNGfSECret"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "domain": {
    "title": "Domain URL",
    "type": "string",
    "description": "Mailgun API domain URL",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "https://mailgun.com/api/example"
    ]
    },
    "apiKey": {
    "title": "API Key",
    "type": "string",
    "description": "Mailgun API Key",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "otherThiNGfSECret"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "domain",
    "apiKey"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/mailgun-docs.html b/adaptors/packages/mailgun-docs.html index 1843d2f49d6..2f8de384b2f 100644 --- a/adaptors/packages/mailgun-docs.html +++ b/adaptors/packages/mailgun-docs.html @@ -22,15 +22,15 @@ - - + +
    Skip to main content

    mailgun@0.4.3

    send

    send(params) Create an event

    Kind: global function
    Access: public

    ParamTypeDescription
    paramsobjectParams for sending an email

    Example

    send({
    from: 'from_email',
    to: 'to_email',
    subject: 'Your Subject',
    text: 'Your message goes here',
    attachment: {
    url: 'www.google.com/doodle.png',
    filename: 'forYou.png',
    },
    })

    - - + + \ No newline at end of file diff --git a/adaptors/packages/mailgun-readme.html b/adaptors/packages/mailgun-readme.html index 87da98b9b60..30fa359df20 100644 --- a/adaptors/packages/mailgun-readme.html +++ b/adaptors/packages/mailgun-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ configuration-schema definition.

    send

    send(
    fields(
    field('from', 'from_email'),
    field('to', 'to_email'),
    field('subject', 'Your Subject'),
    field('text', 'Your message goes here')
    )
    );

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/maximo-changelog.html b/adaptors/packages/maximo-changelog.html index 1953a304cc0..e38d3b2c7ee 100644 --- a/adaptors/packages/maximo-changelog.html +++ b/adaptors/packages/maximo-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    0.3.5

    Patch Changes

    0.3.4

    Patch Changes

    0.3.3

    Patch Changes

    0.3.2

    Patch Changes

    0.3.1

    Patch Changes

    0.3.0

    Minor Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/maximo-configuration-schema.html b/adaptors/packages/maximo-configuration-schema.html index b154a1f1d44..a9d2b34448f 100644 --- a/adaptors/packages/maximo-configuration-schema.html +++ b/adaptors/packages/maximo-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "baseUrl": "https://maximo-demo76.mro.com",
    "username": "test@openfn.org",
    "password": "@some(!)passowrd"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "baseUrl": {
    "title": "Base URL",
    "type": "string",
    "description": "Maximo instance base URL",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "https://maximo-demo76.mro.com"
    ]
    },
    "username": {
    "title": "Username",
    "type": "string",
    "description": "Maximo instance username",
    "minLength": 1,
    "examples": [
    "test@openfn.org"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "Maximo instance password",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "@some(!)passowrd"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "baseUrl",
    "username",
    "password"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/maximo-docs.html b/adaptors/packages/maximo-docs.html index 2febd0cbbf8..a598da292f5 100644 --- a/adaptors/packages/maximo-docs.html +++ b/adaptors/packages/maximo-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -31,7 +31,7 @@ Make a GET request and POST it somewhere else

    Kind: global function

    ParamTypeDescription
    paramsobjectdata to make the fetch

    Example

    fetch({
    endpoint: 'maxrest/rest/os/mxinventory',
    query: {
    ITEMNUM: '01226',
    _format: 'json',
    },
    postUrl: 'https://www.openfn.org/inbox/not-real',
    });

    update

    update(params) ⇒ Operation Make an update in Maximo 7.6 and beyond

    Kind: global function

    ParamTypeDescription
    paramsobjectdata to make the update

    Example

    execute(
    update(params)
    )(state)

    update75

    update75(params) ⇒ Operation Make an upadte in Maximo 7.5

    Kind: global function

    ParamTypeDescription
    paramsobjectdata to make the update

    Example

    execute(
    update75(params)
    )(state)

    - - + + \ No newline at end of file diff --git a/adaptors/packages/maximo-readme.html b/adaptors/packages/maximo-readme.html index 48e1b22258d..cf2441b611f 100644 --- a/adaptors/packages/maximo-readme.html +++ b/adaptors/packages/maximo-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ configuration-schema definition.

    Fetch

    sample 'fetch' expression

    fetch({
    endpoint: 'maxrest/rest/os/mxinventory',
    query: {
    ITEMNUM: '01226',
    _format: 'json',
    },
    postUrl: 'https://www.openfn.org/inbox/not-real',
    });

    sample 'create' expression

    create({
    endpoint: 'maxrest/rest/os/mxinvbal/',
    body: function (state) {
    return {
    ITEMNUM: dataValue('form.ITEMNUM')(state),
    ITEMSETID: dataValue('form.ITEMSETID')(state),
    SITEID: dataValue('form.SITEID')(state),
    LOCATION: dataValue('form.LOCATION')(state),
    ISSUEUNIT: 'FOO',
    PHYSCNT: dataValue('PHYSCNT')(state),
    BINNUM: dataValue('form.BINNUM')(state),
    };
    },
    });

    sample 'update75' expression

    update75({
    endpoint: state => {
    return (
    'maxrest/rest/os/mxinvbal/' +
    dataValue('form.question1.INVBALANCESID')(state)
    );
    },
    body: state => {
    return {
    _action: 'AddChange', //this is required for the old Maximo API!
    ITEMNUM: dataValue('form.ITEMNUM')(state),
    ITEMSETID: dataValue('form.ITEMSETID')(state),
    SITEID: dataValue('form.SITEID')(state),
    LOCATION: dataValue('form.LOCATION')(state),
    PHYSCNT: dataValue('form.PHYSCNT')(state),
    BINNUM: dataValue('form.BINNUM')(state),
    };
    },
    });

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/medicmobile-changelog.html b/adaptors/packages/medicmobile-changelog.html index 8eb8ef5e328..630f8a63a13 100644 --- a/adaptors/packages/medicmobile-changelog.html +++ b/adaptors/packages/medicmobile-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    0.3.3

    Patch Changes

    0.3.2

    Patch Changes

    0.3.1

    Patch Changes

    0.3.0

    Minor Changes

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/medicmobile-configuration-schema.html b/adaptors/packages/medicmobile-configuration-schema.html index d97285aa09a..6037dcfb6fa 100644 --- a/adaptors/packages/medicmobile-configuration-schema.html +++ b/adaptors/packages/medicmobile-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "server": "https://standard.app.medicmobile.org",
    "db": "medic",
    "username": "admin",
    "password": "@super(!)Secret"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "server": {
    "title": "Server URL",
    "type": "string",
    "description": "Medic's CouchDB api URL",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "https://standard.app.medicmobile.org"
    ]
    },
    "db": {
    "title": "Database",
    "type": "string",
    "description": "Database name",
    "minLength": 1,
    "examples": [
    "medic"
    ]
    },
    "username": {
    "title": "Username",
    "type": "string",
    "description": "Medic instance username",
    "minLength": 1,
    "examples": [
    "admin"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "Medic instance password",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "@super(!)Secret"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "server",
    "username",
    "password",
    "db"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/medicmobile-docs.html b/adaptors/packages/medicmobile-docs.html index 9ffa7e3c59f..308bed21f45 100644 --- a/adaptors/packages/medicmobile-docs.html +++ b/adaptors/packages/medicmobile-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -34,7 +34,7 @@ Access: public

    ParamTypeDescription
    formIdstringQuery parameters
    paramsobjectStarting sequence id
    postUrlstringInbox to post form data

    Example

    fetchSubmissions(
    "pregnancy", // formId
    { "last-event-id": 334 }, // params
    "http://localhost:4000/inbox/abc-123-xyz" // postUrl
    );

    pickFormData

    pickFormData(formId) ⇒ Operation Select submissions for a specific form

    Kind: global function
    Access: public

    ParamTypeDescription
    formIdstringThe form ID.

    Example

    pickFormData(formId)

    - - + + \ No newline at end of file diff --git a/adaptors/packages/medicmobile-readme.html b/adaptors/packages/medicmobile-readme.html index 22d82cf491c..27a9b7418c7 100644 --- a/adaptors/packages/medicmobile-readme.html +++ b/adaptors/packages/medicmobile-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -39,7 +39,7 @@ configuration-schema definition.

    sample fetchSubmissions expression

    fetchSubmissions(
    'pregnancy', // formId
    { 'last-event-id': 334 }, // params, last-event-id will be replaced by cursor
    'http://localhost:4000/inbox/abc-123-xyz' // postUrl
    );

    sample changesApi and pickFormData usage

    // get all the changes...
    changesApi({
    include_docs: true,
    // This only gets used the first time the job is run.
    // Subsequent runs take the lastSeq value as their cursor.
    // "last-event-id": 789,
    });

    // Picks out the field data for a given formId.
    pickFormData('pregnancy');

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/mogli-changelog.html b/adaptors/packages/mogli-changelog.html index 20bae401a3c..6c7388d3d22 100644 --- a/adaptors/packages/mogli-changelog.html +++ b/adaptors/packages/mogli-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -34,7 +34,7 @@ be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    0.3.4

    Patch Changes

    0.3.3

    Patch Changes

    0.3.2

    Patch Changes

    0.3.1

    Patch Changes

    0.3.0

    Minor Changes

    v0.1.3

    - - + + \ No newline at end of file diff --git a/adaptors/packages/mogli-configuration-schema.html b/adaptors/packages/mogli-configuration-schema.html index fb3dfed61a0..a1496670966 100644 --- a/adaptors/packages/mogli-configuration-schema.html +++ b/adaptors/packages/mogli-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "loginUrl": " https://www.orange-or-airtel-or-vodafone.com/api/",
    "username": "admin",
    "password": "@secret(!)Pass",
    "securityToken": "dGF5bG9yOnNlY3JldA==",
    "secret": "someotherThiNGfSECret"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "loginUrl": {
    "title": "Login URL",
    "type": "string",
    "description": "Mogli instance login URL",
    "format": "uri",
    "minLength": 1,
    "examples": [
    " https://www.orange-or-airtel-or-vodafone.com/api/"
    ]
    },
    "username": {
    "title": "Username",
    "type": "string",
    "description": "Mogli instance username",
    "minLength": 1,
    "examples": [
    "admin"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "Mogli instance password",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "@secret(!)Pass"
    ]
    },
    "securityToken": {
    "title": "Security Token",
    "type": "string",
    "description": "Mogli instance security token",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "dGF5bG9yOnNlY3JldA=="
    ]
    },
    "secret": {
    "title": "Secret",
    "type": "string",
    "description": "Mogli instance secret",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "someotherThiNGfSECret"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "loginUrl",
    "username",
    "password",
    "securityToken",
    "secret"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/mogli-docs.html b/adaptors/packages/mogli-docs.html index 92d615aad08..e3c0f7858e5 100644 --- a/adaptors/packages/mogli-docs.html +++ b/adaptors/packages/mogli-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -31,7 +31,7 @@ Removes unserializable keys from the state.

    Kind: global function

    ParamType
    stateState

    lookup

    lookup(relationshipName, externalID, path) ⇒ object Adds a lookup or 'dome insert' to a record.

    Kind: global function

    ParamTypeDescription
    relationshipNamestring__r relationship field on the record.
    externalIDstringSalesforce ExternalID field.
    pathstringJSONPath to data source.

    Example (Example)

    lookup("relationship_name__r", "externalID on related object", "$.path")

    relationship

    relationship(relationshipName, externalID, dataSource) ⇒ object Adds a lookup or 'dome insert' to a record.

    Kind: global function

    ParamTypeDescription
    relationshipNamestring__r relationship field on the record.
    externalIDstringSalesforce ExternalID field.
    dataSourcestringresolvable source.

    Example (Data Sourced Value)

    relationship("relationship_name__r", "externalID on related object", dataSource("path"))

    Example (Fixed Value)

    relationship("relationship_name__r", "externalID on related object", "hello world")

    - - + + \ No newline at end of file diff --git a/adaptors/packages/mogli-readme.html b/adaptors/packages/mogli-readme.html index 848f3f7fe48..f8202222202 100644 --- a/adaptors/packages/mogli-readme.html +++ b/adaptors/packages/mogli-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ configuration-schema definition.

    Create inbound SMS

    createSMS(
    fields(
    field('sender', dataValue('from_number')),
    field('receivedAt', dataValue('timestamp')),
    field('message', dataValue('message'))
    )
    );

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/mongodb-changelog.html b/adaptors/packages/mongodb-changelog.html index ee368990dbf..c8628ce579a 100644 --- a/adaptors/packages/mongodb-changelog.html +++ b/adaptors/packages/mongodb-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    1.0.6

    Patch Changes

    1.0.5

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/mongodb-configuration-schema.html b/adaptors/packages/mongodb-configuration-schema.html index fe14e86266f..1852dfcbc17 100644 --- a/adaptors/packages/mongodb-configuration-schema.html +++ b/adaptors/packages/mongodb-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "clusterHostname": "yourCluster-xxxyzzz.mongodb.net",
    "username": "admin",
    "password": "@secret(!)Pass"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "clusterHostname": {
    "title": "Cluster Hostname",
    "type": "string",
    "description": "Your MongoDB cluster hostname",
    "format": "hostname",
    "minLength": 1,
    "examples": [
    "yourCluster-xxxyzzz.mongodb.net"
    ]
    },
    "username": {
    "title": "Username",
    "type": "string",
    "description": "Your MongoDB instance username",
    "minLength": 1,
    "examples": [
    "admin"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "Your MongoDB instance password",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "@secret(!)Pass"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "clusterHostname",
    "username",
    "password"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/mongodb-docs.html b/adaptors/packages/mongodb-docs.html index c88d83e7a65..effa9988f99 100644 --- a/adaptors/packages/mongodb-docs.html +++ b/adaptors/packages/mongodb-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -35,7 +35,7 @@ Find documents in a mongoDb collection

    Kind: global function

    ParamTypeDescription
    paramsobjectConfiguration for mongo

    Example

    findDocuments({
    database: 'str',
    collection: 'cases',
    query: {a:3}
    });

    insertDocuments

    insertDocuments(params) ⇒ State Inserts documents into a mongoDb collection

    Kind: global function

    ParamTypeDescription
    paramsobjectConfiguration for mongo

    Example

    insertDocuments({
    database: 'str',
    collection: 'kids',
    documents: [1,2,3]
    });

    updateDocument

    updateDocument(params) ⇒ State Updates document (optionally upserting) into a mongoDb collection

    Kind: global function

    ParamTypeDescription
    paramsobjectConfiguration for mongo

    Example

    updateDocuments({
    database: 'str',
    collection: 'animals',
    filter: { type: 'fuzzy' },
    changes: { kind: 'soft' },
    options: { upsert: true }
    });

    - - + + \ No newline at end of file diff --git a/adaptors/packages/mongodb-readme.html b/adaptors/packages/mongodb-readme.html index 99828d09a8f..cc01bafbaf3 100644 --- a/adaptors/packages/mongodb-readme.html +++ b/adaptors/packages/mongodb-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ configuration-schema definition.

    insertDocuments

    insertDocuments({
    database: 'yourDb',
    collection: 'yourCollection',
    documents: state => {
    return state.data.map(item => {
    return { name: item.name, age: item.age };
    });
    },
    // callback: (state) => state, // optional
    });

    findDocuments

    findDocuments({
    database: 'yourDb',
    collection: 'yourCollection',
    query: state => {
    return { name: 'stu' };
    },
    // callback: (state) => state, // optional
    });

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/msgraph-changelog.html b/adaptors/packages/msgraph-changelog.html index 8b92886bc31..aec965f7bfc 100644 --- a/adaptors/packages/msgraph-changelog.html +++ b/adaptors/packages/msgraph-changelog.html @@ -22,14 +22,14 @@ - - + +
    Skip to main content

    Changelog for the msgraph adaptor

    @openfn/language-msgraph

    0.3.5

    Patch Changes

    0.3.4

    Patch Changes

    • 1c183e9: Fix getFile unit tests

    0.3.3

    Patch Changes

    0.3.2

    Patch Changes

    • 9cc4952: fix url in request util

    0.3.1

    Patch Changes

    • f45f477: Clean-up state before throwing an error

    0.3.0

    Minor Changes

    • 9366e53: - Switch from nodejs default fetch to undici fetch
      • Added the following sharepoint functions
        • getDrive()
        • getFolder()
        • getFile()

    0.2.0

    Minor Changes

    • d33c0ee: export parseCsv from common

    Patch Changes

    0.1.1

    Patch Changes

    • aad9549: Ensure that standard OAuth2 credentials with snake-cased "access_token" keys can be used for OAuth2-reliant adaptors
    • Updated dependencies [aad9549]

    0.1.0

    Minor Changes

    • 93d82a8: Add msgraph adaptor with get() and create() functions

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/msgraph-configuration-schema.html b/adaptors/packages/msgraph-configuration-schema.html index 5fda072f16e..0651395b7d2 100644 --- a/adaptors/packages/msgraph-configuration-schema.html +++ b/adaptors/packages/msgraph-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "apiVersion": "v1.0",
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjlGWERwYmZNRl"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "$comment": "OAuth2",
    "properties": {
    "apiVersion": {
    "title": "API Version",
    "anyOf": [
    {
    "type": "string"
    },
    {
    "type": "null"
    }
    ],
    "placeholder": "v1.0",
    "description": "Microsoft Graph api version",
    "minLength": 1,
    "examples": [
    "v1.0",
    "beta"
    ]
    },
    "access_token": {
    "title": "Access Token",
    "type": "string",
    "description": "Your Microsoft Graph access token",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IjlGWERwYmZNRl"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "access_token"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/msgraph-docs.html b/adaptors/packages/msgraph-docs.html index c25e698fe69..9290bb00956 100644 --- a/adaptors/packages/msgraph-docs.html +++ b/adaptors/packages/msgraph-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -46,7 +46,7 @@ Returns: The request function is returning the parsed JSON data from the response of the HTTP request made to the specified url with the given params and method. If there is an error in the response, the function will throw an error.

    ParamTypeDefaultDescription
    urlstringThe URL of the API endpoint that the request is being made to.
    [params]objectAn object containing any additional parameters to be sent with the request, such as query parameters or request body data. It is an optional parameter and defaults to an empty object if not provided.
    [method]string"GET"The HTTP method to be used for the request. It defaults to 'GET' if not specified.

    - - + + \ No newline at end of file diff --git a/adaptors/packages/msgraph-readme.html b/adaptors/packages/msgraph-readme.html index d2663b9182e..1ab82c3b659 100644 --- a/adaptors/packages/msgraph-readme.html +++ b/adaptors/packages/msgraph-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ configuration-schema for required and optional configuration properties.

    Development

    Clone the adaptors monorepo. Follow the "Getting Started" guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To build only the docs run pnpm build docs.

    - - + + \ No newline at end of file diff --git a/adaptors/packages/mssql-changelog.html b/adaptors/packages/mssql-changelog.html index 318d0157128..b7fb5e4c0d5 100644 --- a/adaptors/packages/mssql-changelog.html +++ b/adaptors/packages/mssql-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    4.0.8

    Patch Changes

    4.0.7

    Patch Changes

    4.0.6

    Patch Changes

    4.0.5

    Patch Changes

    4.0.4

    Patch Changes

    4.0.3

    Patch Changes

    4.0.2

    Patch Changes

    4.0.1

    Patch Changes

    4.0.0

    Major Changes

    Patch Changes

    3.1.1

    Patch Changes

    3.1.0

    Minor Changes

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/mssql-configuration-schema.html b/adaptors/packages/mssql-configuration-schema.html index 2425ab18ade..4e1c4b53448 100644 --- a/adaptors/packages/mssql-configuration-schema.html +++ b/adaptors/packages/mssql-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "server": "something.database.windows.net",
    "database": "demo-db",
    "userName": "admin",
    "password": "@super(!)Password"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "server": {
    "title": "Server URL",
    "type": "string",
    "description": "The database instance server URL or IP address",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "something.database.windows.net"
    ]
    },
    "database": {
    "title": "Database",
    "type": "string",
    "description": "The database name",
    "minLength": 1,
    "examples": [
    "demo-db"
    ]
    },
    "userName": {
    "title": "Username",
    "type": "string",
    "description": "Username",
    "minLength": 1,
    "examples": [
    "admin"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "Password",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "@super(!)Password"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "server",
    "database"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/mssql-docs.html b/adaptors/packages/mssql-docs.html index 8cfecaec595..b2645d7e130 100644 --- a/adaptors/packages/mssql-docs.html +++ b/adaptors/packages/mssql-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -53,7 +53,7 @@ Access: public

    ParamTypeDescription
    logicalstringa data to check existing value for.
    tablestringThe target table
    uuidstringThe uuid column to determine a matching/existing record
    recordobjectPayload data for the record as a JS object or function
    optionsobjectOptional options argument

    Example

    upsertIf(
    dataValue('name'),
    'users', // the DB table
    'uuid', // a DB column with a unique constraint
    { name: 'Elodie', id: 7 },
    { writeSql:true, execute: true, logValues: false }
    )

    upsertMany

    upsertMany(table, uuid, records, options) ⇒ Operation Insert or update multiple records using ON CONFLICT UPDATE and excluded

    Kind: global function
    Access: public

    ParamTypeDescription
    tablestringThe target table
    uuidstringThe uuid column to determine a matching/existing record
    recordsfunctionA function that takes state and returns an array of records
    optionsobjectOptional options argument

    Example

    upsertMany(
    'users', 'email', records, { logValues: false }
    )
    upsertMany(
    'users', ['email', 'phone'], records, { logValues: false }
    )

    - - + + \ No newline at end of file diff --git a/adaptors/packages/mssql-readme.html b/adaptors/packages/mssql-readme.html index 71b1eb9252e..5b000cded09 100644 --- a/adaptors/packages/mssql-readme.html +++ b/adaptors/packages/mssql-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -42,7 +42,7 @@ columns. The key identity can be use for a column to auto-generate a value.

    insertTable('users', state =>
    state.data.map(column => ({
    name: column.name,
    type: column.type,
    required: true, // optional
    unique: false, // optional - set to true for unique constraint
    }))
    );

    Alter a table in the database

    This function allows to add new columns to a table. Beware of the fact that you cannot add new columns with names that already exist in the table.

    modifyTable(
    'users',
    state =>
    state.data.map(newColumn => ({
    name: newColumn.name,
    type: newColumn.type,
    required: true, // optional
    unique: false, // optional - set to true for unique constraint
    })),
    { writeSql: false, execute: true }
    );

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/mysql-changelog.html b/adaptors/packages/mysql-changelog.html index 127322aa332..a2c7f62f056 100644 --- a/adaptors/packages/mysql-changelog.html +++ b/adaptors/packages/mysql-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    1.3.5

    Patch Changes

    1.3.4

    Patch Changes

    1.3.3

    Patch Changes

    1.3.2

    Patch Changes

    1.3.1

    Patch Changes

    1.3.0

    Minor Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/mysql-configuration-schema.html b/adaptors/packages/mysql-configuration-schema.html index d527a9d9316..744d803eef0 100644 --- a/adaptors/packages/mysql-configuration-schema.html +++ b/adaptors/packages/mysql-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "host": "some-host-url.compute-1.amazonaws.com",
    "port": "3306",
    "database": "demo-db",
    "user": "admin-demo",
    "password": "@super(!)Secretpass"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "host": {
    "title": "Host URL",
    "type": "string",
    "description": "The database instance host URL",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "some-host-url.compute-1.amazonaws.com"
    ]
    },
    "port": {
    "title": "Port",
    "type": "integer",
    "default": 3306,
    "description": "Database instance port",
    "minLength": 1,
    "examples": [
    3306
    ]
    },
    "database": {
    "title": "Database",
    "type": "string",
    "description": "The database name",
    "minLength": 1,
    "examples": [
    "demo-db"
    ]
    },
    "user": {
    "title": "Username",
    "type": "string",
    "description": "The username to log in the database",
    "minLength": 1,
    "examples": [
    "admin-demo"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "The password to log in the database",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "@super(!)Secretpass"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "host",
    "database"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/mysql-docs.html b/adaptors/packages/mysql-docs.html index 5b41a5862c0..51a60018b0d 100644 --- a/adaptors/packages/mysql-docs.html +++ b/adaptors/packages/mysql-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -34,7 +34,7 @@ Insert or Update a record if matched

    Kind: global function

    ParamTypeDescription
    tablestringThe target table
    fieldsobjectA fields object

    Example

    execute(
    upsert('table', fields(
    field('name', dataValue('name'))
    ))
    )(state)

    upsertMany

    upsertMany(table, data) ⇒ Operation Insert or update multiple records using ON DUPLICATE KEY

    Kind: global function
    Access: public

    ParamTypeDescription
    tablestringThe target table
    dataarrayAn array of objects or a function that returns an array

    Example

    upsertMany(
    'users', // the DB table
    [
    { name: 'one', email: 'one@openfn.org' },
    { name: 'two', email: 'two@openfn.org' },
    ]
    )

    - - + + \ No newline at end of file diff --git a/adaptors/packages/mysql-readme.html b/adaptors/packages/mysql-readme.html index c5c19475bc4..4c22868f235 100644 --- a/adaptors/packages/mysql-readme.html +++ b/adaptors/packages/mysql-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -35,7 +35,7 @@ returns a string.

    sqlString(state => {
    return (
    `INSERT INTO untitled_table (name, the_geom) VALUES ('` +
    state.data.version +
    `', ` +
    dataValue('form.Choix_tache')(state) +
    `)`
    );
    });

    Insert a single record

    This function is used to insert a single record in a MySQL database.

    insert(
    'some_table',
    fields(
    field('firstname', dataValue('form.patient_firstname')),
    field('lastname', dataValue('form.patient_lastname'))
    )
    );

    Insert or update a single record

    This function is used to insert a single record in a MySQL database or update it if there is a match.

    upsert(
    'some_table',
    fields(
    field('firstname', dataValue('form.patient_firstname')),
    field('lastname', dataValue('form.patient_lastname'))
    )
    );

    Upsert many records

    This function allows the upsert of a set of records inside a table all at once.

    upsertMany(
    'users', // the DB table
    [
    { name: 'one', email: 'one@openfn.org' },
    { name: 'two', email: 'two@openfn.org' },
    ]
    );

    or

    upsertMany('users', state =>
    state.data.users.map(user => {
    name: user['name'],
    email: user['email']
    })
    );

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/nexmo-changelog.html b/adaptors/packages/nexmo-changelog.html index 17a5903011f..2c3280a38a4 100644 --- a/adaptors/packages/nexmo-changelog.html +++ b/adaptors/packages/nexmo-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    0.2.3

    Patch Changes

    0.2.2

    Patch Changes

    0.2.1

    Patch Changes

    0.2.0

    Minor Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/nexmo-configuration-schema.html b/adaptors/packages/nexmo-configuration-schema.html index 992653ae36f..42493221cf6 100644 --- a/adaptors/packages/nexmo-configuration-schema.html +++ b/adaptors/packages/nexmo-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "apiKey": "mYaP1K3y",
    "apiSecret": "supersecret"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "apiKey": {
    "title": "API Key",
    "type": "string",
    "description": "Your Nexmo API Key",
    "minLength": 1,
    "examples": [
    "mYaP1K3y"
    ]
    },
    "apiSecret": {
    "title": "API Secret",
    "type": "string",
    "description": "Your Nexmo API Secret key",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "supersecret"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "apiKey",
    "apiSecret"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/nexmo-docs.html b/adaptors/packages/nexmo-docs.html index d79a308271f..275e2a596bf 100644 --- a/adaptors/packages/nexmo-docs.html +++ b/adaptors/packages/nexmo-docs.html @@ -22,15 +22,15 @@ - - + +
    Skip to main content

    nexmo@0.4.2

    sendSMS

    sendSMS(from, toNumber, message) ⇒ Operation Sends an SMS message to a specific phone number

    Kind: global function
    Access: public

    ParamTypeDescription
    fromStringName or number the message should be sent from.
    toNumberStringDestination phone number.
    messageStringText message

    Example

    sendSMS("OpenFn", "phoneNumber", "Hello World!")

    - - + + \ No newline at end of file diff --git a/adaptors/packages/nexmo-readme.html b/adaptors/packages/nexmo-readme.html index b61af80b81b..fe331aac5f2 100644 --- a/adaptors/packages/nexmo-readme.html +++ b/adaptors/packages/nexmo-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ configuration-schema definition.

    sendSMS

    sample expression

    sendSMS('OpenFn', '0123456789', 'HelloWorld!');

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/ocl-changelog.html b/adaptors/packages/ocl-changelog.html index 9f462ea49a9..2d03c5991f2 100644 --- a/adaptors/packages/ocl-changelog.html +++ b/adaptors/packages/ocl-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    0.3.0

    Minor Changes

    0.2.6

    Patch Changes

    0.2.5

    Patch Changes

    0.2.4

    Patch Changes

    0.2.3

    Patch Changes

    0.2.2

    Patch Changes

    0.2.1

    Patch Changes

    0.2.0

    Minor Changes

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/ocl-configuration-schema.html b/adaptors/packages/ocl-configuration-schema.html index b3d25c9d059..076e9cbd1e2 100644 --- a/adaptors/packages/ocl-configuration-schema.html +++ b/adaptors/packages/ocl-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "hostUrl": "https://api.openconceptlab.org/",
    "username": "usernmame",
    "password": "supersecretpassword"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "hostUrl": {
    "title": "Host URL",
    "type": "string",
    "description": "The OCL API URL",
    "default": "https://api.openconceptlab.org/",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "https://api.openconceptlab.org/"
    ]
    },
    "username": {
    "title": "Username",
    "type": "string",
    "description": "The username to log in to OCL",
    "minLength": 1,
    "examples": [
    "usernmame"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "The password to log in to OCL",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "supersecretpassword"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "hostUrl",
    "username",
    "password"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/ocl-docs.html b/adaptors/packages/ocl-docs.html index d6fa25ad01d..a5101d4a51d 100644 --- a/adaptors/packages/ocl-docs.html +++ b/adaptors/packages/ocl-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ Access: public

    ParamTypeDescription
    pathstringPath to resource
    queryobjectA query object that will limit what resources are retrieved when converted into request params.
    callbackfunction(Optional) callback function

    Example

    get(
    "orgs/MSFOCG/collections/lime-demo/HEAD/mappings",
    {
    page: 1,
    exact_match: "off",
    limit: 200,
    verbose: false,
    sortDesc: "_score",
    },
    (state) => {
    // Add state oclMappings
    const oclMappings = state.data;
    return { ...state, data: {}, references: [], response: {}, oclMappings };
    }
    );

    getMappings

    getMappings(ownerId, repositoryId, [options], callback) ⇒ Operation Get a source repository in OCL

    Kind: global function
    Access: public

    ParamTypeDescription
    ownerIdstringAn OCL user or organization
    repositoryIdstringAn OCL collection id or source id
    [options]ObjectOptional. options which can be passed to See more on OCL swagger docs
    callbackfunction(Optional) callback function

    Example

    getMappings(
    "MSFOCG",
    "lime-demo",
    { page: 1, exact_match: "off", verbose: false },
    (state) => {
    // Add state oclMappings
    const oclMappings = state.data;
    return { ...state, data: {}, references: [], response: {}, oclMappings };
    }
    );

    - - + + \ No newline at end of file diff --git a/adaptors/packages/ocl-readme.html b/adaptors/packages/ocl-readme.html index a32f52acbd6..09d8bed32c0 100644 --- a/adaptors/packages/ocl-readme.html +++ b/adaptors/packages/ocl-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ configuration-schema definition.

    Mapping source concepts to destination API

    Recieve form data from source application and convert data element keys to destination application.

    map(  "data": {
    "a": 1,
    "b": 2},
    {users:"haftamuk", sources: "eCHIS-CODES", concepts: "fp_new_at_10_to_14" }
    );

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/openfn-changelog.html b/adaptors/packages/openfn-changelog.html index 191c735e8c9..07afd14dd7b 100644 --- a/adaptors/packages/openfn-changelog.html +++ b/adaptors/packages/openfn-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    1.2.6

    Patch Changes

    1.2.5

    Patch Changes

    1.2.4

    Patch Changes

    1.2.3

    Patch Changes

    1.2.2

    Patch Changes

    1.2.1

    Patch Changes

    1.2.0

    Minor Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/openfn-configuration-schema.html b/adaptors/packages/openfn-configuration-schema.html index 8d0b4b21822..2d182a563df 100644 --- a/adaptors/packages/openfn-configuration-schema.html +++ b/adaptors/packages/openfn-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "host": "https://www.openfn.org",
    "projectId": "some-id",
    "username": "test@openfn.org",
    "password": "@super(!)Secretpass"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "host": {
    "title": "Host",
    "type": "string",
    "description": "The OpenFn host url",
    "format": "uri",
    "default": "https://www.openfn.org",
    "minLength": 1,
    "examples": [
    "https://www.openfn.org"
    ]
    },
    "projectId": {
    "title": "Project ID",
    "type": "string",
    "description": "Your OpenFn project ID",
    "minLength": 1,
    "examples": [
    "some-id"
    ]
    },
    "username": {
    "title": "Username",
    "type": "string",
    "description": "The username to log in to OpenFn",
    "minLength": 1,
    "examples": [
    "test@openfn.org"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "The password to log in to OpenFn",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "@super(!)Secretpass"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "host",
    "username",
    "password"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/openfn-docs.html b/adaptors/packages/openfn-docs.html index 891119b2eb2..bef6870f91a 100644 --- a/adaptors/packages/openfn-docs.html +++ b/adaptors/packages/openfn-docs.html @@ -22,15 +22,15 @@ - - + +
    Skip to main content

    openfn@1.3.7

    request

    request(options, callback) ⇒ Operation Make a POST request

    Kind: global function
    Access: public

    ParamTypeDescription
    optionsobjectBody, Query, Headers and Authentication parameters
    callbackfunction(Optional) Callback function

    Example

    request({method: 'get', path: '/jobs/});

    - - + + \ No newline at end of file diff --git a/adaptors/packages/openfn-readme.html b/adaptors/packages/openfn-readme.html index 22a563ea346..1d6ca75b6b9 100644 --- a/adaptors/packages/openfn-readme.html +++ b/adaptors/packages/openfn-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ configuration-schema definition.

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/openhim-changelog.html b/adaptors/packages/openhim-changelog.html index 743ca4ac891..3d28cc73550 100644 --- a/adaptors/packages/openhim-changelog.html +++ b/adaptors/packages/openhim-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    0.1.4

    Patch Changes

    0.1.3

    Patch Changes

    0.1.2

    Patch Changes

    0.1.1

    Patch Changes

    0.1.0

    Minor Changes

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/openhim-configuration-schema.html b/adaptors/packages/openhim-configuration-schema.html index 0f632d6c4ff..9d35ef85fe1 100644 --- a/adaptors/packages/openhim-configuration-schema.html +++ b/adaptors/packages/openhim-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "apiUrl": "http://openhim.com/api",
    "username": "admin@openhim.org",
    "password": "@super(!)Secretpass"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "apiUrl": {
    "title": "API URL",
    "type": "string",
    "description": "The OpenHIM API url",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "http://openhim.com/api"
    ]
    },
    "username": {
    "title": "Username",
    "type": "string",
    "description": "The username to log in to OpenHIM",
    "minLength": 1,
    "examples": [
    "admin@openhim.org"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "The password to log in to OpenHIM",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "@super(!)Secretpass"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "apiUrl"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/openhim-docs.html b/adaptors/packages/openhim-docs.html index dbbb95edfe0..7c3c20df319 100644 --- a/adaptors/packages/openhim-docs.html +++ b/adaptors/packages/openhim-docs.html @@ -22,14 +22,14 @@ - - + +
    Skip to main content
    - - + + \ No newline at end of file diff --git a/adaptors/packages/openhim-readme.html b/adaptors/packages/openhim-readme.html index 5181a5d78d3..260048ed643 100644 --- a/adaptors/packages/openhim-readme.html +++ b/adaptors/packages/openhim-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ configuration-schema definition.

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/openmrs-changelog.html b/adaptors/packages/openmrs-changelog.html index 1856898ddae..eae5ce35956 100644 --- a/adaptors/packages/openmrs-changelog.html +++ b/adaptors/packages/openmrs-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    1.1.1

    Patch Changes

    1.1.0

    Minor Changes

    1.0.1

    Patch Changes

    1.0.0

    Major Changes

    0.10.5

    Patch Changes

    0.10.4

    Patch Changes

    0.10.3

    Patch Changes

    0.10.2

    Patch Changes

    0.10.1

    Patch Changes

    0.10.0

    Minor Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/openmrs-configuration-schema.html b/adaptors/packages/openmrs-configuration-schema.html index e0d092794e9..8552b7ac65d 100644 --- a/adaptors/packages/openmrs-configuration-schema.html +++ b/adaptors/packages/openmrs-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "instanceUrl": "http://openmrs.com/instance/url",
    "username": "admin@openmrs.org",
    "password": "@super(!)Secretpass"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "instanceUrl": {
    "title": "Instance URL",
    "type": "string",
    "description": "The OpenMRS host url",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "http://openmrs.com/instance/url"
    ]
    },
    "username": {
    "title": "Username",
    "type": "string",
    "description": "The username to log in to OpenMRS",
    "minLength": 1,
    "examples": [
    "admin@openmrs.org"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "The password to log in to OpenMRS",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "@super(!)Secretpass"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "instanceUrl"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/openmrs-docs.html b/adaptors/packages/openmrs-docs.html index dd89024f12c..92ea36e1f3f 100644 --- a/adaptors/packages/openmrs-docs.html +++ b/adaptors/packages/openmrs-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -44,7 +44,7 @@ Access: public

    ParamTypeDescription
    resourceTypestringThe type of resource to be updated. E.g. person, patient, etc.
    pathstringThe id or path to the object to be updated. E.g. e739808f-f166-42ae-aaf3-8b3e8fa13fda or e739808f-f166-42ae-aaf3-8b3e8fa13fda/{collection-name}/{object-id}
    dataObjectData to update. It requires to send all required fields or the full body. If you want partial updates, use patch operation.
    [callback]functionOptional callback to handle the response

    Example (a person)

    update("person", '3cad37ad-984d-4c65-a019-3eb120c9c373',{"gender":"M","birthdate":"1997-01-13"})

    upsert

    upsert(resourceType, query, data, [callback]) ⇒ Operation Upsert a record. A generic helper function used to atomically either insert a row, or on the basis of the row already existing, UPDATE that existing row instead.

    Kind: global function
    Throws:

    Access: public

    ParamTypeDescription
    resourceTypestringThe type of a resource to upsert. E.g. trackedEntityInstances
    queryObjectA query object that allows to uniquely identify the resource to update. If no matches found, then the resource will be created.
    dataObjectThe data to use for update or create depending on the result of the query.
    [callback]functionOptional callback to handle the response

    Example (For an existing patient using upsert)

    upsert('patient', { q: '10007JJ' }, { person: { age: 50 } });

    Example (For non existing patient creating a patient record using upsert )

    upsert(
    "patient",
    { q: "1000EHE" },
    {
    identifiers: [
    {
    identifier: "1000EHE",
    identifierType: "05a29f94-c0ed-11e2-94be-8c13b969e334",
    location: "44c3efb0-2583-4c80-a79e-1f756a03c0a1",
    preferred: true,
    },
    ],
    person: {
    gender: "M",
    age: 42,
    },
    }
    );

    - - + + \ No newline at end of file diff --git a/adaptors/packages/openmrs-readme.html b/adaptors/packages/openmrs-readme.html index 1e6544f9680..a648e8a4909 100644 --- a/adaptors/packages/openmrs-readme.html +++ b/adaptors/packages/openmrs-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ configuration-schema definition.

    Get a patient by some criteria

    // getPatient({ uuid: '516af9aa-0402-4e11-ad79-e394fdec0c91' });
    // getPatient({ uuid: dataValue('patientId')(state) });
    getPatient({
    uuid: state => state.data[0].uuid,
    });

    Example of searching for patients based on their EMR Id

    getPatients(
    {
    identifier: state => state.data.emrId,
    v: 'full',
    },
    {
    exactlyOne: true,
    }
    );

    Create an Encounter

    createEncounter({
    encounterDatetime: dataValue('visit_date'), //dynamically fill with source app data
    patient: dataValue('uuid'),
    encounterType: dataValue('visit_type'),
    location: dataValue('location.uuid'),
    encounterProviders: [
    {
    provider: dataValue('provider_name'),
    encounterRole: '240b26f9-dd88-4172-823d-4a8bfeb7841f', //hardcoded value
    },
    ],
    });

    Make a request to any OpenMRS endpoint

    req({ method: 'GET', url: '/ws/rest/v1/concept' }, state => {
    console.log(JSON.stringify(state, null, 2));
    return state;
    });

    Create new patient

    patient(
    fields(
    field('gender', 'M'),
    field('names', function (state) {
    return [
    {
    patient_id: dataValue('form.patientId')(state),
    creator: dataValue('form.user')(state),
    },
    ];
    })
    )
    );

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/postgresql-changelog.html b/adaptors/packages/postgresql-changelog.html index 5c27574b75a..11790dbe44a 100644 --- a/adaptors/packages/postgresql-changelog.html +++ b/adaptors/packages/postgresql-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    4.0.0

    Major Changes

    3.4.6

    Patch Changes

    3.4.5

    Patch Changes

    3.4.4

    Patch Changes

    3.4.3

    Patch Changes

    3.4.2

    Patch Changes

    3.4.1

    Patch Changes

    3.4.0

    Minor Changes

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/postgresql-configuration-schema.html b/adaptors/packages/postgresql-configuration-schema.html index 89311a818a0..c004801a722 100644 --- a/adaptors/packages/postgresql-configuration-schema.html +++ b/adaptors/packages/postgresql-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "host": "https://some-host.compute-1.amazonaws.com",
    "port": "5432",
    "database": "demo-db",
    "user": "admin",
    "password": "@super(!)Secretpass",
    "ssl": "true",
    "allowSelfSignedCert": "true"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "host": {
    "title": "Host",
    "type": "string",
    "description": "Postgres instance host URL or IP address",
    "minLength": 1,
    "anyOf": [
    {
    "format": "uri"
    },
    {
    "format": "ipv4"
    }
    ],
    "examples": [
    "https://some-host.compute-1.amazonaws.com",
    "201.220.61.246"
    ]
    },
    "port": {
    "title": "Port",
    "type": "integer",
    "default": 5432,
    "description": "Database instance port",
    "minLength": 1,
    "examples": [
    5432
    ]
    },
    "database": {
    "title": "Database",
    "type": "string",
    "description": "The database name",
    "minLength": 1,
    "examples": [
    "demo-db"
    ]
    },
    "user": {
    "title": "User",
    "type": "string",
    "description": "User name",
    "minLength": 1,
    "examples": [
    "admin"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "Password",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "@super(!)Secretpass"
    ]
    },
    "ssl": {
    "title": "Use SSL",
    "type": "boolean",
    "examples": [
    true
    ]
    },
    "allowSelfSignedCert": {
    "title": "Allow self-signed certificate",
    "type": "boolean",
    "examples": [
    true
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "host",
    "port",
    "database"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/postgresql-docs.html b/adaptors/packages/postgresql-docs.html index 3bddcd33f24..eb3e1088659 100644 --- a/adaptors/packages/postgresql-docs.html +++ b/adaptors/packages/postgresql-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -48,7 +48,7 @@ Access: public

    ParamTypeDescription
    logicalstringa data to check existing value for.
    tablestringThe target table
    uuidstringThe uuid column to determine a matching/existing record
    recordobjectPayload data for the record as a JS object or function
    [options]objectOptional options argument
    [options.setNull]stringA string value that specifies the behavior for inserting null values.
    [options.writeSql]booleanA boolean value that specifies whether to log the generated SQL statement. Defaults to false.
    [options.execute]booleanA boolean value that specifies whether to execute the generated SQL statement. Defaults to false.
    [options.logValues]booleanA boolean value that specifies whether to log the inserted values to the console. Defaults to false.
    callbackfunction(Optional) callback function

    Example

    upsertIf(
    dataValue('name'),
    'users', // the DB table
    'ON CONSTRAINT users_pkey', // a DB column with a unique constraint OR a CONSTRAINT NAME
    { name: 'Elodie', id: 7 },
    { writeSql:true, execute: true }
    )

    upsertMany

    upsertMany(table, uuid, data, [options], callback) ⇒ Operation Insert or update multiple records using ON CONFLICT UPDATE and excluded

    Kind: global function
    Access: public

    ParamTypeDescription
    tablestringThe target table
    uuidstringThe uuid column to determine a matching/existing record
    dataarrayAn array of objects or a function that returns an array
    [options]objectOptional options argument
    [options.setNull]stringA string value that specifies the behavior for inserting null values.
    [options.writeSql]booleanA boolean value that specifies whether to log the generated SQL statement. Defaults to false.
    [options.execute]booleanA boolean value that specifies whether to execute the generated SQL statement. Defaults to false.
    [options.logValues]booleanA boolean value that specifies whether to log the inserted values to the console. Defaults to false.
    callbackfunction(Optional) callback function

    Example

    upsertMany(
    'users', // the DB table
    'email', // a DB column with a unique constraint OR a CONSTRAINT NAME
    [
    { name: 'one', email: 'one@openfn.org' },
    { name: 'two', email: 'two@openfn.org' },
    ]
    { logValues: true }
    )

    - - + + \ No newline at end of file diff --git a/adaptors/packages/postgresql-readme.html b/adaptors/packages/postgresql-readme.html index 077b606cac8..4ff02a3984c 100644 --- a/adaptors/packages/postgresql-readme.html +++ b/adaptors/packages/postgresql-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -39,7 +39,7 @@ columns. The key identity can be use for a column to auto-generate a value.

    insertTable('users', state =>
    state.data.map(column => ({
    name: column.name,
    type: column.type,
    required: true, // optional
    unique: false, // optional - set to true for unique constraint
    }))
    );

    Alter a table in the database

    This function allows to add new columns to a table. Beware of the fact that you cannot add new columns with names that already exist in the table.

    modifyTable(
    'users',
    state =>
    state.data.map(newColumn => ({
    name: newColumn.name,
    type: newColumn.type,
    required: true, // optional
    unique: false, // optional - set to true for unique constraint
    })),
    { writeSql: false, execute: true }
    );

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/primero-changelog.html b/adaptors/packages/primero-changelog.html index 9a2c1b2daa9..d7ec27daaec 100644 --- a/adaptors/packages/primero-changelog.html +++ b/adaptors/packages/primero-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -35,7 +35,7 @@ argument: the metadata from Primero's response.

    getCases will now not only return an array of cases in state.data, but metadata related to pagination in state.metadata.

    Patch Changes

    2.9.2

    Patch Changes

    2.9.1

    Patch Changes

    2.9.0

    Minor Changes

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/primero-configuration-schema.html b/adaptors/packages/primero-configuration-schema.html index 77566ade7bb..3744ce61a2d 100644 --- a/adaptors/packages/primero-configuration-schema.html +++ b/adaptors/packages/primero-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "url": "https://primero.org/some-org",
    "user": "admin",
    "password": "@super(!)Superpass",
    "basicAuth": "true"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "url": {
    "title": "URL",
    "type": "string",
    "description": "The Primero host url",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "https://primero.org/some-org"
    ]
    },
    "user": {
    "title": "User",
    "type": "string",
    "description": "The username",
    "minLength": 1,
    "examples": [
    "admin"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "Password",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "@super(!)Superpass"
    ]
    },
    "basicAuth": {
    "title": "Use Basic Auth",
    "type": "boolean",
    "examples": [
    true
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "url"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/primero-docs.html b/adaptors/packages/primero-docs.html index 81d36c8406c..dd1e19a84e8 100644 --- a/adaptors/packages/primero-docs.html +++ b/adaptors/packages/primero-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -68,7 +68,7 @@ In this implementation, we first fetch the list of cases, then we check if the case exist before choosing the right operation to do.

    Kind: global function
    Access: public

    ParamTypeDescription
    paramsobjectan object with an externalIds and some case data.
    callbackfunction(Optional) Callback function

    Example (Upsert case for a specific case id)

    upsertCase({
    externalIds: ["case_id"],
    data: state => ({
    age: 20,
    sex: "male",
    name: "Alex",
    status: "open",
    case_id: "6aeaa66a-5a92-4ff5-bf7a-e59cde07eaaz",
    }),
    });

    - - + + \ No newline at end of file diff --git a/adaptors/packages/primero-readme.html b/adaptors/packages/primero-readme.html index a7c4e65e149..2859622e9c7 100644 --- a/adaptors/packages/primero-readme.html +++ b/adaptors/packages/primero-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -36,7 +36,7 @@ in our Microsoft Dynamics, Github, or Google Sheets adaptors, but we'll need to await final doucmentation for Primero's v2 API before making changes.

    Azure Active Directory B2C

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/progres-changelog.html b/adaptors/packages/progres-changelog.html index 8b7eefa6047..350900c6ff5 100644 --- a/adaptors/packages/progres-changelog.html +++ b/adaptors/packages/progres-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    1.2.5

    Patch Changes

    1.2.4

    Patch Changes

    1.2.3

    Patch Changes

    1.2.2

    Patch Changes

    1.2.1

    Patch Changes

    1.2.0

    Minor Changes

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/progres-configuration-schema.html b/adaptors/packages/progres-configuration-schema.html index 45d2708738f..1ee05444f8e 100644 --- a/adaptors/packages/progres-configuration-schema.html +++ b/adaptors/packages/progres-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "url": "https://endpoint/To/DTP",
    "key": "-----BEGIN PRIVATE KEY-----SOMETYPEOFPRIVATEVALUE-----END PRIVATE KEY-----",
    "cert": "-----BEGIN CERTIFICATE-----SOMETYPEOFVALUE-----END CERTIFICATE-----",
    "token": "[REDACTED]"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "url": {
    "title": "URL",
    "type": "string",
    "description": "The Progres URL",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "https://endpoint/To/DTP"
    ]
    },
    "key": {
    "title": "Private Key",
    "type": "string",
    "description": "Your Progres private key",
    "minLength": 1,
    "examples": [
    "-----BEGIN PRIVATE KEY-----SOMETYPEOFPRIVATEVALUE-----END PRIVATE KEY-----"
    ]
    },
    "cert": {
    "title": "Certificate",
    "type": "string",
    "description": "Your Progres certificate",
    "minLength": 1,
    "examples": [
    "-----BEGIN CERTIFICATE-----SOMETYPEOFVALUE-----END CERTIFICATE-----"
    ]
    },
    "token": {
    "title": "Token",
    "type": "string",
    "description": "Your Progres token",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "[REDACTED]"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "url",
    "key",
    "cert",
    "token"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/progres-docs.html b/adaptors/packages/progres-docs.html index 79d157731d7..a6cf7fe0f23 100644 --- a/adaptors/packages/progres-docs.html +++ b/adaptors/packages/progres-docs.html @@ -22,15 +22,15 @@ - - + +
    Skip to main content

    progres@1.3.7

    postData

    postData(params, callback) ⇒ Operation Make a POST request with a certificate

    Kind: global function
    Access: public

    ParamTypeDescription
    paramsobjectUrl, Headers and Body parameters
    callbackfunction(Optional) A callback function

    Example

    postData({
    url: urlDTP,
    body: obj,
    headers: {
    'Ocp-Apim-Subscription-Key': configuration['Ocp-Apim-Subscription-Key'],
    },
    agentOptions: {
    key,
    cert,
    },
    }, callback)(state)

    - - + + \ No newline at end of file diff --git a/adaptors/packages/progres-readme.html b/adaptors/packages/progres-readme.html index cdcff4c93ff..6e39375afa6 100644 --- a/adaptors/packages/progres-readme.html +++ b/adaptors/packages/progres-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -37,7 +37,7 @@ configuration-schema definition.

    Posting data to an endpoint with SSL cert authentication

    postData({
    url: urlDTP,
    body: { a: 1 },
    headers: {
    'Subscription-Key': configuration['token'],
    },
    agentOptions: {
    key,
    cert,
    },
    });

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/rapidpro-changelog.html b/adaptors/packages/rapidpro-changelog.html index 045d32a94a3..1ba5cc21850 100644 --- a/adaptors/packages/rapidpro-changelog.html +++ b/adaptors/packages/rapidpro-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    0.5.6

    Patch Changes

    0.5.5

    Patch Changes

    0.5.4

    Patch Changes

    0.5.3

    Patch Changes

    0.5.2

    Patch Changes

    0.5.1

    Patch Changes

    0.5.0

    Minor Changes

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/rapidpro-configuration-schema.html b/adaptors/packages/rapidpro-configuration-schema.html index 8455232e421..ac98d86efa0 100644 --- a/adaptors/packages/rapidpro-configuration-schema.html +++ b/adaptors/packages/rapidpro-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "host": "https://app.rapidpro.io/",
    "token": "#Super-sSCrecrete-token",
    "apiVersion": "v2"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "host": {
    "title": "Host",
    "type": "string",
    "default": "https://app.rapidpro.io/",
    "description": "instance host URL",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "https://app.rapidpro.io/"
    ]
    },
    "token": {
    "title": "Token",
    "type": "string",
    "description": "instance access token",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "#Super-sSCrecrete-token"
    ]
    },
    "apiVersion": {
    "title": "API Version",
    "type": "string",
    "description": "API version to use. Leave this empty to use the default v2",
    "minLength": 1,
    "examples": [
    "v2"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "host",
    "token"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/rapidpro-docs.html b/adaptors/packages/rapidpro-docs.html index a1231d57c8a..5a08b7da7ef 100644 --- a/adaptors/packages/rapidpro-docs.html +++ b/adaptors/packages/rapidpro-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -36,7 +36,7 @@ Access: public

    ParamTypeDescription
    paramsobjectdata to create the new resource
    callbackfunction(Optional) callback function

    Example

    startFlow({
    flow: "f5901b62-ba76-4003-9c62-72fdacc1b7b7",
    restart_participants: false,
    contacts: ["a052b00c-15b3-48e6-9771-edbaa277a353"]
    });

    upsertContact

    upsertContact(params, callback) ⇒ Operation Upserts a contact to RapidPro by URN

    Kind: global function
    Access: public

    ParamTypeDescription
    paramsobjectdata to upsert a contact
    callbackfunction(Optional) callback function

    Example

    upsertContact({
    name: "Mamadou",
    language: "ENG",
    urns: ["tel:+250788123123"]
    });

    - - + + \ No newline at end of file diff --git a/adaptors/packages/rapidpro-readme.html b/adaptors/packages/rapidpro-readme.html index 37478cbefe2..231f39169fe 100644 --- a/adaptors/packages/rapidpro-readme.html +++ b/adaptors/packages/rapidpro-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -35,7 +35,7 @@ definition.

    sample job expression using operation

    sendBroadcast({
    "text": "Hello friends.",
    "urns": [],
    "contacts": [],
    "groups", [],
    });

    Key helper functions

    sendBroadcast(...) to send broadcast message to multiple contacts

    sendBroadcast({
    text: 'Hello world',
    urns: ['twitter:sirmixalot'],
    contacts: ['a052b00c-15b3-48e6-9771-edbaa277a353'],
    });

    startFlow(...) to trigger an automation flow in RapidPro

    startFlow({
    flow: 'f5901b62-ba76-4003-9c62-72fdacc1b7b7',
    restart_participants: false,
    contacts: ['a052b00c-15b3-48e6-9771-edbaa277a353'],
    });

    upsertContact(...) to update/insert a Contact (and check if exists using external identifiers)

    upsertContact({
    name: 'Mamadou',
    language: 'ENG',
    urns: ['tel:+250788123123'],
    });

    addContact(...) to insert a Contact

    addContact({
    name: 'Mamadou',
    language: 'ENG',
    urns: ['tel:+250788123123'],
    });

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/resourcemap-changelog.html b/adaptors/packages/resourcemap-changelog.html index 601d775f0a9..c915dd726e2 100644 --- a/adaptors/packages/resourcemap-changelog.html +++ b/adaptors/packages/resourcemap-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    0.2.3

    Patch Changes

    0.2.2

    Patch Changes

    0.2.1

    Patch Changes

    0.2.0

    Minor Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/resourcemap-configuration-schema.html b/adaptors/packages/resourcemap-configuration-schema.html index 29ad5381412..8f88f94e4c3 100644 --- a/adaptors/packages/resourcemap-configuration-schema.html +++ b/adaptors/packages/resourcemap-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "baseUrl": "http://some-site-of-yours.com:8080",
    "username": "admin",
    "password": "@super(!)Secret"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "baseUrl": {
    "title": "Base URL",
    "type": "string",
    "default": "http://some-site-of-yours.com:8080",
    "description": "ResourceMap base URL",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "http://some-site-of-yours.com:8080"
    ]
    },
    "username": {
    "title": "Username",
    "type": "string",
    "description": "Your ResourceMap username",
    "minLength": 1,
    "examples": [
    "admin"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "Your ResourceMap password",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "@super(!)Secret"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "baseUrl"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/resourcemap-docs.html b/adaptors/packages/resourcemap-docs.html index 7cbac0ddd6a..2065dda236d 100644 --- a/adaptors/packages/resourcemap-docs.html +++ b/adaptors/packages/resourcemap-docs.html @@ -22,14 +22,14 @@ - - + +
    Skip to main content
    - - + + \ No newline at end of file diff --git a/adaptors/packages/resourcemap-readme.html b/adaptors/packages/resourcemap-readme.html index 2e94144d008..118f6a08465 100644 --- a/adaptors/packages/resourcemap-readme.html +++ b/adaptors/packages/resourcemap-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -34,7 +34,7 @@ configuration-schema definition.

    Expressions

    submitSite(collectionId, fields)

    submitSite(
    303,
    fields(
    field('name', dataValue('sampleText')),
    field('lat', 48.86),
    field('lon', 2.35),
    field('properties', function (state) {
    return {
    Comment: state.data.sampleText,
    phone: '85512345678',
    };
    })
    )
    );

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/salesforce-changelog.html b/adaptors/packages/salesforce-changelog.html index 95bc5e13296..8be93da7900 100644 --- a/adaptors/packages/salesforce-changelog.html +++ b/adaptors/packages/salesforce-changelog.html @@ -3,7 +3,7 @@ -salesforce changelog | OpenFn/docs +salesforce changelog | OpenFn/docs @@ -22,17 +22,17 @@ - - + +
    -
    Skip to main content

    Changelog for the salesforce adaptor

    @openfn/language-salesforce

    4.2.0

    Minor Changes

    • fc58f1c: add options in bulkQuery

    4.1.0

    Minor Changes

    • 1e3a083: add bulkQuery function

    4.0.8

    Patch Changes

    4.0.7

    Patch Changes

    4.0.6

    Patch Changes

    • aceedd2: update jsforce and remove unused packages

    4.0.5

    Patch Changes

    4.0.4

    Patch Changes

    4.0.3

    Patch Changes

    4.0.2

    Patch Changes

    4.0.1

    Patch Changes

    4.0.0

    Major Changes

    - - +be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    3.0.7

    Patch Changes

    • 7cc8efc: remove FakeAdaptor references

    3.0.6

    Patch Changes

    • 705caab: Remove tools as devdependencies

    3.0.5

    Patch Changes

    • 929bca6: Use metadata helper function from common
    • Updated dependencies [929bca6]

    3.0.4

    Patch Changes

    3.0.3

    Patch Changes

    • 06aced8: Fix dependencies

    3.0.2

    Patch Changes

    • aed7e0b: fix required field in configuration schema

    3.0.1

    Patch Changes

    • c09b821: Add @magic annotations

    3.0.0

    Major Changes

    • 190f667: Remove curry from salesforce

    2.12.3

    Patch Changes

    • f7ebd3c: remove sample configuration

    2.12.2

    Patch Changes

    • f2aed32: add examples

    2.12.1

    Patch Changes

    • 6d8de03: change @constructor to @function and remove /* @module Adaptor /

    2.12.0

    Minor Changes

    • 5c883c6: Allow expansion for describe(), add describeAll()

    Patch Changes

    2.11.1

    Patch Changes

    • e7bf865: chore(deps): update dependency sinon to v14
    • 8566b26: Fix typings
    • b3d45ff: Fix CJS export of npm package.
    • Updated dependencies [8566b26]
    • Updated dependencies [b3d45ff]
    • Updated dependencies [b5eb665]
    • Updated dependencies [ecf5d30]

    2.11.0

    Minor Changes

    • edff578: Migrate salesforce
    + + \ No newline at end of file diff --git a/adaptors/packages/salesforce-configuration-schema.html b/adaptors/packages/salesforce-configuration-schema.html index e42ae9283f8..058e3d801fa 100644 --- a/adaptors/packages/salesforce-configuration-schema.html +++ b/adaptors/packages/salesforce-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,8 +32,8 @@ using the CLI, you can set up your own state.configuration by using the sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "loginUrl": "https://somesalesforcelogin.url",
    "username": "someusername",
    "password": "@super(!)SecretPass",
    "securityToken": "salesforcesecuritytoken",
    "apiVersion": "59.0"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and -notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "loginUrl": {
    "title": "Login URL",
    "type": "string",
    "description": "The Salesforce instance login URL",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "https://somesalesforcelogin.url"
    ]
    },
    "username": {
    "title": "Username",
    "type": "string",
    "description": "The username to log in the Salesforce instance",
    "minLength": 1,
    "examples": [
    "someusername"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "The password to log in the Salesforce instance",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "@super(!)SecretPass"
    ]
    },
    "securityToken": {
    "title": "Security Token",
    "type": "string",
    "description": "The security token to access the Salesforce instance",
    "minLength": 1,
    "examples": [
    "salesforcesecuritytoken"
    ]
    },
    "apiVersion": {
    "title": "API Version",
    "type": "string",
    "pattern": "^[0-9]{2}\\.[0-9]$",
    "placeholder": "52.0",
    "description": "Salesforce API Version",
    "minLength": 1,
    "examples": [
    "59.0"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "loginUrl",
    "username",
    "password",
    "securityToken"
    ]
    }
    - - +notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "loginUrl": {
    "title": "Login URL",
    "type": "string",
    "description": "The Salesforce instance login URL",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "https://somesalesforcelogin.url"
    ]
    },
    "username": {
    "title": "Username",
    "type": "string",
    "description": "The username to log in the Salesforce instance",
    "minLength": 1,
    "examples": [
    "someusername"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "The password to log in the Salesforce instance",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "@super(!)SecretPass"
    ]
    },
    "securityToken": {
    "title": "Security Token",
    "type": "string",
    "description": "The security token to access the Salesforce instance",
    "minLength": 1,
    "examples": [
    "salesforcesecuritytoken"
    ]
    },
    "apiVersion": {
    "title": "API Version",
    "type": "string",
    "pattern": "^[0-9]{2}\\.[0-9]$",
    "placeholder": "52.0",
    "description": "Salesforce API Version",
    "minLength": 1,
    "examples": [
    "59.0"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "loginUrl",
    "username",
    "password",
    "securityToken"
    ]
    }
    + + \ No newline at end of file diff --git a/adaptors/packages/salesforce-docs.html b/adaptors/packages/salesforce-docs.html index 0502fb091ac..e50df906c3c 100644 --- a/adaptors/packages/salesforce-docs.html +++ b/adaptors/packages/salesforce-docs.html @@ -3,7 +3,7 @@ -salesforce@4.2.0 | OpenFn/docs +salesforce@4.2.1 | OpenFn/docs @@ -22,12 +22,12 @@ - - + +
    -
    Skip to main content

    salesforce@4.2.0

    Functions

    bulk(sObject, operation, options, fun)
    bulkQuery(qs, options, callback)
    cleanupState(state)
    create(sObject, attrs)
    createConnection(state)
    createIf(logical, sObject, attrs)
    describe(sObject)
    describeAll()
    destroy(sObject, attrs, options)
    execute(operations)
    login(state)
    query(qs)
    reference(position)
    relationship(relationshipName, externalId, dataSource)
    retrieve(sObject, id, callback)
    steps()
    update(sObject, attrs)
    upsert(sObject, externalId, attrs)
    upsertIf(logical, sObject, externalId, attrs)

    bulk

    bulk(sObject, operation, options, fun) ⇒ Operation +

    salesforce@4.2.1

    Functions

    bulk(sObject, operation, options, fun)
    bulkQuery(qs, options, callback)
    cleanupState(state)
    create(sObject, attrs)
    createConnection(state)
    createIf(logical, sObject, attrs)
    describe(sObject)
    describeAll()
    destroy(sObject, attrs, options)
    execute(operations)
    login(state)
    query(qs)
    reference(position)
    relationship(relationshipName, externalId, dataSource)
    retrieve(sObject, id, callback)
    steps()
    update(sObject, attrs)
    upsert(sObject, externalId, attrs)
    upsertIf(logical, sObject, externalId, attrs)

    bulk

    bulk(sObject, operation, options, fun) ⇒ Operation Create and execute a bulk job.

    Kind: global function
    Access: public

    ParamTypeDescription
    sObjectStringAPI name of the sObject.
    operationStringThe bulk operation to be performed
    optionsObjectOptions passed to the bulk api.
    funfunctionA function which takes state and returns an array.

    Example

    bulk('Patient__c', 'insert', { failOnError: true, pollInterval: 3000, pollTimeout: 240000 }, state => {
    return state.data.someArray.map(x => {
    return { 'Age__c': x.age, 'Name': x.name }
    })
    });

    bulkQuery

    bulkQuery(qs, options, callback) ⇒ Operation Execute an SOQL Bulk Query. @@ -71,7 +71,7 @@ Magic: attrs - $.children[?(@.name=="{{args.sObject}}")].children[?(!@.meta.externalId)]

    ParamTypeDescription
    sObjectStringAPI name of the sObject.
    externalIdStringID.
    attrsObjectField attributes for the new object.

    Example

    upsert('obj_name', 'ext_id', {
    attr1: "foo",
    attr2: "bar"
    })

    upsertIf

    upsertIf(logical, sObject, externalId, attrs) ⇒ Operation Upsert if conditions are met.

    Kind: global function
    Access: public

    ParamTypeDescription
    logicalbooleana logical statement that will be evaluated.
    sObjectStringAPI name of the sObject.
    externalIdStringID.
    attrsObjectField attributes for the new object.

    Example

    upsertIf(true, 'obj_name', 'ext_id', {
    attr1: "foo",
    attr2: "bar"
    })

    - - + + \ No newline at end of file diff --git a/adaptors/packages/salesforce-readme.html b/adaptors/packages/salesforce-readme.html index 1459ad83903..6a3c5efecc3 100644 --- a/adaptors/packages/salesforce-readme.html +++ b/adaptors/packages/salesforce-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -39,7 +39,7 @@ credentials or runtime environment.

    It's the responsibility of the build process to provide a wrapper that will inject the functions in.

    For example:

    describe('vera__Test_Event__c'),
    create('vera__Test_Event__c', {
    vera__Test_Event_Name_Unique__c: 'hello from jsforce',
    }),
    create('vera__Boat__c', {
    Name: 'Catatafish redux!',
    vera__Test_Event__c: reference(0),
    });

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    ## Other

    Create SOAP session

    curl https://test.salesforce.com/services/Soap/u/47.0 -H "Content-Type: text/xml; charset=UTF-8" -H "SOAPAction: login" -d @tmp/login.txt | xmllint --format -

    Close jobs

    curl
    https://openfn.my.salesforce.com/services/async/47.0/job/some_id -H 'X-SFDC-Session: abc123sessionID456xyz' -H "Content-Type: application/xml; charset=UTF-8" -d @tmp/close_job.txt | xmllint --format -
    - - + + \ No newline at end of file diff --git a/adaptors/packages/sftp-changelog.html b/adaptors/packages/sftp-changelog.html index 35ff8862fc7..caf2140d539 100644 --- a/adaptors/packages/sftp-changelog.html +++ b/adaptors/packages/sftp-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    0.7.3

    Patch Changes

    0.7.2

    Patch Changes

    0.7.1

    Patch Changes

    0.7.0

    Minor Changes

    0.6.9

    Patch Changes

    0.6.8

    Patch Changes

    0.6.7

    Patch Changes

    0.6.6

    Patch Changes

    0.6.5

    Patch Changes

    0.6.4

    Patch Changes

    0.6.3

    Patch Changes

    0.6.2

    Patch Changes

    0.6.1

    Patch Changes

    0.6.0

    Minor Changes

    0.5.0

    Minor Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/sftp-configuration-schema.html b/adaptors/packages/sftp-configuration-schema.html index ac727839a40..a40e6b2f81b 100644 --- a/adaptors/packages/sftp-configuration-schema.html +++ b/adaptors/packages/sftp-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "host": "191.173.128.88",
    "port": "22",
    "username": "admin",
    "password": "@some(!)Strongpassword"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "host": {
    "title": "Host URL",
    "type": "string",
    "description": "The SFTP server host url or ip address",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "191.173.128.88"
    ]
    },
    "port": {
    "title": "Port",
    "type": "integer",
    "default": 21,
    "description": "The SFTP server port",
    "minLength": 1,
    "examples": [
    22
    ]
    },
    "username": {
    "title": "Username",
    "type": "string",
    "description": "Username",
    "minLength": 1,
    "examples": [
    "admin"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "Password",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "@some(!)Strongpassword"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "host"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/sftp-docs.html b/adaptors/packages/sftp-docs.html index 9b35bb7f6b9..d8c6ba1bd84 100644 --- a/adaptors/packages/sftp-docs.html +++ b/adaptors/packages/sftp-docs.html @@ -22,8 +22,8 @@ - - + +
    @@ -38,7 +38,7 @@ Access: public

    ParamTypeDescription
    optionsoptionsOptions passed to csvtojson parser
    callbackcallbackOptions passed to csvtojson parser

    Example

    normalizeCSVarray({ delimiter: ';', noheader: true });

    putCSV

    putCSV(localFilePath, remoteFilePath, parsingOptions) ⇒ Operation Convert JSON to CSV and upload to an FTP server

    Kind: global function
    Access: public

    ParamTypeDescription
    localFilePathstringData source for data to copy to the remote server.
    remoteFilePathstringPath to the remote file to be created on the server.
    parsingOptionsobjectOptions which can be passed to adjust the read and write stream used in sending the data to the remote server

    Example

    putCSV(
    '/some/path/to_local_file.csv',
    '/some/path/to_remove_file.csv',
    { delimiter: ';', noheader: true }
    );

    - - + + \ No newline at end of file diff --git a/adaptors/packages/sftp-readme.html b/adaptors/packages/sftp-readme.html index 995a71ec198..66f44300021 100644 --- a/adaptors/packages/sftp-readme.html +++ b/adaptors/packages/sftp-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ definition.

    List the content of a directory

    alterState(state => {
    return list('/path/To/Directory')(state).then(response => {
    console.log(`There are ${response.data.length} files.`);
    return response;
    });
    });

    sample getCSV expression

    getCSV('path/to/file.csv', 'utf8', {
    quote: 'off',
    delimiter: ';',
    noheader: true,
    filter: {
    type: 'startsWith',
    key: 'field1',
    value: 'JO',
    },
    });

    A more complex example that breaks up the CSV file into multiple payloads for quicker processing.

    fn(state => {
    return list('/')(state).then(state => {
    const targetNames = [
    'exportContacts', //example fileName
    ];
    console.log(`Fetching files: ${targetNames}`);
    const files = state.data
    .filter(file => file.name.split('.')[1] === 'csv')
    .filter(file =>
    targetNames.some(targetName =>
    file.name.toLowerCase().includes(targetName)
    )
    );

    if (files.length === 0) console.log('No new CSV files found.');
    return { ...state, data: {}, files };
    });
    });

    each(
    '$.files[*]',
    fn(state => {
    const { configuration, data } = state;

    return getCSV(`/${data.name}`)(state).then(async state => {
    const headers = state.data
    .shift()
    .split(';')
    .map(h => (h = h.replace(/"/g, '')));

    function toObject(item) {
    const values = item.split(';');

    return Object.fromEntries(
    headers.map((k, i) => {
    return values[i]
    ? [k, values[i].replace(/"/g, '')]
    : [k, values[i]];
    })
    );
    }

    let countInbox = 0;

    //to post CSV data as individual Messages to OpenFn Inbox
    const postToInbox = async data => {
    countInbox++;

    console.log(`Sending request ${countInbox} to inbox`);

    await new Promise(resolve => setTimeout(resolve, 200));

    await http.post({
    url: configuration.openfnInboxUrl,
    data: data,
    maxContentLength: Infinity,
    maxBodyLength: Infinity,
    })(state);
    };

    //To split up into multiple, smaller payloads before send to OpenFn Inbox
    const chunkSize = 500;

    console.log(
    state.data.length,
    'rows will be sent in',
    Math.ceil(state.data.length / chunkSize),
    'requests of',
    chunkSize,
    'rows each.'
    );

    while (state.data.length > 0) {
    console.log('data.length', state.data.length);
    await postToInbox({
    fileName: data.name,
    fileType: data.name.split('-')[0],
    uploadDate: new Date(data.modifyTime).toISOString(),
    json: state.data.splice(0, chunkSize).map(toObject),
    });
    }

    return { configuration, references: [], data: {} };
    });
    })
    );

    sample putCSV expression

    This function converts JSON to CSV and post to a server

    putCSV('/some/path/to_file.csv', 'utf8', { delimiter: ';', noheader: true });

    Get JSON from FTP server

    getJSON('path/to/file.json', 'utf8');

    Custom request to an http endpoint

    This adaptor exports http from language-common. Here, we outline the usage in order to make custom requests to an endpoint. It returns a promise

    alterState(state => {
    return http
    .post({ url: 'yourURL', data: { name: 'Mamadou' } })(state)
    .then(response => {
    // do something with response;
    return response;
    });
    });

    Development

    Clone the repo, run pnpm install.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To build the docs for this repo, pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/smpp-changelog.html b/adaptors/packages/smpp-changelog.html index 4e67f8a935a..4ef085b8d42 100644 --- a/adaptors/packages/smpp-changelog.html +++ b/adaptors/packages/smpp-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    1.2.3

    Patch Changes

    1.2.2

    Patch Changes

    1.2.1

    Patch Changes

    1.2.0

    Minor Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/smpp-configuration-schema.html b/adaptors/packages/smpp-configuration-schema.html index 11cebb4e882..eabb3a4c8d2 100644 --- a/adaptors/packages/smpp-configuration-schema.html +++ b/adaptors/packages/smpp-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "clientHost": "https://some-smpp.com:3000",
    "systemId": "some_smpp_client_name",
    "inboxId": "1c908151-8273-431c-b1d4-blah",
    "password": "@some(!)StrongPassword"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "clientHost": {
    "title": "Client host",
    "type": "string",
    "description": "Your SMPP client host URL",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "https://some-smpp.com:3000"
    ]
    },
    "systemId": {
    "title": "System ID",
    "type": "string",
    "description": "Your SMPP client name",
    "minLength": 1,
    "examples": [
    "some_smpp_client_name"
    ]
    },
    "inboxId": {
    "title": "Inbox ID",
    "type": "string",
    "description": "Your SMPP client inbox ID",
    "minLength": 1,
    "examples": [
    "1c908151-8273-431c-b1d4-blah"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "Your SMPP client password",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "@some(!)StrongPassword"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "clientHost",
    "systemId",
    "inboxId",
    "password"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/smpp-docs.html b/adaptors/packages/smpp-docs.html index 55660ce990e..cf79d81fec2 100644 --- a/adaptors/packages/smpp-docs.html +++ b/adaptors/packages/smpp-docs.html @@ -22,13 +22,13 @@ - - + +
    Skip to main content
    - - + + \ No newline at end of file diff --git a/adaptors/packages/smpp-readme.html b/adaptors/packages/smpp-readme.html index 3deea05da04..20a96e222b1 100644 --- a/adaptors/packages/smpp-readme.html +++ b/adaptors/packages/smpp-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ configuration-schema definition.

    sample send expression

    send({
    text: dataValue('text'),
    smsId: dataValue('messageId'),
    recipient: dataValue('to'),
    sender: dataValue('from'),
    });

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/surveycto-changelog.html b/adaptors/packages/surveycto-changelog.html index 18508d186c2..1a8628026e5 100644 --- a/adaptors/packages/surveycto-changelog.html +++ b/adaptors/packages/surveycto-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    1.1.4

    Patch Changes

    1.1.3

    Patch Changes

    1.1.2

    Patch Changes

    1.1.1

    Patch Changes

    1.1.0

    Minor Changes

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/surveycto-configuration-schema.html b/adaptors/packages/surveycto-configuration-schema.html index 9901651d38e..92951b25d57 100644 --- a/adaptors/packages/surveycto-configuration-schema.html +++ b/adaptors/packages/surveycto-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "instanceName": "openfn_test",
    "username": "someusername",
    "password": "@some(%)!Password"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "instanceName": {
    "title": "Instance name",
    "type": "string",
    "description": "Your Surveycto instance name",
    "minLength": 1,
    "examples": [
    "openfn_test"
    ]
    },
    "username": {
    "title": "Username",
    "type": "string",
    "description": "Your Surveycto instance username",
    "minLength": 1,
    "examples": [
    "someusername"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "Your Surveycto instance password",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "@some(%)!Password"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "instanceName",
    "username",
    "password"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/surveycto-docs.html b/adaptors/packages/surveycto-docs.html index 7b55825e47f..6a1d384cbe1 100644 --- a/adaptors/packages/surveycto-docs.html +++ b/adaptors/packages/surveycto-docs.html @@ -22,14 +22,14 @@ - - + +
    Skip to main content
    - - + + \ No newline at end of file diff --git a/adaptors/packages/surveycto-readme.html b/adaptors/packages/surveycto-readme.html index 7b283555888..a652d65ba05 100644 --- a/adaptors/packages/surveycto-readme.html +++ b/adaptors/packages/surveycto-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -36,7 +36,7 @@ the job, subsequent runs will only fetch NEW submissions.

  • the postUrl is where the wide-format JSON representation of each form submission should be sent. Note that a formId key will be added to each form submission for later filtering/routing.

  • sample fetchSubmissions expression

    fetchSubmissions(
    // formId on SurveyCTO server
    'household_survey',
    // initialAfterDate: this will only be accessed if "lastSubmissionDate" is empty in your job_state".
    // After the initial run of the job, OpenFn will only pull new submissions from SurveyCTO.
    'Aug 29, 2016 4:44:26 PM',
    // postUrl is where you want to send the JSON submissions, appended with a new "formId" key
    'https://www.openfn.org/inbox/secret-inbox-uuid'
    );

    Development

    Clone the repo, run npm install.

    Run tests using npm run test or npm run test:watch

    Build the project using make.

    - - + + \ No newline at end of file diff --git a/adaptors/packages/telerivet-changelog.html b/adaptors/packages/telerivet-changelog.html index ee5cad4a7ea..4a168e59b92 100644 --- a/adaptors/packages/telerivet-changelog.html +++ b/adaptors/packages/telerivet-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    0.1.4

    Patch Changes

    0.1.3

    Patch Changes

    0.1.2

    Patch Changes

    0.1.1

    Patch Changes

    0.1.0

    Minor Changes

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/telerivet-configuration-schema.html b/adaptors/packages/telerivet-configuration-schema.html index df450daec93..bc812c52539 100644 --- a/adaptors/packages/telerivet-configuration-schema.html +++ b/adaptors/packages/telerivet-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "projectId": "telerivet_project_id",
    "apiKey": "telerivet_api_key"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "projectId": {
    "title": "Project ID",
    "type": "string",
    "description": "Your Telerivet project id",
    "minLength": 1,
    "examples": [
    "telerivet_project_id"
    ]
    },
    "apiKey": {
    "title": "API Key",
    "type": "string",
    "description": "Your Telerivet API Key",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "telerivet_api_key"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "projectId",
    "apiKey"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/telerivet-docs.html b/adaptors/packages/telerivet-docs.html index ff2c2813724..c3337ed122d 100644 --- a/adaptors/packages/telerivet-docs.html +++ b/adaptors/packages/telerivet-docs.html @@ -22,14 +22,14 @@ - - + +
    Skip to main content
    - - + + \ No newline at end of file diff --git a/adaptors/packages/telerivet-readme.html b/adaptors/packages/telerivet-readme.html index 314cb280ccb..94aac05d5af 100644 --- a/adaptors/packages/telerivet-readme.html +++ b/adaptors/packages/telerivet-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ configuration-schema definition.

    Send message

    Current send expression:

    send(
    fields(
    field('to_number', dataValue('recipient_number')),
    field('content', dataValue('recipient_text')),
    // Lots of optional parameters...
    field('message_type', 'sms'),
    field('route_id', dataValue('some_route'))
    )
    );

    sendBulk messages - WIP

    Current sendBulk expression:

    send(fields(
    field("content", dataValue("recipient_text")),
    field("to_numbers", [
    "+14155550123",
    "+14255550234",
    "+16505550345"
    ]
    // Lots of optional parameters...
    field("message_type", "sms"),
    field("route_id", dataValue("some_route"))
    ))

    Note that "recipient_text" may be a concatenation like this:

    field('content', function (state) {
    return dataValue('salutation')(state).concat(
    '. ',
    dataValue('last_name')(state),
    ', )'
    );
    });

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/template-changelog.html b/adaptors/packages/template-changelog.html index bda65361f58..634980abff5 100644 --- a/adaptors/packages/template-changelog.html +++ b/adaptors/packages/template-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    2.0.0

    Major Changes

    Minor Changes

    1.7.8

    Patch Changes

    1.7.7

    Patch Changes

    1.7.6

    Patch Changes

    1.7.5

    Patch Changes

    1.7.4

    Patch Changes

    1.7.3

    Patch Changes

    1.7.2

    Patch Changes

    1.7.1

    Patch Changes

    1.7.0

    Minor Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/template-configuration-schema.html b/adaptors/packages/template-configuration-schema.html index 3c1980eca69..536621d4134 100644 --- a/adaptors/packages/template-configuration-schema.html +++ b/adaptors/packages/template-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "baseUrl": "https://example.com",
    "username": "test@openfn.org",
    "password": "@some(!)Str0ngp4ss0w0rd"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "baseUrl": {
    "title": "Base URL",
    "anyOf": [
    {
    "type": "string"
    },
    {
    "type": "null"
    }
    ],
    "description": "The base URL (http://www.example.com)",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "https://example.com"
    ]
    },
    "username": {
    "title": "Username",
    "type": "string",
    "description": "Username",
    "examples": [
    "test@openfn.org"
    ]
    },
    "password": {
    "title": "Password",
    "type": "string",
    "description": "Password",
    "writeOnly": true,
    "examples": [
    "@some(!)Str0ngp4ss0w0rd"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "password",
    "username"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/template-docs.html b/adaptors/packages/template-docs.html index 32419a1a372..9315170e43f 100644 --- a/adaptors/packages/template-docs.html +++ b/adaptors/packages/template-docs.html @@ -22,15 +22,15 @@ - - + +
    Skip to main content

    template@3.0.1

    create

    create(resource, data, callback) ⇒ Operation Create some resource in some system

    Kind: global function
    Access: public

    ParamTypeDescription
    resourcestringThe type of entity that will be created
    dataobjectThe data to create the new resource
    callbackfunctionAn optional callback function

    Example

    create("patient", {"name": "Bukayo"})

    - - + + \ No newline at end of file diff --git a/adaptors/packages/template-readme.html b/adaptors/packages/template-readme.html index ac69f66fa10..085dea97639 100644 --- a/adaptors/packages/template-readme.html +++ b/adaptors/packages/template-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ configuration-schema for required and optional configuration properties.

    A example expression using the create function

    create('patient', { name: 'Bukayo' });

    Development

    Clone the adaptors monorepo. Follow the "Getting Started" guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To build only the docs run pnpm build docs.

    - - + + \ No newline at end of file diff --git a/adaptors/packages/twilio-changelog.html b/adaptors/packages/twilio-changelog.html index dcd3f75457c..d079595be71 100644 --- a/adaptors/packages/twilio-changelog.html +++ b/adaptors/packages/twilio-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    0.3.4

    Patch Changes

    0.3.3

    Patch Changes

    0.3.2

    Patch Changes

    0.3.1

    Patch Changes

    0.3.0

    Minor Changes

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/twilio-configuration-schema.html b/adaptors/packages/twilio-configuration-schema.html index 62ec1a535d1..70ec19ee84f 100644 --- a/adaptors/packages/twilio-configuration-schema.html +++ b/adaptors/packages/twilio-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "accountSid": "account_id",
    "authToken": "evenMoreSecret"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "accountSid": {
    "title": "Account ID",
    "type": "string",
    "description": "Your Twilio account id",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "account_id"
    ]
    },
    "authToken": {
    "title": "Auth Token",
    "type": "string",
    "description": "Your Twilio auth token",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "evenMoreSecret"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "accountSid",
    "authToken"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/twilio-docs.html b/adaptors/packages/twilio-docs.html index 23ca4719b02..b1a19956c68 100644 --- a/adaptors/packages/twilio-docs.html +++ b/adaptors/packages/twilio-docs.html @@ -22,15 +22,15 @@ - - + +
    Skip to main content

    twilio@0.4.1

    sendSMS

    sendSMS(params) ⇒ Operation Sends an SMS message to a specific phone number

    Kind: global function
    Access: public

    ParamTypeDescription
    paramsObjectan object containing 'body', 'from', and 'to' keys.

    Example

    sendSMS({
    body: dataValue('sampleText'),
    from: dataValue('myFromNumber'),
    to: dataValue('ukMobile'),
    });

    - - + + \ No newline at end of file diff --git a/adaptors/packages/twilio-readme.html b/adaptors/packages/twilio-readme.html index ff94d428f02..32d9b2f11ec 100644 --- a/adaptors/packages/twilio-readme.html +++ b/adaptors/packages/twilio-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ configuration-schema definition.

    sendSMS

    sample expression, sending an sms

    sendSMS({
    body: dataValue('text'),
    from: '+15005550006',
    to: dataValue('recipient'),
    });

    local usage

    ~/devtools/core/bin/core execute \
    -l ~/devtools/adaptors/language-twilio \
    -s ./tmp/state.json \
    -o ./tmp/output.json \
    -e ./tmp/expression.js

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/vtiger-changelog.html b/adaptors/packages/vtiger-changelog.html index ef7d25cdb03..f6dcd094fe8 100644 --- a/adaptors/packages/vtiger-changelog.html +++ b/adaptors/packages/vtiger-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    1.1.3

    Patch Changes

    1.1.2

    Patch Changes

    1.1.1

    Patch Changes

    1.1.0

    Minor Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/vtiger-configuration-schema.html b/adaptors/packages/vtiger-configuration-schema.html index e54fe1d9349..25d895c0b0e 100644 --- a/adaptors/packages/vtiger-configuration-schema.html +++ b/adaptors/packages/vtiger-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "hostUrl": "https://openfunction.od2.vtiger.com",
    "username": "test@openfn.org",
    "accessToken": "@some()!veryHugeToke"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "hostUrl": {
    "title": "Host URL",
    "type": "string",
    "description": "VTiger instance host URL",
    "format": "uri",
    "minLength": 1,
    "examples": [
    "https://openfunction.od2.vtiger.com"
    ]
    },
    "username": {
    "title": "Username",
    "type": "string",
    "description": "VTiger instance username",
    "minLength": 1,
    "examples": [
    "test@openfn.org"
    ]
    },
    "accessToken": {
    "title": "Access Token",
    "type": "string",
    "description": "VTiger instance access token",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "@some()!veryHugeToke"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "hostUrl",
    "username",
    "accessToken"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/vtiger-docs.html b/adaptors/packages/vtiger-docs.html index ca6310d396b..c2e4fef4e90 100644 --- a/adaptors/packages/vtiger-docs.html +++ b/adaptors/packages/vtiger-docs.html @@ -22,13 +22,13 @@ - - + +
    Skip to main content
    - - + + \ No newline at end of file diff --git a/adaptors/packages/vtiger-readme.html b/adaptors/packages/vtiger-readme.html index 02109965fc3..4581dc4fb16 100644 --- a/adaptors/packages/vtiger-readme.html +++ b/adaptors/packages/vtiger-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ configuration-schema definition.

    sample listTypes expression

    listTypes();

    sample postElement expression

    postElement({
    operation: "create"
    elementType: "leads",
    element: {
    "name": dataValue("name")(state),
    "surname": dataValue("surname")(state),
    "email": dataValue("email")(state)
    }
    });


    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/packages/zoho-changelog.html b/adaptors/packages/zoho-changelog.html index cb2d164c7cd..b0484e4988a 100644 --- a/adaptors/packages/zoho-changelog.html +++ b/adaptors/packages/zoho-changelog.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ expected inside each blocks. Users were previously wrapping these functions inside their own custom fn blocks, and this change will ensure that they can be used inside a standard each.

    See https://github.com/OpenFn/adaptors/issues/275 for more details.

    Patch Changes

    0.2.3

    Patch Changes

    0.2.2

    Patch Changes

    0.2.1

    Patch Changes

    0.2.0

    Minor Changes

    Patch Changes

    - - + + \ No newline at end of file diff --git a/adaptors/packages/zoho-configuration-schema.html b/adaptors/packages/zoho-configuration-schema.html index b013bd9e334..5285eb3beba 100644 --- a/adaptors/packages/zoho-configuration-schema.html +++ b/adaptors/packages/zoho-configuration-schema.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ sample below.

    Sample Configuration

    Paste this into the configuration key of your state.json file and modify the values to run jobs locally.

    {
    "account": "yourzohoaccount",
    "authToken": "secreauthtoken",
    "apiVersion": "v2"
    }

    Full Schema

    The full configuration schema describes each attribute of the credential and notes those that are required.

    {
    "$schema": "http://json-schema.org/draft-07/schema#",
    "properties": {
    "account": {
    "title": "Account",
    "type": "string",
    "description": "Your Zoho account",
    "minLength": 1,
    "examples": [
    "yourzohoaccount"
    ]
    },
    "authToken": {
    "title": "Auth Token",
    "type": "string",
    "description": "Your Zoho authentication token",
    "writeOnly": true,
    "minLength": 1,
    "examples": [
    "secreauthtoken"
    ]
    },
    "apiVersion": {
    "title": "API Version",
    "type": "string",
    "default": "v2",
    "enum": [
    "v1",
    "v2"
    ],
    "description": "Zoho API version",
    "minLength": 1,
    "examples": [
    "v2",
    "v1"
    ]
    }
    },
    "type": "object",
    "additionalProperties": true,
    "required": [
    "account",
    "authToken",
    "apiVersion"
    ]
    }
    - - + + \ No newline at end of file diff --git a/adaptors/packages/zoho-docs.html b/adaptors/packages/zoho-docs.html index 0105d19d9e6..d42a152d828 100644 --- a/adaptors/packages/zoho-docs.html +++ b/adaptors/packages/zoho-docs.html @@ -22,14 +22,14 @@ - - + +
    Skip to main content

    zoho@0.3.1

    addRow

    addRow(db, table, rowData) ⇒ Operation To add a row data to a database table

    Kind: global function

    ParamTypeDescription
    dbstringDatabase
    tablestringDatabase table
    rowDataobjectrow data to be added into the database

    Example

    addRow(
    'testing_openfn',
    'Customers',
    fields(field('Subject', dataValue('formId')), field('Status', 'Closed'))
    );

    - - + + \ No newline at end of file diff --git a/adaptors/packages/zoho-readme.html b/adaptors/packages/zoho-readme.html index 09aa642f7b7..828ce62f6c1 100644 --- a/adaptors/packages/zoho-readme.html +++ b/adaptors/packages/zoho-readme.html @@ -22,8 +22,8 @@ - - + +
    @@ -34,7 +34,7 @@ following addRow function.

    addRow(
    'testing_openfn',
    'Customers',
    fields(field('Subject', dataValue('formId')), field('Status', 'Closed'))
    );

    updateRow

    Coming soon. Want to help? https://zohoreportsapi.wiki.zoho.com/Updating-Data.html

    Development

    Clone the adaptors monorepo. Follow the Getting Started guide inside to get set up.

    Run tests using pnpm run test or pnpm run test:watch

    Build the project using pnpm build.

    To just build the docs run pnpm build docs

    - - + + \ No newline at end of file diff --git a/adaptors/postgresql.html b/adaptors/postgresql.html index 784d1573c66..ca42bb2c539 100644 --- a/adaptors/postgresql.html +++ b/adaptors/postgresql.html @@ -22,8 +22,8 @@ - - + +
    @@ -57,7 +57,7 @@ PostgreSQL adaptor.

    Implementation Examples

    1. Wildlife Conservation Society Kobo < > Database: https://github.com/OpenFn/consosci
    2. Cambodia Primero < > ONA Database: https://github.com/OpenFn/primero-ona-dashboard
    - - + + \ No newline at end of file diff --git a/adaptors/powerbi.html b/adaptors/powerbi.html index 889a6568a74..b41d9554bb0 100644 --- a/adaptors/powerbi.html +++ b/adaptors/powerbi.html @@ -22,8 +22,8 @@ - - + +
    @@ -40,7 +40,7 @@ structured database from it using MySQL. Once the structured database is established, OpenFn assists the iNGO with connecting this data to Power BI.

    Refer to the diagram below for a visualization of the data flow cited in the above use case.

    Tableau Data Flow Visualization

    - - + + \ No newline at end of file diff --git a/adaptors/primero.html b/adaptors/primero.html index 1e6cb5aca0b..ff014368ad2 100644 --- a/adaptors/primero.html +++ b/adaptors/primero.html @@ -22,8 +22,8 @@ - - + +
    @@ -63,7 +63,7 @@ https://github.com/OpenFn/primero-ona-dashboard/
  • Gambella: UNICEF Primero < > UNHCR Progres: https://github.com/OpenFn/primero-progres
  • Thailand: UNICEF Primero < > MoPH HIS: https://github.com/OpenFn/primero-thailand
  • - - + + \ No newline at end of file diff --git a/adaptors/salesforce.html b/adaptors/salesforce.html index c1b604d3744..bcff2018073 100644 --- a/adaptors/salesforce.html +++ b/adaptors/salesforce.html @@ -22,8 +22,8 @@ - - + +
    @@ -138,8 +138,8 @@ language-salesforce adaptor with a range of helper functions for common CRUD & upsert operations, and for accessing the Salesforce bulk API.

    Example Implementations

    - - +https://github.com/OpenFn/miracle-feet
  • Lwala (CommCare-Salesforce 2-way sync): https://github.com/OpenFn/lwala
  • GRS CommCare - Salesforce sync: https://github.com/OpenFn/grassroot-soccer
  • + + \ No newline at end of file diff --git a/adaptors/surveycto.html b/adaptors/surveycto.html index c1035347193..ee97d74518a 100644 --- a/adaptors/surveycto.html +++ b/adaptors/surveycto.html @@ -22,8 +22,8 @@ - - + +
    @@ -39,7 +39,7 @@ Configure option for that form, and then click Add Webhook in the panel that appears.

    Periodic

    In order to fetch data from SurveyCTO periodically, you can use language-surveycto:

    fetchSubmissions(
    'form_id', // the form id
    'Sep 1, 2016 3:56:02 PM', // the initial "after" date
    // after the first run, OpenFn will only fetch new submissions
    'https://www.openfn.org/inbox/something-secret' // the inbox to post form data to.
    );

    Every time this job runs it will only fetch new data, by default.

    - - + + \ No newline at end of file diff --git a/adaptors/tableau.html b/adaptors/tableau.html index 3f24df5f6f5..dd1d79b3525 100644 --- a/adaptors/tableau.html +++ b/adaptors/tableau.html @@ -22,8 +22,8 @@ - - + +
    @@ -41,7 +41,7 @@ structured database from it using MySQL. Once the structured database is established, OpenFn assists the iNGO with connecting this data to Tableau.

    Refer to the diagram below for a visualization of the data flow cited in the above use case.

    Tableau Data Flow Visualization

    - - + + \ No newline at end of file diff --git a/articles.html b/articles.html index b004518c742..5996baa7b9c 100644 --- a/articles.html +++ b/articles.html @@ -22,8 +22,8 @@ - - + +
    @@ -73,7 +73,7 @@ someone else’s servers (SaaS), or on her organization’s own servers (deployed locally). Before making a decision she outlines the basic, non-technical considerations for both options.

    - - + + \ No newline at end of file diff --git a/articles/2020/06/16/how-information-is-organized.html b/articles/2020/06/16/how-information-is-organized.html index 8b98ec8ebcf..23cc6863aed 100644 --- a/articles/2020/06/16/how-information-is-organized.html +++ b/articles/2020/06/16/how-information-is-organized.html @@ -22,8 +22,8 @@ - - + +
    @@ -102,7 +102,7 @@ might be better off than those operating a well defined assembly-line with interchangeable parts. Alas, the middle way is probably the best.

    That’s all for now. More soon.

    Need help organizing or scaling your organization's information or process flows? Contact our team of ICT4D specialists at support@openfn.org.

    - - + + \ No newline at end of file diff --git a/articles/2020/06/24/three-questions-to-ask.html b/articles/2020/06/24/three-questions-to-ask.html index f99e67005da..53b262c0a60 100644 --- a/articles/2020/06/24/three-questions-to-ask.html +++ b/articles/2020/06/24/three-questions-to-ask.html @@ -22,8 +22,8 @@ - - + +
    @@ -63,7 +63,7 @@ admin@openfn.org for support. Our team is always happy to assist and help you evaluate the total cost of ownership of automation solutions.

    - - + + \ No newline at end of file diff --git a/articles/2020/07/02/allow-yourself-to-fail.html b/articles/2020/07/02/allow-yourself-to-fail.html index 578afa0597d..d1a9d86e469 100644 --- a/articles/2020/07/02/allow-yourself-to-fail.html +++ b/articles/2020/07/02/allow-yourself-to-fail.html @@ -22,8 +22,8 @@ - - + +
    @@ -52,7 +52,7 @@ design for idempotence. It's common sense when you're passing messages between two different systems that are bound to evolve, go offline, have a bad day, etc

    — Taylor

    Sign up{: .btn} to set up a project today, absolutely free.

    Reach out{: .btn} for more information.

    - - + + \ No newline at end of file diff --git a/articles/2020/07/14/cron-is-better-than-a-timer.html b/articles/2020/07/14/cron-is-better-than-a-timer.html index dbd0b9ee88a..1e52d6b6dd7 100644 --- a/articles/2020/07/14/cron-is-better-than-a-timer.html +++ b/articles/2020/07/14/cron-is-better-than-a-timer.html @@ -22,8 +22,8 @@ - - + +
    @@ -49,7 +49,7 @@ sign up for free or mess around with cron expressions at crontab.guru, a brilliant site to quickly build complex cron expressions.

    That's all from product for today. Speak soon.

    Taylor

    - - + + \ No newline at end of file diff --git a/articles/2020/12/09/upsert-in-dhis2.html b/articles/2020/12/09/upsert-in-dhis2.html index 61006824f3a..f064d26096f 100644 --- a/articles/2020/12/09/upsert-in-dhis2.html +++ b/articles/2020/12/09/upsert-in-dhis2.html @@ -22,8 +22,8 @@ - - + +
    @@ -51,7 +51,7 @@ about it over here.

    Please don’t hesitate to reach out to one of OpenFn’s implementation specialists if you’d like to learn more.

    — Taylor

    Sign up{: .btn} to set up a project today, absolutely free.

    Reach out{: .btn} for more information.

    - - + + \ No newline at end of file diff --git a/articles/2021/02/03/hosted-or-local-deployment.html b/articles/2021/02/03/hosted-or-local-deployment.html index 6c405ea3a37..ed2fecb3fe8 100644 --- a/articles/2021/02/03/hosted-or-local-deployment.html +++ b/articles/2021/02/03/hosted-or-local-deployment.html @@ -22,8 +22,8 @@ - - + +
    @@ -87,7 +87,7 @@ likely be in a better position to know if you want to continue using the software for 5-10 years.

    Should you need any help with your decision though please do not hesitate to contact OpenFn.

    - - + + \ No newline at end of file diff --git a/articles/2021/02/17/syncing-options.html b/articles/2021/02/17/syncing-options.html index 7a7cbafd18f..c70088fd3f9 100644 --- a/articles/2021/02/17/syncing-options.html +++ b/articles/2021/02/17/syncing-options.html @@ -22,8 +22,8 @@ - - + +
    @@ -76,7 +76,7 @@ eventual syncing was more important than having real-time syncing.

    Both Sync Options Have Their Pros and Cons

    Both options definitely have their use-cases and OpenFn's platform versatility enables your team to decide which type of sync is right for your project.

    As always, we are here to help with any questions as you think through which sync option makes the most sense for your project.

    - - + + \ No newline at end of file diff --git a/articles/2021/05/24/commcare-events.html b/articles/2021/05/24/commcare-events.html index 4b38681616a..79af48a5a95 100644 --- a/articles/2021/05/24/commcare-events.html +++ b/articles/2021/05/24/commcare-events.html @@ -22,8 +22,8 @@ - - + +
    @@ -116,7 +116,7 @@ head directly to the Job Library to see how other OpenFn users are creating their jobs.

    Either way, keep the community posted on your progress in the forum—you'll find lots of helpful folks willing to lend you a hand in your integration journey.

    - - + + \ No newline at end of file diff --git a/articles/2021/07/05/wrapping-my-head-around-jobs.html b/articles/2021/07/05/wrapping-my-head-around-jobs.html index 278e27e0632..2a5906ad902 100644 --- a/articles/2021/07/05/wrapping-my-head-around-jobs.html +++ b/articles/2021/07/05/wrapping-my-head-around-jobs.html @@ -22,8 +22,8 @@ - - + +
    @@ -104,7 +104,7 @@ complex, and are pushing our new documentation regularly, so please do get in touch if you think there are ways we could improve this type of walk-through/helper article.

    Happy integrating,

    Taylor

    - - + + \ No newline at end of file diff --git a/articles/2021/10/08/improving-multistage-docker-builds-using-buildx.html b/articles/2021/10/08/improving-multistage-docker-builds-using-buildx.html index 2a5aacd3c5b..299727578a7 100644 --- a/articles/2021/10/08/improving-multistage-docker-builds-using-buildx.html +++ b/articles/2021/10/08/improving-multistage-docker-builds-using-buildx.html @@ -22,8 +22,8 @@ - - + +
    @@ -97,7 +97,7 @@ hey!

    Buildx has given me what I 'expected' with docker multi-stage builds, and having the cache in a repository completely side-steps having to attach a shared volume or copying from a storage bucket.

    Resources

    - - + + \ No newline at end of file diff --git a/articles/2021/10/15/webpack-to-esbuild-part1.html b/articles/2021/10/15/webpack-to-esbuild-part1.html index 3840c28ca30..2645cf91c1a 100644 --- a/articles/2021/10/15/webpack-to-esbuild-part1.html +++ b/articles/2021/10/15/webpack-to-esbuild-part1.html @@ -22,8 +22,8 @@ - - + +
    @@ -80,7 +80,7 @@ minified and split production build takes about 34s with webpack and that's on my i7 desktop machine, and 197s (3+ mins) on CI/CD.

    What's next?

    So our 'can we actually do this' seems to have gone pretty well so far. I'm really excited about what this will give us in the end.

    But a shell command doth not a replacement for webpack make. We still need to:

    1. Get Phoenix to use esbuild and watch our files as we work.
    2. Ensure that our html templates serve the correct files in dev & production.
      Including our CSS that is no longer injected into the DOM.
    3. Split at least our vendored modules into their own bundle.
    4. Make sure sourcemaps generate correctly for when we upload them to Sentry.
    5. Have some kind of cache-busting naming scheme for production builds.

    Resources

    - - + + \ No newline at end of file diff --git a/articles/2021/10/22/testing-react-app-with-jest-hound.html b/articles/2021/10/22/testing-react-app-with-jest-hound.html index 8cbb7fb8cd9..dcbaf0203b7 100644 --- a/articles/2021/10/22/testing-react-app-with-jest-hound.html +++ b/articles/2021/10/22/testing-react-app-with-jest-hound.html @@ -22,8 +22,8 @@ - - + +
    @@ -115,7 +115,7 @@ guarantee a maintainable codebase and a progressive software application.
    Still looking for the legend's advice?

    Gotcha, here you go...

    1. Swallow your pride and be humble: always do manual testing!
    2. Click test your way through the manual test cases for every new deployment, catching regressions.
    3. Lock in your fixes and new features as unit tests, integration tests, and end-to-end tests.

    Happy testing,

    Chaiwa

    - - + + \ No newline at end of file diff --git a/articles/2021/10/29/how-learning-javascript-helped-me-better-understand-jobs.html b/articles/2021/10/29/how-learning-javascript-helped-me-better-understand-jobs.html index 71415a66ceb..50536a285f3 100644 --- a/articles/2021/10/29/how-learning-javascript-helped-me-better-understand-jobs.html +++ b/articles/2021/10/29/how-learning-javascript-helped-me-better-understand-jobs.html @@ -22,8 +22,8 @@ - - + +
    @@ -115,7 +115,7 @@ to store various keyed collections and more complex entities."

    Next steps

    I'm well on my way to becoming a better job reader and writer. Here are some next steps:

    1. Understand fn(state) and how state can be manipulated in OpenFn jobs.

    2. Explore what's available on the JavaScript docs site.

    3. Sign up for the next level JavaScript course.

    - - + + \ No newline at end of file diff --git a/articles/2022/06/07/workflow-automation.html b/articles/2022/06/07/workflow-automation.html index 1dc55e37f1e..480b216d354 100644 --- a/articles/2022/06/07/workflow-automation.html +++ b/articles/2022/06/07/workflow-automation.html @@ -22,8 +22,8 @@ - - + +
    @@ -113,7 +113,7 @@ DPG, OpenFn’s core technology is free and open-source. If you want more information about the Toolkit or to sign up for a free plan on our associated SaaS application, visit https://www.openfn.org/.

    - - + + \ No newline at end of file diff --git a/articles/2022/09/19/auth-security.html b/articles/2022/09/19/auth-security.html index 347fd1c2470..c6b6c2d2a57 100644 --- a/articles/2022/09/19/auth-security.html +++ b/articles/2022/09/19/auth-security.html @@ -22,8 +22,8 @@ - - + +
    @@ -75,7 +75,7 @@ security experts and international standards, including GovStack, OpenHIE, OWASP, NIST, and more.

    The resource can be found here.

    - - + + \ No newline at end of file diff --git a/articles/archive.html b/articles/archive.html index 363830c21e0..e26f1057bc7 100644 --- a/articles/archive.html +++ b/articles/archive.html @@ -22,13 +22,13 @@ - - + +
    Skip to main content

    Archive

    Archive

    - - + + \ No newline at end of file diff --git a/articles/page/2.html b/articles/page/2.html index e5ee925dc1d..fbb9cf7f993 100644 --- a/articles/page/2.html +++ b/articles/page/2.html @@ -22,8 +22,8 @@ - - + +
    @@ -45,7 +45,7 @@ a non-profit is organized. I thought I was getting into a technical discussion—I’ve been doing system architecture discussions for years—but what we ended up talking about was how this NGO thinks.

    - - + + \ No newline at end of file diff --git a/articles/tags.html b/articles/tags.html index e529d555958..572ffc018c6 100644 --- a/articles/tags.html +++ b/articles/tags.html @@ -22,13 +22,13 @@ - - + +
    Skip to main content
    - - + + \ No newline at end of file diff --git a/articles/tags/annoucement.html b/articles/tags/annoucement.html index afff6eec552..43267009fb9 100644 --- a/articles/tags/annoucement.html +++ b/articles/tags/annoucement.html @@ -22,15 +22,15 @@ - - + +
    Skip to main content
    - - + + \ No newline at end of file diff --git a/articles/tags/authentication.html b/articles/tags/authentication.html index 05fd95172dc..5213b0fe585 100644 --- a/articles/tags/authentication.html +++ b/articles/tags/authentication.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ Goods achieve just this. You can view and comment on the resource here, or read on to learn why.

    - - + + \ No newline at end of file diff --git a/articles/tags/authorization.html b/articles/tags/authorization.html index d2f76763812..9c28f4c5608 100644 --- a/articles/tags/authorization.html +++ b/articles/tags/authorization.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ Goods achieve just this. You can view and comment on the resource here, or read on to learn why.

    - - + + \ No newline at end of file diff --git a/articles/tags/automation.html b/articles/tags/automation.html index d524a663db9..06b05793e81 100644 --- a/articles/tags/automation.html +++ b/articles/tags/automation.html @@ -22,8 +22,8 @@ - - + +
    @@ -36,7 +36,7 @@ supply chain systems, tracking clinical visits, and helping plan vaccine rollouts. We support our partners’ work by lifting the burden of manual data transfers between platforms.

    - - + + \ No newline at end of file diff --git a/articles/tags/browser-testing.html b/articles/tags/browser-testing.html index 3f4e59ef8e6..04e95a5b988 100644 --- a/articles/tags/browser-testing.html +++ b/articles/tags/browser-testing.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ React/Redux app with a Phoenix/Elixir backend.

    - - + + \ No newline at end of file diff --git a/articles/tags/build.html b/articles/tags/build.html index 47f5ebb696c..63d4e0fd7ce 100644 --- a/articles/tags/build.html +++ b/articles/tags/build.html @@ -22,8 +22,8 @@ - - + +
    @@ -31,7 +31,7 @@ using it continuously for about 6 years - upgrades and all. Our front-end toolchain, albeit far from out of date (Webpack 5.52.1 today) has left some room for improvement.

    - - + + \ No newline at end of file diff --git a/articles/tags/ci-cd.html b/articles/tags/ci-cd.html index 297ec932392..68be58774ef 100644 --- a/articles/tags/ci-cd.html +++ b/articles/tags/ci-cd.html @@ -22,8 +22,8 @@ - - + +
    @@ -32,7 +32,7 @@ toolchain, albeit far from out of date (Webpack 5.52.1 today) has left some room for improvement.

    · 6 min read

    So you're using docker's multi-stage builds and noticed that your build times aren't nearly as quick as you expected?

    - - + + \ No newline at end of file diff --git a/articles/tags/docker.html b/articles/tags/docker.html index 8b4b196b9f3..c47c23ea2ce 100644 --- a/articles/tags/docker.html +++ b/articles/tags/docker.html @@ -22,14 +22,14 @@ - - + +
    Skip to main content
    - - + + \ No newline at end of file diff --git a/articles/tags/elixir.html b/articles/tags/elixir.html index de5a9c2900c..c692df8581c 100644 --- a/articles/tags/elixir.html +++ b/articles/tags/elixir.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ React/Redux app with a Phoenix/Elixir backend.

    - - + + \ No newline at end of file diff --git a/articles/tags/how-to.html b/articles/tags/how-to.html index 9222895aed4..46924bd20c6 100644 --- a/articles/tags/how-to.html +++ b/articles/tags/how-to.html @@ -22,8 +22,8 @@ - - + +
    @@ -67,7 +67,7 @@ a non-profit is organized. I thought I was getting into a technical discussion—I’ve been doing system architecture discussions for years—but what we ended up talking about was how this NGO thinks.

    - - + + \ No newline at end of file diff --git a/articles/tags/javascript.html b/articles/tags/javascript.html index 4d64d151c37..d67f4590b7e 100644 --- a/articles/tags/javascript.html +++ b/articles/tags/javascript.html @@ -22,8 +22,8 @@ - - + +
    @@ -34,7 +34,7 @@ your job writing on OpenFn to the next level. To improve my limited knowledge of JavaScript, I have been taking Codecademy's Introduction to JavaScript Course.

    - - + + \ No newline at end of file diff --git a/articles/tags/jobs.html b/articles/tags/jobs.html index c88fb70121d..6c1f581cdb9 100644 --- a/articles/tags/jobs.html +++ b/articles/tags/jobs.html @@ -22,8 +22,8 @@ - - + +
    @@ -35,7 +35,7 @@ JavaScript, I have been taking Codecademy's Introduction to JavaScript Course.

    · 9 min read

    Jobs are business processes turned into functional-style scripts. What does that mean, how should you approach writing jobs?

    - - + + \ No newline at end of file diff --git a/articles/tags/js.html b/articles/tags/js.html index 275b1ee4b32..8f43a3a1ef9 100644 --- a/articles/tags/js.html +++ b/articles/tags/js.html @@ -22,8 +22,8 @@ - - + +
    @@ -31,7 +31,7 @@ using it continuously for about 6 years - upgrades and all. Our front-end toolchain, albeit far from out of date (Webpack 5.52.1 today) has left some room for improvement.

    - - + + \ No newline at end of file diff --git a/articles/tags/learning.html b/articles/tags/learning.html index 15c09f105af..a1bc6559bad 100644 --- a/articles/tags/learning.html +++ b/articles/tags/learning.html @@ -22,8 +22,8 @@ - - + +
    @@ -34,7 +34,7 @@ your job writing on OpenFn to the next level. To improve my limited knowledge of JavaScript, I have been taking Codecademy's Introduction to JavaScript Course.

    - - + + \ No newline at end of file diff --git a/articles/tags/phoenix.html b/articles/tags/phoenix.html index bd4f63b7bc8..58625e1f66e 100644 --- a/articles/tags/phoenix.html +++ b/articles/tags/phoenix.html @@ -22,8 +22,8 @@ - - + +
    @@ -31,7 +31,7 @@ using it continuously for about 6 years - upgrades and all. Our front-end toolchain, albeit far from out of date (Webpack 5.52.1 today) has left some room for improvement.

    - - + + \ No newline at end of file diff --git a/articles/tags/react.html b/articles/tags/react.html index 0235b706281..39382724f0a 100644 --- a/articles/tags/react.html +++ b/articles/tags/react.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ React/Redux app with a Phoenix/Elixir backend.

    - - + + \ No newline at end of file diff --git a/articles/tags/security.html b/articles/tags/security.html index 486d4e6d2fd..9b399648c90 100644 --- a/articles/tags/security.html +++ b/articles/tags/security.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ Goods achieve just this. You can view and comment on the resource here, or read on to learn why.

    - - + + \ No newline at end of file diff --git a/articles/tags/solution.html b/articles/tags/solution.html index bc336ec1619..b74fedff23f 100644 --- a/articles/tags/solution.html +++ b/articles/tags/solution.html @@ -22,8 +22,8 @@ - - + +
    @@ -36,7 +36,7 @@ supply chain systems, tracking clinical visits, and helping plan vaccine rollouts. We support our partners’ work by lifting the burden of manual data transfers between platforms.

    - - + + \ No newline at end of file diff --git a/articles/tags/testing.html b/articles/tags/testing.html index 3f83f9e4257..294a33e3b38 100644 --- a/articles/tags/testing.html +++ b/articles/tags/testing.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ React/Redux app with a Phoenix/Elixir backend.

    - - + + \ No newline at end of file diff --git a/articles/tags/tips.html b/articles/tags/tips.html index f5840bbde74..7dcd62f3a73 100644 --- a/articles/tags/tips.html +++ b/articles/tags/tips.html @@ -22,8 +22,8 @@ - - + +
    @@ -68,7 +68,7 @@ "idempotence."

    · 3 min read

    Automation can save time, unlock critical resources, and enable scale–but it typically requires investment to set up. Wondering whether you should automate your processes? Ask yourself these 3 questions.

    - - + + \ No newline at end of file diff --git a/articles/tags/tips/page/2.html b/articles/tags/tips/page/2.html index e6969c1d29c..769a5b7e9f6 100644 --- a/articles/tags/tips/page/2.html +++ b/articles/tags/tips/page/2.html @@ -22,8 +22,8 @@ - - + +
    @@ -33,7 +33,7 @@ a non-profit is organized. I thought I was getting into a technical discussion—I’ve been doing system architecture discussions for years—but what we ended up talking about was how this NGO thinks.

    - - + + \ No newline at end of file diff --git a/articles/tags/webpack.html b/articles/tags/webpack.html index f0f07cf4f17..f1212a1c17b 100644 --- a/articles/tags/webpack.html +++ b/articles/tags/webpack.html @@ -22,8 +22,8 @@ - - + +
    @@ -31,7 +31,7 @@ using it continuously for about 6 years - upgrades and all. Our front-end toolchain, albeit far from out of date (Webpack 5.52.1 today) has left some room for improvement.

    - - + + \ No newline at end of file diff --git a/assets/js/3d5c28b0.68be11e4.js b/assets/js/3d5c28b0.c2b7beee.js similarity index 99% rename from assets/js/3d5c28b0.68be11e4.js rename to assets/js/3d5c28b0.c2b7beee.js index 3c39c8b1ed5..72fd3f0a168 100644 --- a/assets/js/3d5c28b0.68be11e4.js +++ b/assets/js/3d5c28b0.c2b7beee.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_openfn_docs=self.webpackChunk_openfn_docs||[]).push([[12306],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>f});var n=a(67294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function r(e){for(var t=1;t=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var l=n.createContext({}),p=function(e){var t=n.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):r(r({},t),e)),a},c=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),d=p(a),u=o,f=d["".concat(l,".").concat(u)]||d[u]||m[u]||i;return a?n.createElement(f,r(r({ref:t},c),{},{components:a})):n.createElement(f,r({ref:t},c))}));function f(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=a.length,r=new Array(i);r[0]=u;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:o,r[1]=s;for(var p=2;p{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>m,frontMatter:()=>i,metadata:()=>s,toc:()=>p});var n=a(87462),o=(a(67294),a(3905));const i={title:"Salesforce"},r=void 0,s={unversionedId:"salesforce",id:"salesforce",title:"Salesforce",description:"App Overview",source:"@site/adaptors/salesforce.md",sourceDirName:".",slug:"/salesforce",permalink:"/adaptors/salesforce",draft:!1,tags:[],version:"current",frontMatter:{title:"Salesforce"},sidebar:"adaptors",previous:{title:"resourcemap developer readme",permalink:"/adaptors/packages/resourcemap-readme"},next:{title:"salesforce@4.2.0",permalink:"/adaptors/packages/salesforce-docs"}},l={},p=[{value:"App Overview",id:"app-overview",level:2},{value:"Data Model",id:"data-model",level:3},{value:"Integration Use Cases",id:"integration-use-cases",level:2},{value:"APIs & Integration Options",id:"apis--integration-options",level:2},{value:"App Setup & Integration Tips",id:"app-setup--integration-tips",level:2},{value:"Field API Names",id:"field-api-names",level:3},{value:"Mapping and Design Considerations",id:"mapping-and-design-considerations",level:3},{value:"External Identifiers",id:"external-identifiers",level:4},{value:"Relationships and Lookup Fields",id:"relationships-and-lookup-fields",level:4},{value:"Picklist fields",id:"picklist-fields",level:4},{value:"Salesforce Credentials",id:"salesforce-credentials",level:3},{value:"Resetting Your Security Token",id:"resetting-your-security-token",level:4},{value:"Common Errors",id:"common-errors",level:2},{value:"OpenFn Adaptors",id:"openfn-adaptors",level:2},{value:"Example Implementations",id:"example-implementations",level:2}],c={toc:p},d="wrapper";function m(e){let{components:t,...i}=e;return(0,o.kt)(d,(0,n.Z)({},c,i,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"app-overview"},"App Overview"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://www.salesforce.com/"},"Salesforce")," is a cloud-based ",(0,o.kt)("strong",{parentName:"p"},"customer\nrelationship management (CRM)")," platform that hosts applications that customers\ncan access online. Beyond its core CRM product, Salesforce offers a customizable\nplatform for configuring relational databases, business automation, web portals,\nreporting tools, and robust applications for supporting a wide range of use\ncases."),(0,o.kt)("h3",{id:"data-model"},"Data Model"),(0,o.kt)("p",null,'At its core, Salesforce is a relational database. It has some out-of-box or\n"standard" data tables and features, but can be easily extended to include\n"custom" metadata configuration and other app features.'),(0,o.kt)("p",null,"Salesforce data is stored in ",(0,o.kt)("strong",{parentName:"p"},"individual records (rows)")," and organized within\n",(0,o.kt)("strong",{parentName:"p"},"objects (tables)"),". Record attributes are captured in ",(0,o.kt)("strong",{parentName:"p"},"fields (columns)"),'.\nThe data model is configurable, but there are some standard objects that are\nprovided. Note that naming conventions for custom and standard metadata may\ndiffer (e.g., all "custom" field names include the suffix ',(0,o.kt)("inlineCode",{parentName:"p"},"__c")," like\n",(0,o.kt)("inlineCode",{parentName:"p"},"CustomField__c"),")."),(0,o.kt)("p",null,"Learn more about how data is structured in Salesforce at the links below:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"How data is organized in Salesforce:\n",(0,o.kt)("a",{parentName:"li",href:"https://help.salesforce.com/s/articleView?id=sf.basics_organize_data.htm&type=5"},"https://help.salesforce.com/s/articleView?id=sf.basics_organize_data.htm&type=5")),(0,o.kt)("li",{parentName:"ul"},"Salesforce objects: ",(0,o.kt)("a",{parentName:"li",href:"https://www.salesforcetutorial.com/salesforce-objects/"},"https://www.salesforcetutorial.com/salesforce-objects/"))),(0,o.kt)("h2",{id:"integration-use-cases"},"Integration Use Cases"),(0,o.kt)("p",null,"Salesforce may be used to manage an organization's programs, operations,\nfundraising, and more. Therefore integrations with 3rd-party apps is a common\nrequirement."),(0,o.kt)("p",null,"Example user stories:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"As a program or M&E manager working in areas with limited internet\nconnectivity, I would like to collect data on a mobile applicaiton that\nsupports offline data capture, but then sync the data collected to Salesforce\nso that I can centrally monitor field activities and analyze data collected to\nevaluate program impact."),(0,o.kt)("li",{parentName:"ul"},"As a fundraiser at an NGO, I would like to see all donor information tracked\nin Salesforce so that I can better monitor fundraising activities, nurture\nrelationships with all funders, and manage campaigns.")),(0,o.kt)("h2",{id:"apis--integration-options"},"APIs & Integration Options"),(0,o.kt)("p",null,"Salesforce has a rich ecosystem of developers and ready-made applications. See\nthe ",(0,o.kt)("a",{parentName:"p",href:"https://appexchange.salesforce.com/"},"Salesforce App Exchange")," for existing\napps and integrations custom-made for Salesforce. If existing applications do\nnot meet your functional or budget requirements, leverage Salesforce's robust\nAPIs to configure a custom integration."),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"APIs:")," Salesforce has a robust set of RESTful APIs that support a wide\nrange of operations. For connecting with these APIs, including the\n",(0,o.kt)("inlineCode",{parentName:"li"},"Bulk API"),", OpenFn has developed a robust API adaptor for quicker integration\nsetup - see\n",(0,o.kt)("a",{parentName:"li",href:"https://github.com/OpenFn/language-salesforce"},(0,o.kt)("inlineCode",{parentName:"a"},"language-salesforce")),"."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Webhook:")," By configuring\n",(0,o.kt)("a",{parentName:"li",href:"https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_om_outboundmessaging_understanding.htm"},(0,o.kt)("inlineCode",{parentName:"a"},"Outbound Messages")),"\nthat can be sent via criteria-based ",(0,o.kt)("inlineCode",{parentName:"li"},"Workflow Rules"),", Salesforce Admins can\nconfigure real-time notifications to be sent to OpenFn (or any endpoint URL)\nwhen a specific event occurs. (E.g., every time a new ",(0,o.kt)("inlineCode",{parentName:"li"},"Contact")," is created,\nsend an Outbound Message to OpenFn to trigger a data sync between that SF\n",(0,o.kt)("inlineCode",{parentName:"li"},"Contact")," record and another data system.)")),(0,o.kt)("h2",{id:"app-setup--integration-tips"},"App Setup & Integration Tips"),(0,o.kt)("p",null,"Salesforce provides robust online documentation (see\n",(0,o.kt)("a",{parentName:"p",href:"https://developer.salesforce.com/docs"},"Developer Docs"),") and tutorials (see\n",(0,o.kt)("a",{parentName:"p",href:"https://trailhead.salesforce.com/en?utm_campaign=13515883882&utm_content=125227478042&utm_medium=paid&utm_source=google_sem"},"Trailheads"),")\nfor learning about the platform. See below for helpful tips for your next\nSalesforce integration project."),(0,o.kt)("h3",{id:"field-api-names"},"Field API Names"),(0,o.kt)("p",null,"Salesforce ",(0,o.kt)("strong",{parentName:"p"},"field API names")," (unique names for each piece of metadata - e.g.,\n",(0,o.kt)("inlineCode",{parentName:"p"},"PatientID__c"),") should be referenced in OpenFn integrations, not ",(0,o.kt)("strong",{parentName:"p"},"field\nlabels")," (business-friendly label that the end user sees - e.g., ",(0,o.kt)("inlineCode",{parentName:"p"},"Patient ID"),")\n",(0,o.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/80456839/128650593-343090da-7f12-468a-aa51-1f87f1cf9f34.png",alt:"image"}),"."),(0,o.kt)("p",null,"To view the Salesforce API field names, navigate to the Salesforce backend. Via\nthe web app, select ",(0,o.kt)("inlineCode",{parentName:"p"},"Setup")," from the top naviagation menu to browse the\nSalesforce backend settings, metadata configuration, object and field names,\netc."),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"In the ",(0,o.kt)("inlineCode",{parentName:"li"},"Classic")," view, search for ",(0,o.kt)("inlineCode",{parentName:"li"},"Object")," in the left-hand ",(0,o.kt)("inlineCode",{parentName:"li"},"Setup")," search box\nwithout hitting Enter. From the quick results, select ",(0,o.kt)("inlineCode",{parentName:"li"},"Create -> Objects"),".\nThis takes you to all the custom objects. Select an object and you'll see all\nthe fields and relationships on the object."),(0,o.kt)("li",{parentName:"ul"},"You can also easily view Salesforce API names via the front-end UI by\ndownloading the Chrome extension\n",(0,o.kt)("a",{parentName:"li",href:"https://chrome.google.com/webstore/detail/salesforce-show-api-name/dcfecmnffjopafbbbaepgopfcphnoham"},"Salesforce Show API Name"),".\nFollow the instructions for adding it to Chrome and use it to display API\nnames without going to Setup.")),(0,o.kt)("h3",{id:"mapping-and-design-considerations"},"Mapping and Design Considerations"),(0,o.kt)("h4",{id:"external-identifiers"},"External Identifiers"),(0,o.kt)("p",null,"Individual fields can be configured as ",(0,o.kt)("inlineCode",{parentName:"p"},"external identifiers")," to search for a\nrecord via a the API/an external app and to help prevent duplicate records from\nbeing created in Salesforce. To enable this setting on an individual field,\nensure ",(0,o.kt)("inlineCode",{parentName:"p"},"External ID")," is checked on the field settings. Learn more about external\nidentifiers in Salesforce at\n",(0,o.kt)("a",{parentName:"p",href:"https://www.infallibletechie.com/2014/11/what-is-external-id-in-salesforce.html"},"https://www.infallibletechie.com/2014/11/what-is-external-id-in-salesforce.html"),"\n",(0,o.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/80456839/128650680-e10fa395-bddb-45bd-bd6c-3a9dda8998f8.png",alt:"image"})),(0,o.kt)("h4",{id:"relationships-and-lookup-fields"},"Relationships and Lookup Fields"),(0,o.kt)("p",null,"When mapping ",(0,o.kt)("inlineCode",{parentName:"p"},"lookup"),' fields (which are similar to database "foreign keys") in\nSalesforce, use the external identifier of the related record. Examples:'),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Say there is a ",(0,o.kt)("inlineCode",{parentName:"li"},"Survey__c")," object in Salesforce with a lookup field called\n",(0,o.kt)("inlineCode",{parentName:"li"},"Respondent__c")," that looks up to the ",(0,o.kt)("inlineCode",{parentName:"li"},"Person__c"),"object with external ID\n",(0,o.kt)("inlineCode",{parentName:"li"},"PersonID__c"),". To populate the ",(0,o.kt)("inlineCode",{parentName:"li"},"Survey__c.Respondent__c")," lookup field, our\nmapping will look as follows:\n",(0,o.kt)("inlineCode",{parentName:"li"},"Respondent__r.PersonID__c: {personExtIdFromSourceData}"),"."),(0,o.kt)("li",{parentName:"ul"},"If the metadata are standard objects or fields, then you do not need the ",(0,o.kt)("inlineCode",{parentName:"li"},"__r"),"\nto indicate there is a relationship. Example mapping:\n",(0,o.kt)("inlineCode",{parentName:"li"},"Account.CustomAccountID__c: {AcctIdFromSourceData}")),(0,o.kt)("li",{parentName:"ul"},"If using the OpenFn adaptor, you may also choose to leverage the\n",(0,o.kt)("inlineCode",{parentName:"li"},"relationship(...)")," helper function in your job. Example mapping:\n",(0,o.kt)("inlineCode",{parentName:"li"},"relationship('Respondent__r', 'PersonID__c', dataValue('sourceField'))"))),(0,o.kt)("h4",{id:"picklist-fields"},"Picklist fields"),(0,o.kt)("p",null,"As you design your integration and map data elements between systems, make sure\nthat option values for ",(0,o.kt)("strong",{parentName:"p"},"picklist")," fields also match the data from your\nconnected application. If your other app's field value options do not match\nSalesforce picklist values, you should consider (1) transforming or re-labeling\nthe values received from the source system before sending to Salesforce, or (2)\nadd new ",(0,o.kt)("inlineCode",{parentName:"p"},"picklist values")," to Salesforce to align the metadata between systems."),(0,o.kt)("p",null,(0,o.kt)("em",{parentName:"p"},"Example:")," When mapping a field that specifies ",(0,o.kt)("inlineCode",{parentName:"p"},"sex"),", the source system could\nhave the options ",(0,o.kt)("inlineCode",{parentName:"p"},'"male", "female", "other"')," and the destination system has the\noptions ",(0,o.kt)("inlineCode",{parentName:"p"},'"M", "F", "Other"'),". The mappings would need to specify how to align the\nvalues (e.g., ",(0,o.kt)("inlineCode",{parentName:"p"},"M: male, F: female"),")."),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Multi-Select Picklist fields"),": If mapping to a Salesforce\n",(0,o.kt)("inlineCode",{parentName:"p"},"multi-select picklist field"),", note that multiple values should be formatted as\nsemicolon-separated strings (e.g.,\n",(0,o.kt)("inlineCode",{parentName:"p"},"Services__c: 'Food;Counselling;Medical_Aid"),")."),(0,o.kt)("h3",{id:"salesforce-credentials"},"Salesforce Credentials"),(0,o.kt)("p",null,"Salesforce requires a username, password, login URL, and security token to\nauthenticate via a user. ",(0,o.kt)("strong",{parentName:"p"},"Note every time you reset the user's password, the\nsecurity token will reset and you need to update the Credential record used in\nyour OpenFn job.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Credentials Menu",src:a(60958).Z,width:"932",height:"610"})),(0,o.kt)("p",null,'A "Salesforce" Credential record should include:'),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Username"),(0,o.kt)("li",{parentName:"ul"},"Password"),(0,o.kt)("li",{parentName:"ul"},'Security Token (Salesforce will email you this when you set your password. If\nyou cannot find "security token" in your inbox, see below for how to reset\nit.)'),(0,o.kt)("li",{parentName:"ul"},"Login URL: If a production system, use ",(0,o.kt)("inlineCode",{parentName:"li"},"https://login.salesforce.com/")," (unless\nyou have a custom domain ",(0,o.kt)("inlineCode",{parentName:"li"},"https://domainName.salesforce.com/"),"). For sandbox\nenvironments, ",(0,o.kt)("inlineCode",{parentName:"li"},"https://test.salesforce.com/"),".")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Salesforce Cred",src:a(32372).Z,width:"1038",height:"974"})),(0,o.kt)("p",null,"For use in the CLI, see an example\n",(0,o.kt)("a",{parentName:"p",href:"/adaptors/packages/salesforce-configuration-schema"},"salesforce configuration")),(0,o.kt)("h4",{id:"resetting-your-security-token"},"Resetting Your Security Token"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://help.salesforce.com/articleView?id=sf.user_security_token.htm&type=5"},"See instructions here"),"\nor below screenshot. Once reset, you will receive an email from Salesforce.\nPlease save this ",(0,o.kt)("inlineCode",{parentName:"p"},"security token")," in your OpenFn ",(0,o.kt)("inlineCode",{parentName:"p"},"Credential"),"."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Token Reset",src:a(14764).Z,width:"1024",height:"470"})),(0,o.kt)("h2",{id:"common-errors"},"Common Errors"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("inlineCode",{parentName:"li"},"INVALID_FIELD: Foreign key external id not found"),": This error message\nusually means that the parent record for an object has not been synced. For\nexample, if one tries uploading participants for an event that has not yet\nbeen synced."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("inlineCode",{parentName:"li"},"TypeError [Error]"),":This error usually mean that the job received a part of\nthe message that it wasn't expecting, or there is a syntax error in your job\ncode. It means that the job needs to be updated to know how to handle the\nmessage."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("inlineCode",{parentName:"li"},"NOT_FOUND: Provided external ID field does not exist or is not accessible"),":\nThis error usually means that ",(0,o.kt)("inlineCode",{parentName:"li"},"External ID")," has not been checked in the field\nsettings in Salesforce. See Mapping and Design Considerations section above."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("inlineCode",{parentName:"li"},"MULTIPLE_CHOICES: Multiple records found"),": This error means that Salesforce\nhas found multiple records with the ",(0,o.kt)("inlineCode",{parentName:"li"},"External ID")," that was specified."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("inlineCode",{parentName:"li"},"REQUIRED_FIELD_MISSING: Required fields are missing"),": This error usually\nmeans that a field which is required on the object being updated has not been\nset."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("inlineCode",{parentName:"li"},"JSON_PARSER_ERROR"),": This error usually means there is an error with how you\nare mappings and assigning fields. For example, this error would be thrown if\nan empty string ' ' was being mapped to a date value."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("inlineCode",{parentName:"li"},"RangeError [Error]: Invalid time value"),": This error is telling us that the\ndatetime in the source data is in an unexpected format and not handled by the\njob. You may need to either manually clean the source data, or update the\ncleaning rules in the job to automate this cleaning step."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("inlineCode",{parentName:"li"},"INVALID_FIELD_FOR_INSERT_UPDATE: Unable to create/update fields"),": This might\noccur when trying to update a Relationship field, for example a Person\nrelated to a Person's Visit. The field setting ",(0,o.kt)("inlineCode",{parentName:"li"},"Allow reparenting")," on the\nMaster-Detail relationship field may need to be turned on ."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("inlineCode",{parentName:"li"},"UNABLE_TO_LOCK_ROW: unable to obtain exclusive access to this record"),": This error occurs when either 1) the OpenFn job tries to update the same record more than once at the same time or 2) the OpenFn job tries to updates a Salesforce record at the same time as someone else in the Salesforce system (this includes any automation that may be running in parallel to the OpenFn jobs). ")),(0,o.kt)("h2",{id:"openfn-adaptors"},"OpenFn Adaptors"),(0,o.kt)("p",null,"OpenFn has a robust\n",(0,o.kt)("a",{parentName:"p",href:"https://github.com/OpenFn/language-salesforce"},(0,o.kt)("inlineCode",{parentName:"a"},"language-salesforce"))," adaptor\nwith a range of helper functions for common CRUD & upsert operations, and for\naccessing the Salesforce bulk API."),(0,o.kt)("h2",{id:"example-implementations"},"Example Implementations"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"MiracleFeet (CommCare-to-Salesforce sync):\n",(0,o.kt)("a",{parentName:"li",href:"https://github.com/OpenFn/miracle-feet"},"https://github.com/OpenFn/miracle-feet")),(0,o.kt)("li",{parentName:"ul"},"Lwala (CommCare-Salesforce 2-way sync): ",(0,o.kt)("a",{parentName:"li",href:"https://github.com/OpenFn/lwala"},"https://github.com/OpenFn/lwala")),(0,o.kt)("li",{parentName:"ul"},"GRS CommCare - Salesforce sync: ",(0,o.kt)("a",{parentName:"li",href:"https://github.com/OpenFn/grassroot-soccer"},"https://github.com/OpenFn/grassroot-soccer"))))}m.isMDXComponent=!0},60958:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/credentials-34df63a0847b92ca428f9e2e8c96b5be.png"},32372:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/salesforce-cred-894328ae9133e9f75346efcfdf350f7f.png"},14764:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/security-token-823f24f2a4ff6deebc203a931f6104c4.png"}}]); \ No newline at end of file +"use strict";(self.webpackChunk_openfn_docs=self.webpackChunk_openfn_docs||[]).push([[12306],{3905:(e,t,a)=>{a.d(t,{Zo:()=>c,kt:()=>f});var n=a(67294);function o(e,t,a){return t in e?Object.defineProperty(e,t,{value:a,enumerable:!0,configurable:!0,writable:!0}):e[t]=a,e}function i(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),a.push.apply(a,n)}return a}function r(e){for(var t=1;t=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var l=n.createContext({}),p=function(e){var t=n.useContext(l),a=t;return e&&(a="function"==typeof e?e(t):r(r({},t),e)),a},c=function(e){var t=p(e.components);return n.createElement(l.Provider,{value:t},e.children)},d="mdxType",m={inlineCode:"code",wrapper:function(e){var t=e.children;return n.createElement(n.Fragment,{},t)}},u=n.forwardRef((function(e,t){var a=e.components,o=e.mdxType,i=e.originalType,l=e.parentName,c=s(e,["components","mdxType","originalType","parentName"]),d=p(a),u=o,f=d["".concat(l,".").concat(u)]||d[u]||m[u]||i;return a?n.createElement(f,r(r({ref:t},c),{},{components:a})):n.createElement(f,r({ref:t},c))}));function f(e,t){var a=arguments,o=t&&t.mdxType;if("string"==typeof e||o){var i=a.length,r=new Array(i);r[0]=u;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[d]="string"==typeof e?e:o,r[1]=s;for(var p=2;p{a.r(t),a.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>m,frontMatter:()=>i,metadata:()=>s,toc:()=>p});var n=a(87462),o=(a(67294),a(3905));const i={title:"Salesforce"},r=void 0,s={unversionedId:"salesforce",id:"salesforce",title:"Salesforce",description:"App Overview",source:"@site/adaptors/salesforce.md",sourceDirName:".",slug:"/salesforce",permalink:"/adaptors/salesforce",draft:!1,tags:[],version:"current",frontMatter:{title:"Salesforce"},sidebar:"adaptors",previous:{title:"resourcemap developer readme",permalink:"/adaptors/packages/resourcemap-readme"},next:{title:"salesforce@4.2.1",permalink:"/adaptors/packages/salesforce-docs"}},l={},p=[{value:"App Overview",id:"app-overview",level:2},{value:"Data Model",id:"data-model",level:3},{value:"Integration Use Cases",id:"integration-use-cases",level:2},{value:"APIs & Integration Options",id:"apis--integration-options",level:2},{value:"App Setup & Integration Tips",id:"app-setup--integration-tips",level:2},{value:"Field API Names",id:"field-api-names",level:3},{value:"Mapping and Design Considerations",id:"mapping-and-design-considerations",level:3},{value:"External Identifiers",id:"external-identifiers",level:4},{value:"Relationships and Lookup Fields",id:"relationships-and-lookup-fields",level:4},{value:"Picklist fields",id:"picklist-fields",level:4},{value:"Salesforce Credentials",id:"salesforce-credentials",level:3},{value:"Resetting Your Security Token",id:"resetting-your-security-token",level:4},{value:"Common Errors",id:"common-errors",level:2},{value:"OpenFn Adaptors",id:"openfn-adaptors",level:2},{value:"Example Implementations",id:"example-implementations",level:2}],c={toc:p},d="wrapper";function m(e){let{components:t,...i}=e;return(0,o.kt)(d,(0,n.Z)({},c,i,{components:t,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"app-overview"},"App Overview"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://www.salesforce.com/"},"Salesforce")," is a cloud-based ",(0,o.kt)("strong",{parentName:"p"},"customer\nrelationship management (CRM)")," platform that hosts applications that customers\ncan access online. Beyond its core CRM product, Salesforce offers a customizable\nplatform for configuring relational databases, business automation, web portals,\nreporting tools, and robust applications for supporting a wide range of use\ncases."),(0,o.kt)("h3",{id:"data-model"},"Data Model"),(0,o.kt)("p",null,'At its core, Salesforce is a relational database. It has some out-of-box or\n"standard" data tables and features, but can be easily extended to include\n"custom" metadata configuration and other app features.'),(0,o.kt)("p",null,"Salesforce data is stored in ",(0,o.kt)("strong",{parentName:"p"},"individual records (rows)")," and organized within\n",(0,o.kt)("strong",{parentName:"p"},"objects (tables)"),". Record attributes are captured in ",(0,o.kt)("strong",{parentName:"p"},"fields (columns)"),'.\nThe data model is configurable, but there are some standard objects that are\nprovided. Note that naming conventions for custom and standard metadata may\ndiffer (e.g., all "custom" field names include the suffix ',(0,o.kt)("inlineCode",{parentName:"p"},"__c")," like\n",(0,o.kt)("inlineCode",{parentName:"p"},"CustomField__c"),")."),(0,o.kt)("p",null,"Learn more about how data is structured in Salesforce at the links below:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"How data is organized in Salesforce:\n",(0,o.kt)("a",{parentName:"li",href:"https://help.salesforce.com/s/articleView?id=sf.basics_organize_data.htm&type=5"},"https://help.salesforce.com/s/articleView?id=sf.basics_organize_data.htm&type=5")),(0,o.kt)("li",{parentName:"ul"},"Salesforce objects: ",(0,o.kt)("a",{parentName:"li",href:"https://www.salesforcetutorial.com/salesforce-objects/"},"https://www.salesforcetutorial.com/salesforce-objects/"))),(0,o.kt)("h2",{id:"integration-use-cases"},"Integration Use Cases"),(0,o.kt)("p",null,"Salesforce may be used to manage an organization's programs, operations,\nfundraising, and more. Therefore integrations with 3rd-party apps is a common\nrequirement."),(0,o.kt)("p",null,"Example user stories:"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"As a program or M&E manager working in areas with limited internet\nconnectivity, I would like to collect data on a mobile applicaiton that\nsupports offline data capture, but then sync the data collected to Salesforce\nso that I can centrally monitor field activities and analyze data collected to\nevaluate program impact."),(0,o.kt)("li",{parentName:"ul"},"As a fundraiser at an NGO, I would like to see all donor information tracked\nin Salesforce so that I can better monitor fundraising activities, nurture\nrelationships with all funders, and manage campaigns.")),(0,o.kt)("h2",{id:"apis--integration-options"},"APIs & Integration Options"),(0,o.kt)("p",null,"Salesforce has a rich ecosystem of developers and ready-made applications. See\nthe ",(0,o.kt)("a",{parentName:"p",href:"https://appexchange.salesforce.com/"},"Salesforce App Exchange")," for existing\napps and integrations custom-made for Salesforce. If existing applications do\nnot meet your functional or budget requirements, leverage Salesforce's robust\nAPIs to configure a custom integration."),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"APIs:")," Salesforce has a robust set of RESTful APIs that support a wide\nrange of operations. For connecting with these APIs, including the\n",(0,o.kt)("inlineCode",{parentName:"li"},"Bulk API"),", OpenFn has developed a robust API adaptor for quicker integration\nsetup - see\n",(0,o.kt)("a",{parentName:"li",href:"https://github.com/OpenFn/language-salesforce"},(0,o.kt)("inlineCode",{parentName:"a"},"language-salesforce")),"."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("strong",{parentName:"li"},"Webhook:")," By configuring\n",(0,o.kt)("a",{parentName:"li",href:"https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_om_outboundmessaging_understanding.htm"},(0,o.kt)("inlineCode",{parentName:"a"},"Outbound Messages")),"\nthat can be sent via criteria-based ",(0,o.kt)("inlineCode",{parentName:"li"},"Workflow Rules"),", Salesforce Admins can\nconfigure real-time notifications to be sent to OpenFn (or any endpoint URL)\nwhen a specific event occurs. (E.g., every time a new ",(0,o.kt)("inlineCode",{parentName:"li"},"Contact")," is created,\nsend an Outbound Message to OpenFn to trigger a data sync between that SF\n",(0,o.kt)("inlineCode",{parentName:"li"},"Contact")," record and another data system.)")),(0,o.kt)("h2",{id:"app-setup--integration-tips"},"App Setup & Integration Tips"),(0,o.kt)("p",null,"Salesforce provides robust online documentation (see\n",(0,o.kt)("a",{parentName:"p",href:"https://developer.salesforce.com/docs"},"Developer Docs"),") and tutorials (see\n",(0,o.kt)("a",{parentName:"p",href:"https://trailhead.salesforce.com/en?utm_campaign=13515883882&utm_content=125227478042&utm_medium=paid&utm_source=google_sem"},"Trailheads"),")\nfor learning about the platform. See below for helpful tips for your next\nSalesforce integration project."),(0,o.kt)("h3",{id:"field-api-names"},"Field API Names"),(0,o.kt)("p",null,"Salesforce ",(0,o.kt)("strong",{parentName:"p"},"field API names")," (unique names for each piece of metadata - e.g.,\n",(0,o.kt)("inlineCode",{parentName:"p"},"PatientID__c"),") should be referenced in OpenFn integrations, not ",(0,o.kt)("strong",{parentName:"p"},"field\nlabels")," (business-friendly label that the end user sees - e.g., ",(0,o.kt)("inlineCode",{parentName:"p"},"Patient ID"),")\n",(0,o.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/80456839/128650593-343090da-7f12-468a-aa51-1f87f1cf9f34.png",alt:"image"}),"."),(0,o.kt)("p",null,"To view the Salesforce API field names, navigate to the Salesforce backend. Via\nthe web app, select ",(0,o.kt)("inlineCode",{parentName:"p"},"Setup")," from the top naviagation menu to browse the\nSalesforce backend settings, metadata configuration, object and field names,\netc."),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"In the ",(0,o.kt)("inlineCode",{parentName:"li"},"Classic")," view, search for ",(0,o.kt)("inlineCode",{parentName:"li"},"Object")," in the left-hand ",(0,o.kt)("inlineCode",{parentName:"li"},"Setup")," search box\nwithout hitting Enter. From the quick results, select ",(0,o.kt)("inlineCode",{parentName:"li"},"Create -> Objects"),".\nThis takes you to all the custom objects. Select an object and you'll see all\nthe fields and relationships on the object."),(0,o.kt)("li",{parentName:"ul"},"You can also easily view Salesforce API names via the front-end UI by\ndownloading the Chrome extension\n",(0,o.kt)("a",{parentName:"li",href:"https://chrome.google.com/webstore/detail/salesforce-show-api-name/dcfecmnffjopafbbbaepgopfcphnoham"},"Salesforce Show API Name"),".\nFollow the instructions for adding it to Chrome and use it to display API\nnames without going to Setup.")),(0,o.kt)("h3",{id:"mapping-and-design-considerations"},"Mapping and Design Considerations"),(0,o.kt)("h4",{id:"external-identifiers"},"External Identifiers"),(0,o.kt)("p",null,"Individual fields can be configured as ",(0,o.kt)("inlineCode",{parentName:"p"},"external identifiers")," to search for a\nrecord via a the API/an external app and to help prevent duplicate records from\nbeing created in Salesforce. To enable this setting on an individual field,\nensure ",(0,o.kt)("inlineCode",{parentName:"p"},"External ID")," is checked on the field settings. Learn more about external\nidentifiers in Salesforce at\n",(0,o.kt)("a",{parentName:"p",href:"https://www.infallibletechie.com/2014/11/what-is-external-id-in-salesforce.html"},"https://www.infallibletechie.com/2014/11/what-is-external-id-in-salesforce.html"),"\n",(0,o.kt)("img",{parentName:"p",src:"https://user-images.githubusercontent.com/80456839/128650680-e10fa395-bddb-45bd-bd6c-3a9dda8998f8.png",alt:"image"})),(0,o.kt)("h4",{id:"relationships-and-lookup-fields"},"Relationships and Lookup Fields"),(0,o.kt)("p",null,"When mapping ",(0,o.kt)("inlineCode",{parentName:"p"},"lookup"),' fields (which are similar to database "foreign keys") in\nSalesforce, use the external identifier of the related record. Examples:'),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Say there is a ",(0,o.kt)("inlineCode",{parentName:"li"},"Survey__c")," object in Salesforce with a lookup field called\n",(0,o.kt)("inlineCode",{parentName:"li"},"Respondent__c")," that looks up to the ",(0,o.kt)("inlineCode",{parentName:"li"},"Person__c"),"object with external ID\n",(0,o.kt)("inlineCode",{parentName:"li"},"PersonID__c"),". To populate the ",(0,o.kt)("inlineCode",{parentName:"li"},"Survey__c.Respondent__c")," lookup field, our\nmapping will look as follows:\n",(0,o.kt)("inlineCode",{parentName:"li"},"Respondent__r.PersonID__c: {personExtIdFromSourceData}"),"."),(0,o.kt)("li",{parentName:"ul"},"If the metadata are standard objects or fields, then you do not need the ",(0,o.kt)("inlineCode",{parentName:"li"},"__r"),"\nto indicate there is a relationship. Example mapping:\n",(0,o.kt)("inlineCode",{parentName:"li"},"Account.CustomAccountID__c: {AcctIdFromSourceData}")),(0,o.kt)("li",{parentName:"ul"},"If using the OpenFn adaptor, you may also choose to leverage the\n",(0,o.kt)("inlineCode",{parentName:"li"},"relationship(...)")," helper function in your job. Example mapping:\n",(0,o.kt)("inlineCode",{parentName:"li"},"relationship('Respondent__r', 'PersonID__c', dataValue('sourceField'))"))),(0,o.kt)("h4",{id:"picklist-fields"},"Picklist fields"),(0,o.kt)("p",null,"As you design your integration and map data elements between systems, make sure\nthat option values for ",(0,o.kt)("strong",{parentName:"p"},"picklist")," fields also match the data from your\nconnected application. If your other app's field value options do not match\nSalesforce picklist values, you should consider (1) transforming or re-labeling\nthe values received from the source system before sending to Salesforce, or (2)\nadd new ",(0,o.kt)("inlineCode",{parentName:"p"},"picklist values")," to Salesforce to align the metadata between systems."),(0,o.kt)("p",null,(0,o.kt)("em",{parentName:"p"},"Example:")," When mapping a field that specifies ",(0,o.kt)("inlineCode",{parentName:"p"},"sex"),", the source system could\nhave the options ",(0,o.kt)("inlineCode",{parentName:"p"},'"male", "female", "other"')," and the destination system has the\noptions ",(0,o.kt)("inlineCode",{parentName:"p"},'"M", "F", "Other"'),". The mappings would need to specify how to align the\nvalues (e.g., ",(0,o.kt)("inlineCode",{parentName:"p"},"M: male, F: female"),")."),(0,o.kt)("p",null,(0,o.kt)("strong",{parentName:"p"},"Multi-Select Picklist fields"),": If mapping to a Salesforce\n",(0,o.kt)("inlineCode",{parentName:"p"},"multi-select picklist field"),", note that multiple values should be formatted as\nsemicolon-separated strings (e.g.,\n",(0,o.kt)("inlineCode",{parentName:"p"},"Services__c: 'Food;Counselling;Medical_Aid"),")."),(0,o.kt)("h3",{id:"salesforce-credentials"},"Salesforce Credentials"),(0,o.kt)("p",null,"Salesforce requires a username, password, login URL, and security token to\nauthenticate via a user. ",(0,o.kt)("strong",{parentName:"p"},"Note every time you reset the user's password, the\nsecurity token will reset and you need to update the Credential record used in\nyour OpenFn job.")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Credentials Menu",src:a(60958).Z,width:"932",height:"610"})),(0,o.kt)("p",null,'A "Salesforce" Credential record should include:'),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"Username"),(0,o.kt)("li",{parentName:"ul"},"Password"),(0,o.kt)("li",{parentName:"ul"},'Security Token (Salesforce will email you this when you set your password. If\nyou cannot find "security token" in your inbox, see below for how to reset\nit.)'),(0,o.kt)("li",{parentName:"ul"},"Login URL: If a production system, use ",(0,o.kt)("inlineCode",{parentName:"li"},"https://login.salesforce.com/")," (unless\nyou have a custom domain ",(0,o.kt)("inlineCode",{parentName:"li"},"https://domainName.salesforce.com/"),"). For sandbox\nenvironments, ",(0,o.kt)("inlineCode",{parentName:"li"},"https://test.salesforce.com/"),".")),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Salesforce Cred",src:a(32372).Z,width:"1038",height:"974"})),(0,o.kt)("p",null,"For use in the CLI, see an example\n",(0,o.kt)("a",{parentName:"p",href:"/adaptors/packages/salesforce-configuration-schema"},"salesforce configuration")),(0,o.kt)("h4",{id:"resetting-your-security-token"},"Resetting Your Security Token"),(0,o.kt)("p",null,(0,o.kt)("a",{parentName:"p",href:"https://help.salesforce.com/articleView?id=sf.user_security_token.htm&type=5"},"See instructions here"),"\nor below screenshot. Once reset, you will receive an email from Salesforce.\nPlease save this ",(0,o.kt)("inlineCode",{parentName:"p"},"security token")," in your OpenFn ",(0,o.kt)("inlineCode",{parentName:"p"},"Credential"),"."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Token Reset",src:a(14764).Z,width:"1024",height:"470"})),(0,o.kt)("h2",{id:"common-errors"},"Common Errors"),(0,o.kt)("ol",null,(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("inlineCode",{parentName:"li"},"INVALID_FIELD: Foreign key external id not found"),": This error message\nusually means that the parent record for an object has not been synced. For\nexample, if one tries uploading participants for an event that has not yet\nbeen synced."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("inlineCode",{parentName:"li"},"TypeError [Error]"),":This error usually mean that the job received a part of\nthe message that it wasn't expecting, or there is a syntax error in your job\ncode. It means that the job needs to be updated to know how to handle the\nmessage."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("inlineCode",{parentName:"li"},"NOT_FOUND: Provided external ID field does not exist or is not accessible"),":\nThis error usually means that ",(0,o.kt)("inlineCode",{parentName:"li"},"External ID")," has not been checked in the field\nsettings in Salesforce. See Mapping and Design Considerations section above."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("inlineCode",{parentName:"li"},"MULTIPLE_CHOICES: Multiple records found"),": This error means that Salesforce\nhas found multiple records with the ",(0,o.kt)("inlineCode",{parentName:"li"},"External ID")," that was specified."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("inlineCode",{parentName:"li"},"REQUIRED_FIELD_MISSING: Required fields are missing"),": This error usually\nmeans that a field which is required on the object being updated has not been\nset."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("inlineCode",{parentName:"li"},"JSON_PARSER_ERROR"),": This error usually means there is an error with how you\nare mappings and assigning fields. For example, this error would be thrown if\nan empty string ' ' was being mapped to a date value."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("inlineCode",{parentName:"li"},"RangeError [Error]: Invalid time value"),": This error is telling us that the\ndatetime in the source data is in an unexpected format and not handled by the\njob. You may need to either manually clean the source data, or update the\ncleaning rules in the job to automate this cleaning step."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("inlineCode",{parentName:"li"},"INVALID_FIELD_FOR_INSERT_UPDATE: Unable to create/update fields"),": This might\noccur when trying to update a Relationship field, for example a Person\nrelated to a Person's Visit. The field setting ",(0,o.kt)("inlineCode",{parentName:"li"},"Allow reparenting")," on the\nMaster-Detail relationship field may need to be turned on ."),(0,o.kt)("li",{parentName:"ol"},(0,o.kt)("inlineCode",{parentName:"li"},"UNABLE_TO_LOCK_ROW: unable to obtain exclusive access to this record"),": This error occurs when either 1) the OpenFn job tries to update the same record more than once at the same time or 2) the OpenFn job tries to updates a Salesforce record at the same time as someone else in the Salesforce system (this includes any automation that may be running in parallel to the OpenFn jobs). ")),(0,o.kt)("h2",{id:"openfn-adaptors"},"OpenFn Adaptors"),(0,o.kt)("p",null,"OpenFn has a robust\n",(0,o.kt)("a",{parentName:"p",href:"https://github.com/OpenFn/language-salesforce"},(0,o.kt)("inlineCode",{parentName:"a"},"language-salesforce"))," adaptor\nwith a range of helper functions for common CRUD & upsert operations, and for\naccessing the Salesforce bulk API."),(0,o.kt)("h2",{id:"example-implementations"},"Example Implementations"),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},"MiracleFeet (CommCare-to-Salesforce sync):\n",(0,o.kt)("a",{parentName:"li",href:"https://github.com/OpenFn/miracle-feet"},"https://github.com/OpenFn/miracle-feet")),(0,o.kt)("li",{parentName:"ul"},"Lwala (CommCare-Salesforce 2-way sync): ",(0,o.kt)("a",{parentName:"li",href:"https://github.com/OpenFn/lwala"},"https://github.com/OpenFn/lwala")),(0,o.kt)("li",{parentName:"ul"},"GRS CommCare - Salesforce sync: ",(0,o.kt)("a",{parentName:"li",href:"https://github.com/OpenFn/grassroot-soccer"},"https://github.com/OpenFn/grassroot-soccer"))))}m.isMDXComponent=!0},60958:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/credentials-34df63a0847b92ca428f9e2e8c96b5be.png"},32372:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/salesforce-cred-894328ae9133e9f75346efcfdf350f7f.png"},14764:(e,t,a)=>{a.d(t,{Z:()=>n});const n=a.p+"assets/images/security-token-823f24f2a4ff6deebc203a931f6104c4.png"}}]); \ No newline at end of file diff --git a/assets/js/45b3f811.659015b3.js b/assets/js/45b3f811.96a4b952.js similarity index 99% rename from assets/js/45b3f811.659015b3.js rename to assets/js/45b3f811.96a4b952.js index 150290d476a..658f602ad4d 100644 --- a/assets/js/45b3f811.659015b3.js +++ b/assets/js/45b3f811.96a4b952.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_openfn_docs=self.webpackChunk_openfn_docs||[]).push([[17238],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>d});var r=t(67294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function s(e){for(var n=1;n=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=r.createContext({}),l=function(e){var n=r.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},p=function(e){var n=l(e.components);return r.createElement(c.Provider,{value:n},e.children)},u="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},m=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),u=l(t),m=a,d=u["".concat(c,".").concat(m)]||u[m]||f[m]||o;return t?r.createElement(d,s(s({ref:n},p),{},{components:t})):r.createElement(d,s({ref:n},p))}));function d(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,s=new Array(o);s[0]=m;var i={};for(var c in n)hasOwnProperty.call(n,c)&&(i[c]=n[c]);i.originalType=e,i[u]="string"==typeof e?e:a,s[1]=i;for(var l=2;l{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>f,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var r=t(87462),a=(t(67294),t(3905));const o={title:"Config for salesforce",id:"salesforce-configuration-schema",keywords:["adaptor","configuration-schema","salesforce"]},s=void 0,i={unversionedId:"packages/salesforce-configuration-schema",id:"packages/salesforce-configuration-schema",title:"Config for salesforce",description:"Jobs that use the salesforce adaptor may require authentication. A",source:"@site/adaptors/packages/salesforce-configuration-schema.md",sourceDirName:"packages",slug:"/packages/salesforce-configuration-schema",permalink:"/adaptors/packages/salesforce-configuration-schema",draft:!1,tags:[],version:"current",frontMatter:{title:"Config for salesforce",id:"salesforce-configuration-schema",keywords:["adaptor","configuration-schema","salesforce"]},sidebar:"adaptors",previous:{title:"salesforce@4.2.0",permalink:"/adaptors/packages/salesforce-docs"},next:{title:"\ud83d\udcdc Pre-processing data",permalink:"/adaptors/library/jobs/auto/alter-state-before-operations"}},c={},l=[{value:"Sample Configuration",id:"sample-configuration",level:2},{value:"Full Schema",id:"full-schema",level:2}],p={toc:l},u="wrapper";function f(e){let{components:n,...t}=e;return(0,a.kt)(u,(0,r.Z)({},p,t,{components:n,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Jobs that use the ",(0,a.kt)("inlineCode",{parentName:"p"},"salesforce"),' adaptor may require authentication. A\n"credential" for the ',(0,a.kt)("inlineCode",{parentName:"p"},"salesforce")," adaptor will follow the schema below. When\nusing the CLI, you can set up your own ",(0,a.kt)("inlineCode",{parentName:"p"},"state.configuration")," by using the\nsample below."),(0,a.kt)("h2",{id:"sample-configuration"},"Sample Configuration"),(0,a.kt)("p",null," Paste this into the ",(0,a.kt)("inlineCode",{parentName:"p"},"configuration")," key of your ",(0,a.kt)("inlineCode",{parentName:"p"},"state.json")," file and\nmodify the values to run jobs locally."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-json"},'{\n "loginUrl": "https://somesalesforcelogin.url",\n "username": "someusername",\n "password": "@super(!)SecretPass",\n "securityToken": "salesforcesecuritytoken",\n "apiVersion": "59.0"\n}\n')),(0,a.kt)("h2",{id:"full-schema"},"Full Schema"),(0,a.kt)("p",null," The full configuration schema describes each attribute of the credential and\nnotes those that are required."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-json"},'{\n "$schema": "http://json-schema.org/draft-07/schema#",\n "properties": {\n "loginUrl": {\n "title": "Login URL",\n "type": "string",\n "description": "The Salesforce instance login URL",\n "format": "uri",\n "minLength": 1,\n "examples": [\n "https://somesalesforcelogin.url"\n ]\n },\n "username": {\n "title": "Username",\n "type": "string",\n "description": "The username to log in the Salesforce instance",\n "minLength": 1,\n "examples": [\n "someusername"\n ]\n },\n "password": {\n "title": "Password",\n "type": "string",\n "description": "The password to log in the Salesforce instance",\n "writeOnly": true,\n "minLength": 1,\n "examples": [\n "@super(!)SecretPass"\n ]\n },\n "securityToken": {\n "title": "Security Token",\n "type": "string",\n "description": "The security token to access the Salesforce instance",\n "minLength": 1,\n "examples": [\n "salesforcesecuritytoken"\n ]\n },\n "apiVersion": {\n "title": "API Version",\n "type": "string",\n "pattern": "^[0-9]{2}\\\\.[0-9]$",\n "placeholder": "52.0",\n "description": "Salesforce API Version",\n "minLength": 1,\n "examples": [\n "59.0"\n ]\n }\n },\n "type": "object",\n "additionalProperties": true,\n "required": [\n "loginUrl",\n "username",\n "password",\n "securityToken"\n ]\n}\n')))}f.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_openfn_docs=self.webpackChunk_openfn_docs||[]).push([[17238],{3905:(e,n,t)=>{t.d(n,{Zo:()=>p,kt:()=>d});var r=t(67294);function a(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function o(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter((function(n){return Object.getOwnPropertyDescriptor(e,n).enumerable}))),t.push.apply(t,r)}return t}function s(e){for(var n=1;n=0||(a[t]=e[t]);return a}(e,n);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(a[t]=e[t])}return a}var c=r.createContext({}),l=function(e){var n=r.useContext(c),t=n;return e&&(t="function"==typeof e?e(n):s(s({},n),e)),t},p=function(e){var n=l(e.components);return r.createElement(c.Provider,{value:n},e.children)},u="mdxType",f={inlineCode:"code",wrapper:function(e){var n=e.children;return r.createElement(r.Fragment,{},n)}},m=r.forwardRef((function(e,n){var t=e.components,a=e.mdxType,o=e.originalType,c=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),u=l(t),m=a,d=u["".concat(c,".").concat(m)]||u[m]||f[m]||o;return t?r.createElement(d,s(s({ref:n},p),{},{components:t})):r.createElement(d,s({ref:n},p))}));function d(e,n){var t=arguments,a=n&&n.mdxType;if("string"==typeof e||a){var o=t.length,s=new Array(o);s[0]=m;var i={};for(var c in n)hasOwnProperty.call(n,c)&&(i[c]=n[c]);i.originalType=e,i[u]="string"==typeof e?e:a,s[1]=i;for(var l=2;l{t.r(n),t.d(n,{assets:()=>c,contentTitle:()=>s,default:()=>f,frontMatter:()=>o,metadata:()=>i,toc:()=>l});var r=t(87462),a=(t(67294),t(3905));const o={title:"Config for salesforce",id:"salesforce-configuration-schema",keywords:["adaptor","configuration-schema","salesforce"]},s=void 0,i={unversionedId:"packages/salesforce-configuration-schema",id:"packages/salesforce-configuration-schema",title:"Config for salesforce",description:"Jobs that use the salesforce adaptor may require authentication. A",source:"@site/adaptors/packages/salesforce-configuration-schema.md",sourceDirName:"packages",slug:"/packages/salesforce-configuration-schema",permalink:"/adaptors/packages/salesforce-configuration-schema",draft:!1,tags:[],version:"current",frontMatter:{title:"Config for salesforce",id:"salesforce-configuration-schema",keywords:["adaptor","configuration-schema","salesforce"]},sidebar:"adaptors",previous:{title:"salesforce@4.2.1",permalink:"/adaptors/packages/salesforce-docs"},next:{title:"\ud83d\udcdc Pre-processing data",permalink:"/adaptors/library/jobs/auto/alter-state-before-operations"}},c={},l=[{value:"Sample Configuration",id:"sample-configuration",level:2},{value:"Full Schema",id:"full-schema",level:2}],p={toc:l},u="wrapper";function f(e){let{components:n,...t}=e;return(0,a.kt)(u,(0,r.Z)({},p,t,{components:n,mdxType:"MDXLayout"}),(0,a.kt)("p",null,"Jobs that use the ",(0,a.kt)("inlineCode",{parentName:"p"},"salesforce"),' adaptor may require authentication. A\n"credential" for the ',(0,a.kt)("inlineCode",{parentName:"p"},"salesforce")," adaptor will follow the schema below. When\nusing the CLI, you can set up your own ",(0,a.kt)("inlineCode",{parentName:"p"},"state.configuration")," by using the\nsample below."),(0,a.kt)("h2",{id:"sample-configuration"},"Sample Configuration"),(0,a.kt)("p",null," Paste this into the ",(0,a.kt)("inlineCode",{parentName:"p"},"configuration")," key of your ",(0,a.kt)("inlineCode",{parentName:"p"},"state.json")," file and\nmodify the values to run jobs locally."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-json"},'{\n "loginUrl": "https://somesalesforcelogin.url",\n "username": "someusername",\n "password": "@super(!)SecretPass",\n "securityToken": "salesforcesecuritytoken",\n "apiVersion": "59.0"\n}\n')),(0,a.kt)("h2",{id:"full-schema"},"Full Schema"),(0,a.kt)("p",null," The full configuration schema describes each attribute of the credential and\nnotes those that are required."),(0,a.kt)("pre",null,(0,a.kt)("code",{parentName:"pre",className:"language-json"},'{\n "$schema": "http://json-schema.org/draft-07/schema#",\n "properties": {\n "loginUrl": {\n "title": "Login URL",\n "type": "string",\n "description": "The Salesforce instance login URL",\n "format": "uri",\n "minLength": 1,\n "examples": [\n "https://somesalesforcelogin.url"\n ]\n },\n "username": {\n "title": "Username",\n "type": "string",\n "description": "The username to log in the Salesforce instance",\n "minLength": 1,\n "examples": [\n "someusername"\n ]\n },\n "password": {\n "title": "Password",\n "type": "string",\n "description": "The password to log in the Salesforce instance",\n "writeOnly": true,\n "minLength": 1,\n "examples": [\n "@super(!)SecretPass"\n ]\n },\n "securityToken": {\n "title": "Security Token",\n "type": "string",\n "description": "The security token to access the Salesforce instance",\n "minLength": 1,\n "examples": [\n "salesforcesecuritytoken"\n ]\n },\n "apiVersion": {\n "title": "API Version",\n "type": "string",\n "pattern": "^[0-9]{2}\\\\.[0-9]$",\n "placeholder": "52.0",\n "description": "Salesforce API Version",\n "minLength": 1,\n "examples": [\n "59.0"\n ]\n }\n },\n "type": "object",\n "additionalProperties": true,\n "required": [\n "loginUrl",\n "username",\n "password",\n "securityToken"\n ]\n}\n')))}f.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/6cb21577.496ddcfb.js b/assets/js/6cb21577.496ddcfb.js new file mode 100644 index 00000000000..1143cf499c3 --- /dev/null +++ b/assets/js/6cb21577.496ddcfb.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_openfn_docs=self.webpackChunk_openfn_docs||[]).push([[32674],{3905:(a,e,p)=>{p.d(e,{Zo:()=>d,kt:()=>g});var n=p(67294);function t(a,e,p){return e in a?Object.defineProperty(a,e,{value:p,enumerable:!0,configurable:!0,writable:!0}):a[e]=p,a}function o(a,e){var p=Object.keys(a);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(a);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(a,e).enumerable}))),p.push.apply(p,n)}return p}function l(a){for(var e=1;e=0||(t[p]=a[p]);return t}(a,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(a);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(a,p)&&(t[p]=a[p])}return t}var b=n.createContext({}),r=function(a){var e=n.useContext(b),p=e;return a&&(p="function"==typeof a?a(e):l(l({},e),a)),p},d=function(a){var e=r(a.components);return n.createElement(b.Provider,{value:e},a.children)},i="mdxType",c={inlineCode:"code",wrapper:function(a){var e=a.children;return n.createElement(n.Fragment,{},e)}},m=n.forwardRef((function(a,e){var p=a.components,t=a.mdxType,o=a.originalType,b=a.parentName,d=s(a,["components","mdxType","originalType","parentName"]),i=r(p),m=t,g=i["".concat(b,".").concat(m)]||i[m]||c[m]||o;return p?n.createElement(g,l(l({ref:e},d),{},{components:p})):n.createElement(g,l({ref:e},d))}));function g(a,e){var p=arguments,t=e&&e.mdxType;if("string"==typeof a||t){var o=p.length,l=new Array(o);l[0]=m;var s={};for(var b in e)hasOwnProperty.call(e,b)&&(s[b]=e[b]);s.originalType=a,s[i]="string"==typeof a?a:t,l[1]=s;for(var r=2;r{p.r(e),p.d(e,{assets:()=>Z,contentTitle:()=>O,default:()=>z,frontMatter:()=>F,metadata:()=>_,toc:()=>A});var n=p(87462),t=p(67294),o=p(3905);const l=(a,e)=>{const p=b(a),n=b(e),t=p.pop(),o=n.pop(),l=c(p,n);return 0!==l?l:t&&o?c(t.split("."),o.split(".")):t||o?t?-1:1:0},s=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,b=a=>{if("string"!=typeof a)throw new TypeError("Invalid argument expected string");const e=a.match(s);if(!e)throw new Error(`Invalid argument not valid semver ('${a}' received)`);return e.shift(),e},r=a=>"*"===a||"x"===a||"X"===a,d=a=>{const e=parseInt(a,10);return isNaN(e)?a:e},i=(a,e)=>{if(r(a)||r(e))return 0;const[p,n]=((a,e)=>typeof a!=typeof e?[String(a),String(e)]:[a,e])(d(a),d(e));return p>n?1:p{for(let p=0;p":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1]},g=(Object.keys(m),JSON.parse('[{"name":"@openfn/migrate-adaptor@1.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/migrate-adaptor@1.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/migrate-adaptor@1.0.1","commit":{"sha":"864af04f8a0def040b9dc1f7b406bdae6318fb42","url":"https://api.github.com/repos/OpenFn/adaptors/commits/864af04f8a0def040b9dc1f7b406bdae6318fb42"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL21pZ3JhdGUtYWRhcHRvckAxLjAuMQ"},{"name":"@openfn/language-zoho@0.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-zoho@0.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-zoho@0.3.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXpvaG9AMC4zLjE"},{"name":"@openfn/language-zoho@0.2.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-zoho@0.2.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-zoho@0.2.3","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXpvaG9AMC4yLjM"},{"name":"@openfn/language-zoho@0.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-zoho@0.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-zoho@0.2.2","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXpvaG9AMC4yLjI"},{"name":"@openfn/language-zoho@0.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-zoho@0.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-zoho@0.2.1","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXpvaG9AMC4yLjE"},{"name":"@openfn/language-vtiger@1.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-vtiger@1.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-vtiger@1.2.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXZ0aWdlckAxLjIuMQ"},{"name":"@openfn/language-vtiger@1.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-vtiger@1.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-vtiger@1.1.3","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXZ0aWdlckAxLjEuMw"},{"name":"@openfn/language-vtiger@1.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-vtiger@1.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-vtiger@1.1.2","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXZ0aWdlckAxLjEuMg"},{"name":"@openfn/language-vtiger@1.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-vtiger@1.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-vtiger@1.1.1","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXZ0aWdlckAxLjEuMQ"},{"name":"@openfn/language-twilio@0.4.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-twilio@0.4.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-twilio@0.4.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXR3aWxpb0AwLjQuMQ"},{"name":"@openfn/language-twilio@0.3.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-twilio@0.3.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-twilio@0.3.4","commit":{"sha":"2426f4c77af264fca6892ee32f77556346ad4e9e","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2426f4c77af264fca6892ee32f77556346ad4e9e"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXR3aWxpb0AwLjMuNA"},{"name":"@openfn/language-twilio@0.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-twilio@0.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-twilio@0.3.3","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXR3aWxpb0AwLjMuMw"},{"name":"@openfn/language-twilio@0.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-twilio@0.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-twilio@0.3.2","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXR3aWxpb0AwLjMuMg"},{"name":"@openfn/language-twilio@0.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-twilio@0.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-twilio@0.3.1","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXR3aWxpb0AwLjMuMQ"},{"name":"@openfn/language-twilio@0.3.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-twilio@0.3.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-twilio@0.3.0","commit":{"sha":"baf4c44731afd61bceb8496b778b2543973ee6b4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/baf4c44731afd61bceb8496b778b2543973ee6b4"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXR3aWxpb0AwLjMuMA"},{"name":"@openfn/language-template@3.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-template@3.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-template@3.0.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbXBsYXRlQDMuMC4x"},{"name":"@openfn/language-template@2.0.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-template@2.0.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-template@2.0.0","commit":{"sha":"35e92ab1418380e26f36269167fcbb7e8c1f5259","url":"https://api.github.com/repos/OpenFn/adaptors/commits/35e92ab1418380e26f36269167fcbb7e8c1f5259"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbXBsYXRlQDIuMC4w"},{"name":"@openfn/language-template@1.7.8","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-template@1.7.8","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-template@1.7.8","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbXBsYXRlQDEuNy44"},{"name":"@openfn/language-template@1.7.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-template@1.7.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-template@1.7.7","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbXBsYXRlQDEuNy43"},{"name":"@openfn/language-template@1.7.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-template@1.7.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-template@1.7.6","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbXBsYXRlQDEuNy42"},{"name":"@openfn/language-template@1.7.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-template@1.7.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-template@1.7.5","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbXBsYXRlQDEuNy41"},{"name":"@openfn/language-template@1.7.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-template@1.7.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-template@1.7.4","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbXBsYXRlQDEuNy40"},{"name":"@openfn/language-template@1.7.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-template@1.7.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-template@1.7.3","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbXBsYXRlQDEuNy4z"},{"name":"@openfn/language-template@1.7.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-template@1.7.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-template@1.7.2","commit":{"sha":"07f0d0452a809c6ea0445af5d32ec1cac0d06a64","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07f0d0452a809c6ea0445af5d32ec1cac0d06a64"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbXBsYXRlQDEuNy4y"},{"name":"@openfn/language-template@1.7.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-template@1.7.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-template@1.7.1","commit":{"sha":"87c52be93bef2fb37a7d6d0df99feab5ed8611f1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/87c52be93bef2fb37a7d6d0df99feab5ed8611f1"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbXBsYXRlQDEuNy4x"},{"name":"@openfn/language-template@1.7.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-template@1.7.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-template@1.7.0","commit":{"sha":"9b2b65c1a420ce72139677f49033fb4a3de57944","url":"https://api.github.com/repos/OpenFn/adaptors/commits/9b2b65c1a420ce72139677f49033fb4a3de57944"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbXBsYXRlQDEuNy4w"},{"name":"@openfn/language-telerivet@0.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-telerivet@0.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-telerivet@0.2.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbGVyaXZldEAwLjIuMQ"},{"name":"@openfn/language-telerivet@0.1.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-telerivet@0.1.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-telerivet@0.1.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbGVyaXZldEAwLjEuNA"},{"name":"@openfn/language-telerivet@0.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-telerivet@0.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-telerivet@0.1.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbGVyaXZldEAwLjEuMw"},{"name":"@openfn/language-telerivet@0.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-telerivet@0.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-telerivet@0.1.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbGVyaXZldEAwLjEuMg"},{"name":"@openfn/language-telerivet@0.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-telerivet@0.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-telerivet@0.1.0","commit":{"sha":"baf4c44731afd61bceb8496b778b2543973ee6b4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/baf4c44731afd61bceb8496b778b2543973ee6b4"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbGVyaXZldEAwLjEuMA"},{"name":"@openfn/language-surveycto@1.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-surveycto@1.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-surveycto@1.2.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXN1cnZleWN0b0AxLjIuMQ"},{"name":"@openfn/language-surveycto@1.1.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-surveycto@1.1.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-surveycto@1.1.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXN1cnZleWN0b0AxLjEuNA"},{"name":"@openfn/language-surveycto@1.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-surveycto@1.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-surveycto@1.1.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXN1cnZleWN0b0AxLjEuMw"},{"name":"@openfn/language-surveycto@1.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-surveycto@1.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-surveycto@1.1.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXN1cnZleWN0b0AxLjEuMg"},{"name":"@openfn/language-surveycto@1.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-surveycto@1.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-surveycto@1.1.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXN1cnZleWN0b0AxLjEuMQ"},{"name":"@openfn/language-surveycto@1.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-surveycto@1.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-surveycto@1.1.0","commit":{"sha":"baf4c44731afd61bceb8496b778b2543973ee6b4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/baf4c44731afd61bceb8496b778b2543973ee6b4"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXN1cnZleWN0b0AxLjEuMA"},{"name":"@openfn/language-smpp@1.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-smpp@1.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-smpp@1.3.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNtcHBAMS4zLjE"},{"name":"@openfn/language-smpp@1.2.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-smpp@1.2.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-smpp@1.2.3","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNtcHBAMS4yLjM"},{"name":"@openfn/language-smpp@1.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-smpp@1.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-smpp@1.2.2","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNtcHBAMS4yLjI"},{"name":"@openfn/language-smpp@1.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-smpp@1.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-smpp@1.2.1","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNtcHBAMS4yLjE"},{"name":"@openfn/language-sftp@0.8.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.8.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.8.7","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC44Ljc"},{"name":"@openfn/language-sftp@0.8.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.8.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.8.6","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC44LjY"},{"name":"@openfn/language-sftp@0.8.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.8.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.8.5","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC44LjU"},{"name":"@openfn/language-sftp@0.8.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.8.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.8.4","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC44LjQ"},{"name":"@openfn/language-sftp@0.8.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.8.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.8.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC44LjM"},{"name":"@openfn/language-sftp@0.8.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.8.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.8.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC44LjI"},{"name":"@openfn/language-sftp@0.8.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.8.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.8.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC44LjE"},{"name":"@openfn/language-sftp@0.7.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.7.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.7.3","commit":{"sha":"e50ccd9f126ca73a80bc8d0294817ca077398bf1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e50ccd9f126ca73a80bc8d0294817ca077398bf1"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC43LjM"},{"name":"@openfn/language-sftp@0.7.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.7.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.7.2","commit":{"sha":"7a6059dc2f1b5f79447adf7f48d36a0b7aeb2372","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7a6059dc2f1b5f79447adf7f48d36a0b7aeb2372"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC43LjI"},{"name":"@openfn/language-sftp@0.7.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.7.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.7.1","commit":{"sha":"eced2b1d8f2a5399e3120ae2a2b092463a1f72f1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/eced2b1d8f2a5399e3120ae2a2b092463a1f72f1"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC43LjE"},{"name":"@openfn/language-sftp@0.7.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.7.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.7.0","commit":{"sha":"fdbbfebcabd9df25617801ad6c2147862230efc6","url":"https://api.github.com/repos/OpenFn/adaptors/commits/fdbbfebcabd9df25617801ad6c2147862230efc6"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC43LjA"},{"name":"@openfn/language-sftp@0.6.9","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.6.9","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.6.9","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC42Ljk"},{"name":"@openfn/language-sftp@0.6.8","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.6.8","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.6.8","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC42Ljg"},{"name":"@openfn/language-sftp@0.6.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.6.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.6.7","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC42Ljc"},{"name":"@openfn/language-sftp@0.6.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.6.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.6.6","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC42LjY"},{"name":"@openfn/language-sftp@0.6.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.6.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.6.5","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC42LjU"},{"name":"@openfn/language-sftp@0.6.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.6.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.6.4","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC42LjQ"},{"name":"@openfn/language-sftp@0.6.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.6.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.6.3","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC42LjM"},{"name":"@openfn/language-sftp@0.6.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.6.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.6.2","commit":{"sha":"ea3e071eaf01b4bb93482eabb0899575c73db406","url":"https://api.github.com/repos/OpenFn/adaptors/commits/ea3e071eaf01b4bb93482eabb0899575c73db406"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC42LjI"},{"name":"@openfn/language-sftp@0.6.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.6.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.6.1","commit":{"sha":"864af04f8a0def040b9dc1f7b406bdae6318fb42","url":"https://api.github.com/repos/OpenFn/adaptors/commits/864af04f8a0def040b9dc1f7b406bdae6318fb42"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC42LjE"},{"name":"@openfn/language-salesforce@4.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@4.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@4.2.1","commit":{"sha":"16e1a95db48f32601b277e7ffcd9eb3bcbba85cd","url":"https://api.github.com/repos/OpenFn/adaptors/commits/16e1a95db48f32601b277e7ffcd9eb3bcbba85cd"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VANC4yLjE"},{"name":"@openfn/language-salesforce@4.2.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@4.2.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@4.2.0","commit":{"sha":"377c432c960070902b0d686c2502e5d4137bc078","url":"https://api.github.com/repos/OpenFn/adaptors/commits/377c432c960070902b0d686c2502e5d4137bc078"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VANC4yLjA"},{"name":"@openfn/language-salesforce@4.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@4.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@4.1.0","commit":{"sha":"a8df89d8e4537b7c1645f2db2c0f792d49535d50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a8df89d8e4537b7c1645f2db2c0f792d49535d50"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VANC4xLjA"},{"name":"@openfn/language-salesforce@4.0.8","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@4.0.8","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@4.0.8","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VANC4wLjg"},{"name":"@openfn/language-salesforce@4.0.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@4.0.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@4.0.7","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VANC4wLjc"},{"name":"@openfn/language-salesforce@4.0.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@4.0.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@4.0.6","commit":{"sha":"a71941741922908af34c3d6dd7edb744716ce85b","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a71941741922908af34c3d6dd7edb744716ce85b"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VANC4wLjY"},{"name":"@openfn/language-salesforce@4.0.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@4.0.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@4.0.5","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VANC4wLjU"},{"name":"@openfn/language-salesforce@4.0.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@4.0.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@4.0.4","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VANC4wLjQ"},{"name":"@openfn/language-salesforce@4.0.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@4.0.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@4.0.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VANC4wLjM"},{"name":"@openfn/language-salesforce@4.0.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@4.0.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@4.0.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VANC4wLjI"},{"name":"@openfn/language-salesforce@4.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@4.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@4.0.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VANC4wLjE"},{"name":"@openfn/language-salesforce@3.0.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@3.0.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@3.0.7","commit":{"sha":"a15f86e741a7b07234af7461f47ae2464bc14f4b","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a15f86e741a7b07234af7461f47ae2464bc14f4b"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMy4wLjc"},{"name":"@openfn/language-salesforce@3.0.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@3.0.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@3.0.6","commit":{"sha":"0bdc5ee1f7f14ee15bc4614fd6d4f44907e986d1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/0bdc5ee1f7f14ee15bc4614fd6d4f44907e986d1"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMy4wLjY"},{"name":"@openfn/language-salesforce@3.0.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@3.0.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@3.0.5","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMy4wLjU"},{"name":"@openfn/language-salesforce@3.0.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@3.0.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@3.0.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMy4wLjQ"},{"name":"@openfn/language-salesforce@3.0.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@3.0.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@3.0.3","commit":{"sha":"1817f08cb8d8d586c710d5ca7e50f2f4230a2d35","url":"https://api.github.com/repos/OpenFn/adaptors/commits/1817f08cb8d8d586c710d5ca7e50f2f4230a2d35"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMy4wLjM"},{"name":"@openfn/language-salesforce@3.0.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@3.0.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@3.0.2","commit":{"sha":"d6c0c7e39242ffea633e4f5b2569027feeaed2d4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/d6c0c7e39242ffea633e4f5b2569027feeaed2d4"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMy4wLjI"},{"name":"@openfn/language-salesforce@3.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@3.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@3.0.1","commit":{"sha":"f5cf160440f03f0455a0251d8fc8ac6026665e49","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f5cf160440f03f0455a0251d8fc8ac6026665e49"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMy4wLjE"},{"name":"@openfn/language-salesforce@3.0.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@3.0.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@3.0.0","commit":{"sha":"d7c2816033818da1d83656cea56c4681bf384105","url":"https://api.github.com/repos/OpenFn/adaptors/commits/d7c2816033818da1d83656cea56c4681bf384105"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMy4wLjA"},{"name":"@openfn/language-salesforce@2.12.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@2.12.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@2.12.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMi4xMi4z"},{"name":"@openfn/language-salesforce@2.12.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@2.12.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@2.12.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMi4xMi4y"},{"name":"@openfn/language-salesforce@2.12.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@2.12.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@2.12.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMi4xMi4x"},{"name":"@openfn/language-salesforce@2.12.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@2.12.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@2.12.0","commit":{"sha":"baf4c44731afd61bceb8496b778b2543973ee6b4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/baf4c44731afd61bceb8496b778b2543973ee6b4"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMi4xMi4w"},{"name":"@openfn/language-salesforce@2.11.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@2.11.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@2.11.2","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMi4xMS4y"},{"name":"@openfn/language-salesforce@2.11.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@2.11.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@2.11.1","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMi4xMS4x"},{"name":"@openfn/language-salesforce@2.11.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@2.11.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@2.11.0","commit":{"sha":"07f0d0452a809c6ea0445af5d32ec1cac0d06a64","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07f0d0452a809c6ea0445af5d32ec1cac0d06a64"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMi4xMS4w"},{"name":"@openfn/language-resourcemap@0.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-resourcemap@0.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-resourcemap@0.3.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJlc291cmNlbWFwQDAuMy4x"},{"name":"@openfn/language-resourcemap@0.2.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-resourcemap@0.2.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-resourcemap@0.2.3","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJlc291cmNlbWFwQDAuMi4z"},{"name":"@openfn/language-resourcemap@0.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-resourcemap@0.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-resourcemap@0.2.2","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJlc291cmNlbWFwQDAuMi4y"},{"name":"@openfn/language-resourcemap@0.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-resourcemap@0.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-resourcemap@0.2.1","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJlc291cmNlbWFwQDAuMi4x"},{"name":"@openfn/language-rapidpro@1.0.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@1.0.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@1.0.7","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDEuMC43"},{"name":"@openfn/language-rapidpro@1.0.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@1.0.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@1.0.6","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDEuMC42"},{"name":"@openfn/language-rapidpro@1.0.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@1.0.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@1.0.5","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDEuMC41"},{"name":"@openfn/language-rapidpro@1.0.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@1.0.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@1.0.4","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDEuMC40"},{"name":"@openfn/language-rapidpro@1.0.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@1.0.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@1.0.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDEuMC4z"},{"name":"@openfn/language-rapidpro@1.0.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@1.0.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@1.0.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDEuMC4y"},{"name":"@openfn/language-rapidpro@1.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@1.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@1.0.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDEuMC4x"},{"name":"@openfn/language-rapidpro@0.5.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@0.5.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@0.5.6","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDAuNS42"},{"name":"@openfn/language-rapidpro@0.5.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@0.5.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@0.5.5","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDAuNS41"},{"name":"@openfn/language-rapidpro@0.5.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@0.5.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@0.5.4","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDAuNS40"},{"name":"@openfn/language-rapidpro@0.5.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@0.5.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@0.5.3","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDAuNS4z"},{"name":"@openfn/language-rapidpro@0.5.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@0.5.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@0.5.2","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDAuNS4y"},{"name":"@openfn/language-rapidpro@0.5.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@0.5.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@0.5.0","commit":{"sha":"baf4c44731afd61bceb8496b778b2543973ee6b4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/baf4c44731afd61bceb8496b778b2543973ee6b4"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDAuNS4w"},{"name":"@openfn/language-progres@1.3.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.3.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.3.7","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4zLjc"},{"name":"@openfn/language-progres@1.3.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.3.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.3.6","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4zLjY"},{"name":"@openfn/language-progres@1.3.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.3.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.3.5","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4zLjU"},{"name":"@openfn/language-progres@1.3.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.3.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.3.4","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4zLjQ"},{"name":"@openfn/language-progres@1.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.3.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4zLjM"},{"name":"@openfn/language-progres@1.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.3.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4zLjI"},{"name":"@openfn/language-progres@1.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.3.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4zLjE"},{"name":"@openfn/language-progres@1.2.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.2.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.2.5","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4yLjU"},{"name":"@openfn/language-progres@1.2.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.2.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.2.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4yLjQ"},{"name":"@openfn/language-progres@1.2.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.2.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.2.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4yLjM"},{"name":"@openfn/language-progres@1.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.2.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4yLjI"},{"name":"@openfn/language-progres@1.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.2.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4yLjE"},{"name":"@openfn/language-progres@1.2.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.2.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.2.0","commit":{"sha":"baf4c44731afd61bceb8496b778b2543973ee6b4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/baf4c44731afd61bceb8496b778b2543973ee6b4"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4yLjA"},{"name":"@openfn/language-primero@2.11.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.11.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.11.7","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMS43"},{"name":"@openfn/language-primero@2.11.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.11.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.11.6","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMS42"},{"name":"@openfn/language-primero@2.11.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.11.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.11.5","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMS41"},{"name":"@openfn/language-primero@2.11.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.11.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.11.4","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMS40"},{"name":"@openfn/language-primero@2.11.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.11.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.11.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMS4z"},{"name":"@openfn/language-primero@2.11.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.11.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.11.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMS4y"},{"name":"@openfn/language-primero@2.11.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.11.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.11.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMS4x"},{"name":"@openfn/language-primero@2.10.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.10.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.10.6","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMC42"},{"name":"@openfn/language-primero@2.10.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.10.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.10.5","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMC41"},{"name":"@openfn/language-primero@2.10.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.10.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.10.4","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMC40"},{"name":"@openfn/language-primero@2.10.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.10.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.10.3","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMC4z"},{"name":"@openfn/language-primero@2.10.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.10.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.10.2","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMC4y"},{"name":"@openfn/language-primero@2.10.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.10.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.10.1","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMC4x"},{"name":"@openfn/language-primero@2.10.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.10.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.10.0","commit":{"sha":"07f0d0452a809c6ea0445af5d32ec1cac0d06a64","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07f0d0452a809c6ea0445af5d32ec1cac0d06a64"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMC4w"},{"name":"@openfn/language-primero@2.9.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.9.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.9.2","commit":{"sha":"ea3e071eaf01b4bb93482eabb0899575c73db406","url":"https://api.github.com/repos/OpenFn/adaptors/commits/ea3e071eaf01b4bb93482eabb0899575c73db406"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi45LjI"},{"name":"@openfn/language-primero@2.9.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.9.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.9.1","commit":{"sha":"864af04f8a0def040b9dc1f7b406bdae6318fb42","url":"https://api.github.com/repos/OpenFn/adaptors/commits/864af04f8a0def040b9dc1f7b406bdae6318fb42"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi45LjE"},{"name":"@openfn/language-postgresql@4.1.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@4.1.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@4.1.7","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxANC4xLjc"},{"name":"@openfn/language-postgresql@4.1.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@4.1.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@4.1.6","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxANC4xLjY"},{"name":"@openfn/language-postgresql@4.1.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@4.1.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@4.1.5","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxANC4xLjU"},{"name":"@openfn/language-postgresql@4.1.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@4.1.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@4.1.4","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxANC4xLjQ"},{"name":"@openfn/language-postgresql@4.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@4.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@4.1.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxANC4xLjM"},{"name":"@openfn/language-postgresql@4.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@4.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@4.1.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxANC4xLjI"},{"name":"@openfn/language-postgresql@4.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@4.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@4.1.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxANC4xLjE"},{"name":"@openfn/language-postgresql@4.0.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@4.0.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@4.0.0","commit":{"sha":"a15f86e741a7b07234af7461f47ae2464bc14f4b","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a15f86e741a7b07234af7461f47ae2464bc14f4b"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxANC4wLjA"},{"name":"@openfn/language-postgresql@3.4.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@3.4.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@3.4.6","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxAMy40LjY"},{"name":"@openfn/language-postgresql@3.4.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@3.4.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@3.4.5","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxAMy40LjU"},{"name":"@openfn/language-postgresql@3.4.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@3.4.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@3.4.4","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxAMy40LjQ"},{"name":"@openfn/language-postgresql@3.4.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@3.4.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@3.4.3","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxAMy40LjM"},{"name":"@openfn/language-postgresql@3.4.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@3.4.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@3.4.2","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxAMy40LjI"},{"name":"@openfn/language-postgresql@3.4.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@3.4.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@3.4.1","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxAMy40LjE"},{"name":"@openfn/language-postgresql@3.4.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@3.4.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@3.4.0","commit":{"sha":"ea3e071eaf01b4bb93482eabb0899575c73db406","url":"https://api.github.com/repos/OpenFn/adaptors/commits/ea3e071eaf01b4bb93482eabb0899575c73db406"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxAMy40LjA"},{"name":"@openfn/language-openmrs@2.0.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@2.0.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@2.0.7","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMi4wLjc"},{"name":"@openfn/language-openmrs@2.0.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@2.0.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@2.0.6","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMi4wLjY"},{"name":"@openfn/language-openmrs@2.0.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@2.0.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@2.0.5","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMi4wLjU"},{"name":"@openfn/language-openmrs@2.0.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@2.0.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@2.0.4","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMi4wLjQ"},{"name":"@openfn/language-openmrs@2.0.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@2.0.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@2.0.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMi4wLjM"},{"name":"@openfn/language-openmrs@2.0.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@2.0.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@2.0.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMi4wLjI"},{"name":"@openfn/language-openmrs@2.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@2.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@2.0.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMi4wLjE"},{"name":"@openfn/language-openmrs@1.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@1.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@1.1.1","commit":{"sha":"9909077c42eaeb4231894e5138c23ad33e630c7a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/9909077c42eaeb4231894e5138c23ad33e630c7a"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMS4xLjE"},{"name":"@openfn/language-openmrs@1.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@1.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@1.1.0","commit":{"sha":"35e92ab1418380e26f36269167fcbb7e8c1f5259","url":"https://api.github.com/repos/OpenFn/adaptors/commits/35e92ab1418380e26f36269167fcbb7e8c1f5259"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMS4xLjA"},{"name":"@openfn/language-openmrs@1.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@1.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@1.0.1","commit":{"sha":"a4d370b1d341e1678ccfbb1ff95342fb379a16c6","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a4d370b1d341e1678ccfbb1ff95342fb379a16c6"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMS4wLjE"},{"name":"@openfn/language-openmrs@1.0.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@1.0.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@1.0.0","commit":{"sha":"22ffe402d9d70889a2f5faa22d61d1719d33dd2a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/22ffe402d9d70889a2f5faa22d61d1719d33dd2a"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMS4wLjA"},{"name":"@openfn/language-openmrs@0.10.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@0.10.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@0.10.5","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMC4xMC41"},{"name":"@openfn/language-openmrs@0.10.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@0.10.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@0.10.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMC4xMC40"},{"name":"@openfn/language-openmrs@0.10.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@0.10.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@0.10.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMC4xMC4z"},{"name":"@openfn/language-openmrs@0.10.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@0.10.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@0.10.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMC4xMC4y"},{"name":"@openfn/language-openmrs@0.10.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@0.10.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@0.10.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMC4xMC4x"},{"name":"@openfn/language-openhim@0.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openhim@0.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openhim@0.2.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5oaW1AMC4yLjE"},{"name":"@openfn/language-openhim@0.1.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openhim@0.1.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openhim@0.1.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5oaW1AMC4xLjQ"},{"name":"@openfn/language-openhim@0.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openhim@0.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openhim@0.1.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5oaW1AMC4xLjM"},{"name":"@openfn/language-openhim@0.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openhim@0.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openhim@0.1.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5oaW1AMC4xLjI"},{"name":"@openfn/language-openhim@0.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openhim@0.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openhim@0.1.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5oaW1AMC4xLjE"},{"name":"@openfn/language-openfn@1.3.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.3.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.3.7","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjMuNw"},{"name":"@openfn/language-openfn@1.3.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.3.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.3.6","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjMuNg"},{"name":"@openfn/language-openfn@1.3.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.3.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.3.5","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjMuNQ"},{"name":"@openfn/language-openfn@1.3.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.3.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.3.4","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjMuNA"},{"name":"@openfn/language-openfn@1.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.3.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjMuMw"},{"name":"@openfn/language-openfn@1.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.3.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjMuMg"},{"name":"@openfn/language-openfn@1.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.3.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjMuMQ"},{"name":"@openfn/language-openfn@1.2.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.2.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.2.6","commit":{"sha":"35e92ab1418380e26f36269167fcbb7e8c1f5259","url":"https://api.github.com/repos/OpenFn/adaptors/commits/35e92ab1418380e26f36269167fcbb7e8c1f5259"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjIuNg"},{"name":"@openfn/language-openfn@1.2.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.2.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.2.5","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjIuNQ"},{"name":"@openfn/language-openfn@1.2.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.2.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.2.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjIuNA"},{"name":"@openfn/language-openfn@1.2.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.2.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.2.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjIuMw"},{"name":"@openfn/language-openfn@1.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.2.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjIuMg"},{"name":"@openfn/language-openfn@1.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.2.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjIuMQ"},{"name":"@openfn/language-ocl@1.1.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@1.1.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@1.1.6","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAxLjEuNg"},{"name":"@openfn/language-ocl@1.1.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@1.1.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@1.1.5","commit":{"sha":"e6778a06c6644e59013a16fb60682e7de1c9ecb5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e6778a06c6644e59013a16fb60682e7de1c9ecb5"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAxLjEuNQ"},{"name":"@openfn/language-ocl@1.1.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@1.1.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@1.1.4","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAxLjEuNA"},{"name":"@openfn/language-ocl@1.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@1.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@1.1.3","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAxLjEuMw"},{"name":"@openfn/language-ocl@1.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@1.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@1.1.2","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAxLjEuMg"},{"name":"@openfn/language-ocl@1.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@1.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@1.1.1","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAxLjEuMQ"},{"name":"@openfn/language-ocl@1.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@1.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@1.1.0","commit":{"sha":"27492e9edf122b2d498820bdb54c3341ab7cf86e","url":"https://api.github.com/repos/OpenFn/adaptors/commits/27492e9edf122b2d498820bdb54c3341ab7cf86e"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAxLjEuMA"},{"name":"@openfn/language-ocl@1.0.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@1.0.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@1.0.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAxLjAuMg"},{"name":"@openfn/language-ocl@1.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@1.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@1.0.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAxLjAuMQ"},{"name":"@openfn/language-ocl@0.3.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@0.3.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@0.3.0","commit":{"sha":"9909077c42eaeb4231894e5138c23ad33e630c7a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/9909077c42eaeb4231894e5138c23ad33e630c7a"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAwLjMuMA"},{"name":"@openfn/language-ocl@0.2.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@0.2.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@0.2.6","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAwLjIuNg"},{"name":"@openfn/language-ocl@0.2.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@0.2.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@0.2.5","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAwLjIuNQ"},{"name":"@openfn/language-ocl@0.2.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@0.2.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@0.2.4","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAwLjIuNA"},{"name":"@openfn/language-ocl@0.2.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@0.2.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@0.2.3","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAwLjIuMw"},{"name":"@openfn/language-ocl@0.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@0.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@0.2.2","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAwLjIuMg"},{"name":"@openfn/language-ocl@0.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@0.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@0.2.1","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAwLjIuMQ"},{"name":"@openfn/language-ocl@0.2.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@0.2.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@0.2.0","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAwLjIuMA"},{"name":"@openfn/language-nexmo@0.4.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-nexmo@0.4.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-nexmo@0.4.2","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW5leG1vQDAuNC4y"},{"name":"@openfn/language-nexmo@0.4.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-nexmo@0.4.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-nexmo@0.4.1","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW5leG1vQDAuNC4x"},{"name":"@openfn/language-nexmo@0.4.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-nexmo@0.4.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-nexmo@0.4.0","commit":{"sha":"a71941741922908af34c3d6dd7edb744716ce85b","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a71941741922908af34c3d6dd7edb744716ce85b"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW5leG1vQDAuNC4w"},{"name":"@openfn/language-nexmo@0.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-nexmo@0.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-nexmo@0.3.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW5leG1vQDAuMy4x"},{"name":"@openfn/language-nexmo@0.2.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-nexmo@0.2.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-nexmo@0.2.3","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW5leG1vQDAuMi4z"},{"name":"@openfn/language-nexmo@0.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-nexmo@0.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-nexmo@0.2.2","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW5leG1vQDAuMi4y"},{"name":"@openfn/language-nexmo@0.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-nexmo@0.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-nexmo@0.2.1","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW5leG1vQDAuMi4x"},{"name":"@openfn/language-mysql@1.4.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mysql@1.4.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mysql@1.4.7","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW15c3FsQDEuNC43"},{"name":"@openfn/language-mysql@1.4.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mysql@1.4.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mysql@1.4.6","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW15c3FsQDEuNC42"},{"name":"@openfn/language-mysql@1.4.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mysql@1.4.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mysql@1.4.5","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW15c3FsQDEuNC41"},{"name":"@openfn/language-mysql@1.4.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mysql@1.4.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mysql@1.4.4","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW15c3FsQDEuNC40"},{"name":"@openfn/language-mysql@1.4.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mysql@1.4.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mysql@1.4.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW15c3FsQDEuNC4z"},{"name":"@openfn/language-mysql@1.4.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mysql@1.4.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mysql@1.4.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW15c3FsQDEuNC4y"},{"name":"@openfn/language-mysql@1.4.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mysql@1.4.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mysql@1.4.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW15c3FsQDEuNC4x"},{"name":"@openfn/language-mysql@1.3.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mysql@1.3.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mysql@1.3.5","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW15c3FsQDEuMy41"},{"name":"@openfn/language-mysql@1.3.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mysql@1.3.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mysql@1.3.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW15c3FsQDEuMy40"},{"name":"@openfn/language-mysql@1.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mysql@1.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mysql@1.3.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW15c3FsQDEuMy4z"},{"name":"@openfn/language-mysql@1.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mysql@1.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mysql@1.3.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW15c3FsQDEuMy4y"},{"name":"@openfn/language-mysql@1.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mysql@1.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mysql@1.3.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW15c3FsQDEuMy4x"},{"name":"@openfn/language-mssql@4.1.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.1.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.1.7","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMS43"},{"name":"@openfn/language-mssql@4.1.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.1.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.1.6","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMS42"},{"name":"@openfn/language-mssql@4.1.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.1.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.1.5","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMS41"},{"name":"@openfn/language-mssql@4.1.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.1.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.1.4","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMS40"},{"name":"@openfn/language-mssql@4.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.1.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMS4z"},{"name":"@openfn/language-mssql@4.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.1.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMS4y"},{"name":"@openfn/language-mssql@4.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.1.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMS4x"},{"name":"@openfn/language-mssql@4.0.8","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.0.8","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.0.8","commit":{"sha":"a4d370b1d341e1678ccfbb1ff95342fb379a16c6","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a4d370b1d341e1678ccfbb1ff95342fb379a16c6"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMC44"},{"name":"@openfn/language-mssql@4.0.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.0.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.0.7","commit":{"sha":"a15f86e741a7b07234af7461f47ae2464bc14f4b","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a15f86e741a7b07234af7461f47ae2464bc14f4b"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMC43"},{"name":"@openfn/language-mssql@4.0.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.0.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.0.6","commit":{"sha":"2426f4c77af264fca6892ee32f77556346ad4e9e","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2426f4c77af264fca6892ee32f77556346ad4e9e"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMC42"},{"name":"@openfn/language-mssql@4.0.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.0.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.0.5","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMC41"},{"name":"@openfn/language-mssql@4.0.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.0.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.0.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMC40"},{"name":"@openfn/language-mssql@4.0.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.0.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.0.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMC4z"},{"name":"@openfn/language-mssql@4.0.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.0.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.0.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMC4y"},{"name":"@openfn/language-mssql@4.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.0.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMC4x"},{"name":"@openfn/language-mssql@4.0.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.0.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.0.0","commit":{"sha":"baf4c44731afd61bceb8496b778b2543973ee6b4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/baf4c44731afd61bceb8496b778b2543973ee6b4"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMC4w"},{"name":"@openfn/language-mssql@3.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@3.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@3.1.2","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDMuMS4y"},{"name":"@openfn/language-mssql@3.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@3.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@3.1.1","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDMuMS4x"},{"name":"@openfn/language-mssql@3.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@3.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@3.1.0","commit":{"sha":"ea3e071eaf01b4bb93482eabb0899575c73db406","url":"https://api.github.com/repos/OpenFn/adaptors/commits/ea3e071eaf01b4bb93482eabb0899575c73db406"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDMuMS4w"},{"name":"@openfn/language-msgraph@0.3.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-msgraph@0.3.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-msgraph@0.3.5","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zZ3JhcGhAMC4zLjU"},{"name":"@openfn/language-msgraph@0.3.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-msgraph@0.3.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-msgraph@0.3.4","commit":{"sha":"dbca3a3b63585eeb8a5ba9d0074dfd9e646d0747","url":"https://api.github.com/repos/OpenFn/adaptors/commits/dbca3a3b63585eeb8a5ba9d0074dfd9e646d0747"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zZ3JhcGhAMC4zLjQ"},{"name":"@openfn/language-msgraph@0.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-msgraph@0.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-msgraph@0.3.3","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zZ3JhcGhAMC4zLjM"},{"name":"@openfn/language-msgraph@0.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-msgraph@0.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-msgraph@0.3.2","commit":{"sha":"fa4feaead4b2a6281d1dbb1859b3760314217ca8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/fa4feaead4b2a6281d1dbb1859b3760314217ca8"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zZ3JhcGhAMC4zLjI"},{"name":"@openfn/language-msgraph@0.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-msgraph@0.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-msgraph@0.3.1","commit":{"sha":"95da6f2a8492f44a92bdc403f6adc33a76ebe4d6","url":"https://api.github.com/repos/OpenFn/adaptors/commits/95da6f2a8492f44a92bdc403f6adc33a76ebe4d6"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zZ3JhcGhAMC4zLjE"},{"name":"@openfn/language-msgraph@0.3.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-msgraph@0.3.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-msgraph@0.3.0","commit":{"sha":"12faef5ded95acaf0b148aa9a6fdde1c0a4b7111","url":"https://api.github.com/repos/OpenFn/adaptors/commits/12faef5ded95acaf0b148aa9a6fdde1c0a4b7111"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zZ3JhcGhAMC4zLjA"},{"name":"@openfn/language-msgraph@0.2.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-msgraph@0.2.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-msgraph@0.2.0","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zZ3JhcGhAMC4yLjA"},{"name":"@openfn/language-msgraph@0.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-msgraph@0.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-msgraph@0.1.1","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zZ3JhcGhAMC4xLjE"},{"name":"@openfn/language-msgraph@0.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-msgraph@0.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-msgraph@0.1.0","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zZ3JhcGhAMC4xLjA"},{"name":"@openfn/language-mongodb@2.0.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mongodb@2.0.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mongodb@2.0.0","commit":{"sha":"4aaef4ffa5da2fad3f39866838d1eeff5f7bd546","url":"https://api.github.com/repos/OpenFn/adaptors/commits/4aaef4ffa5da2fad3f39866838d1eeff5f7bd546"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1vbmdvZGJAMi4wLjA"},{"name":"@openfn/language-mongodb@1.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mongodb@1.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mongodb@1.1.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1vbmdvZGJAMS4xLjE"},{"name":"@openfn/language-mongodb@1.0.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mongodb@1.0.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mongodb@1.0.6","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1vbmdvZGJAMS4wLjY"},{"name":"@openfn/language-mongodb@1.0.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mongodb@1.0.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mongodb@1.0.5","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1vbmdvZGJAMS4wLjU"},{"name":"@openfn/language-mongodb@1.0.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mongodb@1.0.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mongodb@1.0.4","commit":{"sha":"baf4c44731afd61bceb8496b778b2543973ee6b4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/baf4c44731afd61bceb8496b778b2543973ee6b4"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1vbmdvZGJAMS4wLjQ"},{"name":"@openfn/language-mogli@0.4.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mogli@0.4.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mogli@0.4.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1vZ2xpQDAuNC4x"},{"name":"@openfn/language-mogli@0.3.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mogli@0.3.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mogli@0.3.4","commit":{"sha":"a15f86e741a7b07234af7461f47ae2464bc14f4b","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a15f86e741a7b07234af7461f47ae2464bc14f4b"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1vZ2xpQDAuMy40"},{"name":"@openfn/language-mogli@0.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mogli@0.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mogli@0.3.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1vZ2xpQDAuMy4z"},{"name":"@openfn/language-mogli@0.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mogli@0.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mogli@0.3.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1vZ2xpQDAuMy4y"},{"name":"@openfn/language-mogli@0.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mogli@0.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mogli@0.3.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1vZ2xpQDAuMy4x"},{"name":"@openfn/language-medicmobile@0.4.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-medicmobile@0.4.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-medicmobile@0.4.2","commit":{"sha":"a71941741922908af34c3d6dd7edb744716ce85b","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a71941741922908af34c3d6dd7edb744716ce85b"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1lZGljbW9iaWxlQDAuNC4y"},{"name":"@openfn/language-medicmobile@0.4.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-medicmobile@0.4.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-medicmobile@0.4.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1lZGljbW9iaWxlQDAuNC4x"},{"name":"@openfn/language-medicmobile@0.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-medicmobile@0.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-medicmobile@0.3.3","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1lZGljbW9iaWxlQDAuMy4z"},{"name":"@openfn/language-medicmobile@0.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-medicmobile@0.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-medicmobile@0.3.2","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1lZGljbW9iaWxlQDAuMy4y"},{"name":"@openfn/language-medicmobile@0.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-medicmobile@0.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-medicmobile@0.3.1","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1lZGljbW9iaWxlQDAuMy4x"},{"name":"@openfn/language-medicmobile@0.3.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-medicmobile@0.3.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-medicmobile@0.3.0","commit":{"sha":"baf4c44731afd61bceb8496b778b2543973ee6b4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/baf4c44731afd61bceb8496b778b2543973ee6b4"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1lZGljbW9iaWxlQDAuMy4w"},{"name":"@openfn/language-maximo@0.4.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-maximo@0.4.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-maximo@0.4.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1heGltb0AwLjQuMQ"},{"name":"@openfn/language-maximo@0.3.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-maximo@0.3.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-maximo@0.3.5","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1heGltb0AwLjMuNQ"},{"name":"@openfn/language-maximo@0.3.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-maximo@0.3.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-maximo@0.3.4","commit":{"sha":"d6c0c7e39242ffea633e4f5b2569027feeaed2d4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/d6c0c7e39242ffea633e4f5b2569027feeaed2d4"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1heGltb0AwLjMuNA"},{"name":"@openfn/language-maximo@0.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-maximo@0.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-maximo@0.3.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1heGltb0AwLjMuMw"},{"name":"@openfn/language-maximo@0.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-maximo@0.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-maximo@0.3.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1heGltb0AwLjMuMg"},{"name":"@openfn/language-maximo@0.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-maximo@0.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-maximo@0.3.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1heGltb0AwLjMuMQ"},{"name":"@openfn/language-mailgun@0.4.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailgun@0.4.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailgun@0.4.3","commit":{"sha":"21315b88949b585291213b5959f80eb99a7fc335","url":"https://api.github.com/repos/OpenFn/adaptors/commits/21315b88949b585291213b5959f80eb99a7fc335"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxndW5AMC40LjM"},{"name":"@openfn/language-mailgun@0.4.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailgun@0.4.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailgun@0.4.2","commit":{"sha":"a71941741922908af34c3d6dd7edb744716ce85b","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a71941741922908af34c3d6dd7edb744716ce85b"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxndW5AMC40LjI"},{"name":"@openfn/language-mailgun@0.4.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailgun@0.4.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailgun@0.4.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxndW5AMC40LjE"},{"name":"@openfn/language-mailgun@0.3.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailgun@0.3.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailgun@0.3.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxndW5AMC4zLjQ"},{"name":"@openfn/language-mailgun@0.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailgun@0.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailgun@0.3.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxndW5AMC4zLjM"},{"name":"@openfn/language-mailgun@0.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailgun@0.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailgun@0.3.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxndW5AMC4zLjI"},{"name":"@openfn/language-mailgun@0.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailgun@0.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailgun@0.3.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxndW5AMC4zLjE"},{"name":"@openfn/language-mailchimp@0.7.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailchimp@0.7.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailchimp@0.7.1","commit":{"sha":"5452145a3e54e281bd242b87386953f4e4928aae","url":"https://api.github.com/repos/OpenFn/adaptors/commits/5452145a3e54e281bd242b87386953f4e4928aae"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxjaGltcEAwLjcuMQ"},{"name":"@openfn/language-mailchimp@0.7.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailchimp@0.7.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailchimp@0.7.0","commit":{"sha":"f88f0ca0b5316015c36f187d9596bd34a7f51944","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f88f0ca0b5316015c36f187d9596bd34a7f51944"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxjaGltcEAwLjcuMA"},{"name":"@openfn/language-mailchimp@0.6.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailchimp@0.6.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailchimp@0.6.0","commit":{"sha":"dbca3a3b63585eeb8a5ba9d0074dfd9e646d0747","url":"https://api.github.com/repos/OpenFn/adaptors/commits/dbca3a3b63585eeb8a5ba9d0074dfd9e646d0747"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxjaGltcEAwLjYuMA"},{"name":"@openfn/language-mailchimp@0.5.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailchimp@0.5.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailchimp@0.5.0","commit":{"sha":"83e4f65d59c47551e9922a6213c296335c58fdb7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/83e4f65d59c47551e9922a6213c296335c58fdb7"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxjaGltcEAwLjUuMA"},{"name":"@openfn/language-mailchimp@0.4.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailchimp@0.4.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailchimp@0.4.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxjaGltcEAwLjQuMQ"},{"name":"@openfn/language-mailchimp@0.3.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailchimp@0.3.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailchimp@0.3.5","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxjaGltcEAwLjMuNQ"},{"name":"@openfn/language-mailchimp@0.3.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailchimp@0.3.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailchimp@0.3.4","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxjaGltcEAwLjMuNA"},{"name":"@openfn/language-mailchimp@0.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailchimp@0.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailchimp@0.3.3","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxjaGltcEAwLjMuMw"},{"name":"@openfn/language-mailchimp@0.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailchimp@0.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailchimp@0.3.2","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxjaGltcEAwLjMuMg"},{"name":"@openfn/language-mailchimp@0.3.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailchimp@0.3.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailchimp@0.3.0","commit":{"sha":"baf4c44731afd61bceb8496b778b2543973ee6b4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/baf4c44731afd61bceb8496b778b2543973ee6b4"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxjaGltcEAwLjMuMA"},{"name":"@openfn/language-magpi@1.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-magpi@1.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-magpi@1.1.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1hZ3BpQDEuMS4x"},{"name":"@openfn/language-magpi@1.0.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-magpi@1.0.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-magpi@1.0.5","commit":{"sha":"a15f86e741a7b07234af7461f47ae2464bc14f4b","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a15f86e741a7b07234af7461f47ae2464bc14f4b"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1hZ3BpQDEuMC41"},{"name":"@openfn/language-magpi@1.0.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-magpi@1.0.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-magpi@1.0.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1hZ3BpQDEuMC40"},{"name":"@openfn/language-magpi@1.0.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-magpi@1.0.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-magpi@1.0.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1hZ3BpQDEuMC4z"},{"name":"@openfn/language-magpi@1.0.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-magpi@1.0.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-magpi@1.0.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1hZ3BpQDEuMC4y"},{"name":"@openfn/language-magpi@1.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-magpi@1.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-magpi@1.0.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1hZ3BpQDEuMC4x"},{"name":"@openfn/language-kobotoolbox@2.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-kobotoolbox@2.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-kobotoolbox@2.1.0","commit":{"sha":"5452145a3e54e281bd242b87386953f4e4928aae","url":"https://api.github.com/repos/OpenFn/adaptors/commits/5452145a3e54e281bd242b87386953f4e4928aae"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtvYm90b29sYm94QDIuMS4w"},{"name":"@openfn/language-kobotoolbox@2.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-kobotoolbox@2.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-kobotoolbox@2.0.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtvYm90b29sYm94QDIuMC4x"},{"name":"@openfn/language-kobotoolbox@1.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-kobotoolbox@1.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-kobotoolbox@1.3.3","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtvYm90b29sYm94QDEuMy4z"},{"name":"@openfn/language-kobotoolbox@1.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-kobotoolbox@1.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-kobotoolbox@1.3.2","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtvYm90b29sYm94QDEuMy4y"},{"name":"@openfn/language-kobotoolbox@1.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-kobotoolbox@1.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-kobotoolbox@1.3.1","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtvYm90b29sYm94QDEuMy4x"},{"name":"@openfn/language-kobotoolbox@1.3.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-kobotoolbox@1.3.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-kobotoolbox@1.3.0","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtvYm90b29sYm94QDEuMy4w"},{"name":"@openfn/language-kobotoolbox@1.2.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-kobotoolbox@1.2.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-kobotoolbox@1.2.0","commit":{"sha":"baf4c44731afd61bceb8496b778b2543973ee6b4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/baf4c44731afd61bceb8496b778b2543973ee6b4"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtvYm90b29sYm94QDEuMi4w"},{"name":"@openfn/language-kobotoolbox@1.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-kobotoolbox@1.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-kobotoolbox@1.1.1","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtvYm90b29sYm94QDEuMS4x"},{"name":"@openfn/language-kobotoolbox@1.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-kobotoolbox@1.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-kobotoolbox@1.1.0","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtvYm90b29sYm94QDEuMS4w"},{"name":"@openfn/language-khanacademy@0.4.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-khanacademy@0.4.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-khanacademy@0.4.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtoYW5hY2FkZW15QDAuNC4x"},{"name":"@openfn/language-khanacademy@0.3.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-khanacademy@0.3.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-khanacademy@0.3.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtoYW5hY2FkZW15QDAuMy40"},{"name":"@openfn/language-khanacademy@0.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-khanacademy@0.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-khanacademy@0.3.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtoYW5hY2FkZW15QDAuMy4z"},{"name":"@openfn/language-khanacademy@0.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-khanacademy@0.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-khanacademy@0.3.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtoYW5hY2FkZW15QDAuMy4y"},{"name":"@openfn/language-khanacademy@0.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-khanacademy@0.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-khanacademy@0.3.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtoYW5hY2FkZW15QDAuMy4x"},{"name":"@openfn/language-http@5.0.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@5.0.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@5.0.3","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANS4wLjM"},{"name":"@openfn/language-http@5.0.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@5.0.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@5.0.2","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANS4wLjI"},{"name":"@openfn/language-http@5.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@5.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@5.0.1","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANS4wLjE"},{"name":"@openfn/language-http@5.0.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@5.0.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@5.0.0","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANS4wLjA"},{"name":"@openfn/language-http@4.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@4.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@4.3.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANC4zLjM"},{"name":"@openfn/language-http@4.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@4.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@4.3.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANC4zLjI"},{"name":"@openfn/language-http@4.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@4.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@4.3.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANC4zLjE"},{"name":"@openfn/language-http@4.2.8","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@4.2.8","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@4.2.8","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANC4yLjg"},{"name":"@openfn/language-http@4.2.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@4.2.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@4.2.7","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANC4yLjc"},{"name":"@openfn/language-http@4.2.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@4.2.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@4.2.6","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANC4yLjY"},{"name":"@openfn/language-http@4.2.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@4.2.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@4.2.5","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANC4yLjU"},{"name":"@openfn/language-http@4.2.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@4.2.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@4.2.4","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANC4yLjQ"},{"name":"@openfn/language-http@4.2.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@4.2.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@4.2.3","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANC4yLjM"},{"name":"@openfn/language-http@4.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@4.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@4.2.2","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANC4yLjI"},{"name":"@openfn/language-http@4.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@4.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@4.2.1","commit":{"sha":"ea3e071eaf01b4bb93482eabb0899575c73db406","url":"https://api.github.com/repos/OpenFn/adaptors/commits/ea3e071eaf01b4bb93482eabb0899575c73db406"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANC4yLjE"},{"name":"@openfn/language-http@4.2.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@4.2.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@4.2.0","commit":{"sha":"864af04f8a0def040b9dc1f7b406bdae6318fb42","url":"https://api.github.com/repos/OpenFn/adaptors/commits/864af04f8a0def040b9dc1f7b406bdae6318fb42"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANC4yLjA"},{"name":"@openfn/language-googlesheets@2.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-googlesheets@2.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-googlesheets@2.2.2","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoALXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvb2dsZXNoZWV0c0AyLjIuMg"},{"name":"@openfn/language-googlesheets@2.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-googlesheets@2.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-googlesheets@2.2.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoALXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvb2dsZXNoZWV0c0AyLjIuMQ"},{"name":"@openfn/language-googlesheets@2.1.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-googlesheets@2.1.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-googlesheets@2.1.6","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoALXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvb2dsZXNoZWV0c0AyLjEuNg"},{"name":"@openfn/language-googlesheets@2.1.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-googlesheets@2.1.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-googlesheets@2.1.5","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoALXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvb2dsZXNoZWV0c0AyLjEuNQ"},{"name":"@openfn/language-googlesheets@2.1.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-googlesheets@2.1.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-googlesheets@2.1.4","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoALXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvb2dsZXNoZWV0c0AyLjEuNA"},{"name":"@openfn/language-googlesheets@2.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-googlesheets@2.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-googlesheets@2.1.3","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoALXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvb2dsZXNoZWV0c0AyLjEuMw"},{"name":"@openfn/language-googlesheets@2.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-googlesheets@2.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-googlesheets@2.1.2","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoALXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvb2dsZXNoZWV0c0AyLjEuMg"},{"name":"@openfn/language-googlesheets@2.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-googlesheets@2.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-googlesheets@2.1.1","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoALXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvb2dsZXNoZWV0c0AyLjEuMQ"},{"name":"@openfn/language-googlesheets@2.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-googlesheets@2.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-googlesheets@2.1.0","commit":{"sha":"07f0d0452a809c6ea0445af5d32ec1cac0d06a64","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07f0d0452a809c6ea0445af5d32ec1cac0d06a64"},"node_id":"REF_kwDOIJZfltoALXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvb2dsZXNoZWV0c0AyLjEuMA"},{"name":"@openfn/language-googlehealthcare@1.0.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-googlehealthcare@1.0.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-googlehealthcare@1.0.0","commit":{"sha":"0a5e39a9c849282bfe5b59578abd71de761a679d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/0a5e39a9c849282bfe5b59578abd71de761a679d"},"node_id":"REF_kwDOIJZfltoAMXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvb2dsZWhlYWx0aGNhcmVAMS4wLjA"},{"name":"@openfn/language-googlehealthcare@0.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-googlehealthcare@0.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-googlehealthcare@0.1.0","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAMXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvb2dsZWhlYWx0aGNhcmVAMC4xLjA"},{"name":"@openfn/language-googlehealthcare@0.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-googlehealthcare@0.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-googlehealthcare@0.0.1","commit":{"sha":"636d8a7f1ff21d7362cce869e7edb04f72fb1828","url":"https://api.github.com/repos/OpenFn/adaptors/commits/636d8a7f1ff21d7362cce869e7edb04f72fb1828"},"node_id":"REF_kwDOIJZfltoAMXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvb2dsZWhlYWx0aGNhcmVAMC4wLjE"},{"name":"@openfn/language-godata@3.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-godata@3.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-godata@3.3.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvZGF0YUAzLjMuMQ"},{"name":"@openfn/language-godata@3.2.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-godata@3.2.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-godata@3.2.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvZGF0YUAzLjIuNA"},{"name":"@openfn/language-godata@3.2.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-godata@3.2.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-godata@3.2.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvZGF0YUAzLjIuMw"},{"name":"@openfn/language-godata@3.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-godata@3.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-godata@3.2.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvZGF0YUAzLjIuMg"},{"name":"@openfn/language-godata@3.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-godata@3.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-godata@3.2.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvZGF0YUAzLjIuMQ"},{"name":"@openfn/language-fhir@3.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-fhir@3.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-fhir@3.1.0","commit":{"sha":"70c56c3a0f867754958944a1f4f7608d12ca5047","url":"https://api.github.com/repos/OpenFn/adaptors/commits/70c56c3a0f867754958944a1f4f7608d12ca5047"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZoaXJAMy4xLjA"},{"name":"@openfn/language-fhir@3.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-fhir@3.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-fhir@3.0.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZoaXJAMy4wLjE"},{"name":"@openfn/language-fhir@2.0.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-fhir@2.0.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-fhir@2.0.0","commit":{"sha":"00811f8d3f2fd3c58c08e3631b439c467b0fc614","url":"https://api.github.com/repos/OpenFn/adaptors/commits/00811f8d3f2fd3c58c08e3631b439c467b0fc614"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZoaXJAMi4wLjA"},{"name":"@openfn/language-fhir@1.1.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-fhir@1.1.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-fhir@1.1.5","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZoaXJAMS4xLjU"},{"name":"@openfn/language-fhir@1.1.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-fhir@1.1.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-fhir@1.1.4","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZoaXJAMS4xLjQ"},{"name":"@openfn/language-fhir@1.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-fhir@1.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-fhir@1.1.3","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZoaXJAMS4xLjM"},{"name":"@openfn/language-fhir@1.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-fhir@1.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-fhir@1.1.2","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZoaXJAMS4xLjI"},{"name":"@openfn/language-fhir@1.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-fhir@1.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-fhir@1.1.1","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZoaXJAMS4xLjE"},{"name":"@openfn/language-fhir@1.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-fhir@1.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-fhir@1.1.0","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZoaXJAMS4xLjA"},{"name":"@openfn/language-facebook@0.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-facebook@0.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-facebook@0.3.2","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZhY2Vib29rQDAuMy4y"},{"name":"@openfn/language-facebook@0.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-facebook@0.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-facebook@0.3.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZhY2Vib29rQDAuMy4x"},{"name":"@openfn/language-facebook@0.2.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-facebook@0.2.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-facebook@0.2.3","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZhY2Vib29rQDAuMi4z"},{"name":"@openfn/language-facebook@0.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-facebook@0.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-facebook@0.2.2","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZhY2Vib29rQDAuMi4y"},{"name":"@openfn/language-facebook@0.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-facebook@0.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-facebook@0.2.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZhY2Vib29rQDAuMi4x"},{"name":"@openfn/language-dynamics@0.4.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dynamics@0.4.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dynamics@0.4.7","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWR5bmFtaWNzQDAuNC43"},{"name":"@openfn/language-dynamics@0.4.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dynamics@0.4.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dynamics@0.4.6","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWR5bmFtaWNzQDAuNC42"},{"name":"@openfn/language-dynamics@0.4.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dynamics@0.4.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dynamics@0.4.5","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWR5bmFtaWNzQDAuNC41"},{"name":"@openfn/language-dynamics@0.4.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dynamics@0.4.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dynamics@0.4.4","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWR5bmFtaWNzQDAuNC40"},{"name":"@openfn/language-dynamics@0.4.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dynamics@0.4.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dynamics@0.4.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWR5bmFtaWNzQDAuNC4z"},{"name":"@openfn/language-dynamics@0.4.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dynamics@0.4.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dynamics@0.4.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWR5bmFtaWNzQDAuNC4y"},{"name":"@openfn/language-dynamics@0.4.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dynamics@0.4.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dynamics@0.4.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWR5bmFtaWNzQDAuNC4x"},{"name":"@openfn/language-dynamics@0.3.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dynamics@0.3.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dynamics@0.3.5","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWR5bmFtaWNzQDAuMy41"},{"name":"@openfn/language-dynamics@0.3.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dynamics@0.3.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dynamics@0.3.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWR5bmFtaWNzQDAuMy40"},{"name":"@openfn/language-dynamics@0.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dynamics@0.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dynamics@0.3.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWR5bmFtaWNzQDAuMy4z"},{"name":"@openfn/language-dynamics@0.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dynamics@0.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dynamics@0.3.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWR5bmFtaWNzQDAuMy4y"},{"name":"@openfn/language-dynamics@0.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dynamics@0.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dynamics@0.3.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWR5bmFtaWNzQDAuMy4x"},{"name":"@openfn/language-dhis2@4.0.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@4.0.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@4.0.2","commit":{"sha":"0a5e39a9c849282bfe5b59578abd71de761a679d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/0a5e39a9c849282bfe5b59578abd71de761a679d"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDQuMC4y"},{"name":"@openfn/language-dhis2@4.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@4.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@4.0.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDQuMC4x"},{"name":"@openfn/language-dhis2@3.2.12","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.12","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.12","commit":{"sha":"a4d370b1d341e1678ccfbb1ff95342fb379a16c6","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a4d370b1d341e1678ccfbb1ff95342fb379a16c6"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi4xMg"},{"name":"@openfn/language-dhis2@3.2.11","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.11","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.11","commit":{"sha":"0bdc5ee1f7f14ee15bc4614fd6d4f44907e986d1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/0bdc5ee1f7f14ee15bc4614fd6d4f44907e986d1"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi4xMQ"},{"name":"@openfn/language-dhis2@3.2.10","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.10","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.10","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi4xMA"},{"name":"@openfn/language-dhis2@3.2.9","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.9","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.9","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi45"},{"name":"@openfn/language-dhis2@3.2.8","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.8","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.8","commit":{"sha":"c1fcc05f76fd245b8892091e23385f87f5dff3fd","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c1fcc05f76fd245b8892091e23385f87f5dff3fd"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi44"},{"name":"@openfn/language-dhis2@3.2.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.7","commit":{"sha":"f5cf160440f03f0455a0251d8fc8ac6026665e49","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f5cf160440f03f0455a0251d8fc8ac6026665e49"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi43"},{"name":"@openfn/language-dhis2@3.2.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.6","commit":{"sha":"3b1a650aacca463493b36fc59fa10050cbec2b41","url":"https://api.github.com/repos/OpenFn/adaptors/commits/3b1a650aacca463493b36fc59fa10050cbec2b41"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi42"},{"name":"@openfn/language-dhis2@3.2.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.5","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi41"},{"name":"@openfn/language-dhis2@3.2.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.4","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi40"},{"name":"@openfn/language-dhis2@3.2.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.3","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi4z"},{"name":"@openfn/language-dhis2@3.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.2","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi4y"},{"name":"@openfn/language-dhis2@3.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.1","commit":{"sha":"ea3e071eaf01b4bb93482eabb0899575c73db406","url":"https://api.github.com/repos/OpenFn/adaptors/commits/ea3e071eaf01b4bb93482eabb0899575c73db406"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi4x"},{"name":"@openfn/language-dhis2@3.2.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.0","commit":{"sha":"864af04f8a0def040b9dc1f7b406bdae6318fb42","url":"https://api.github.com/repos/OpenFn/adaptors/commits/864af04f8a0def040b9dc1f7b406bdae6318fb42"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi4w"},{"name":"@openfn/language-common@1.11.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-common@1.11.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-common@1.11.0","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1vbkAxLjExLjA"},{"name":"@openfn/language-common@1.10.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-common@1.10.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-common@1.10.3","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1vbkAxLjEwLjM"},{"name":"@openfn/language-common@1.10.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-common@1.10.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-common@1.10.2","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1vbkAxLjEwLjI"},{"name":"@openfn/language-common@1.10.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-common@1.10.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-common@1.10.1","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1vbkAxLjEwLjE"},{"name":"@openfn/language-common@1.10.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-common@1.10.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-common@1.10.0","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1vbkAxLjEwLjA"},{"name":"@openfn/language-common@1.9.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-common@1.9.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-common@1.9.0","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1vbkAxLjkuMA"},{"name":"@openfn/language-common@1.8.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-common@1.8.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-common@1.8.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1vbkAxLjguMQ"},{"name":"@openfn/language-common@1.7.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-common@1.7.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-common@1.7.7","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1vbkAxLjcuNw"},{"name":"@openfn/language-common@1.7.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-common@1.7.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-common@1.7.6","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1vbkAxLjcuNg"},{"name":"@openfn/language-common@1.7.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-common@1.7.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-common@1.7.5","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1vbkAxLjcuNQ"},{"name":"@openfn/language-common@1.7.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-common@1.7.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-common@1.7.4","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1vbkAxLjcuNA"},{"name":"@openfn/language-commcare@1.6.9","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.6.9","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.6.9","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNi45"},{"name":"@openfn/language-commcare@1.6.8","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.6.8","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.6.8","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNi44"},{"name":"@openfn/language-commcare@1.6.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.6.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.6.7","commit":{"sha":"a71941741922908af34c3d6dd7edb744716ce85b","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a71941741922908af34c3d6dd7edb744716ce85b"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNi43"},{"name":"@openfn/language-commcare@1.6.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.6.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.6.6","commit":{"sha":"0a5e39a9c849282bfe5b59578abd71de761a679d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/0a5e39a9c849282bfe5b59578abd71de761a679d"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNi42"},{"name":"@openfn/language-commcare@1.6.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.6.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.6.5","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNi41"},{"name":"@openfn/language-commcare@1.6.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.6.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.6.4","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNi40"},{"name":"@openfn/language-commcare@1.6.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.6.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.6.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNi4z"},{"name":"@openfn/language-commcare@1.6.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.6.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.6.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNi4y"},{"name":"@openfn/language-commcare@1.6.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.6.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.6.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNi4x"},{"name":"@openfn/language-commcare@1.5.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.5.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.5.6","commit":{"sha":"8e44ede59f7c5ba825414a84c46b1a677b92d7e4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/8e44ede59f7c5ba825414a84c46b1a677b92d7e4"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNS42"},{"name":"@openfn/language-commcare@1.5.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.5.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.5.5","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNS41"},{"name":"@openfn/language-commcare@1.5.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.5.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.5.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNS40"},{"name":"@openfn/language-commcare@1.5.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.5.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.5.3","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNS4z"},{"name":"@openfn/language-commcare@1.5.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.5.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.5.1","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNS4x"},{"name":"@openfn/language-commcare@1.5.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.5.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.5.0","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNS4w"},{"name":"@openfn/language-cartodb@0.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-cartodb@0.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-cartodb@0.2.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNhcnRvZGJAMC4yLjE"},{"name":"@openfn/language-cartodb@0.1.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-cartodb@0.1.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-cartodb@0.1.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNhcnRvZGJAMC4xLjQ"},{"name":"@openfn/language-cartodb@0.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-cartodb@0.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-cartodb@0.1.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNhcnRvZGJAMC4xLjM"},{"name":"@openfn/language-cartodb@0.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-cartodb@0.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-cartodb@0.1.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNhcnRvZGJAMC4xLjI"},{"name":"@openfn/language-cartodb@0.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-cartodb@0.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-cartodb@0.1.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNhcnRvZGJAMC4xLjE"},{"name":"@openfn/language-bigquery@2.0.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-bigquery@2.0.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-bigquery@2.0.3","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJpZ3F1ZXJ5QDIuMC4z"},{"name":"@openfn/language-bigquery@2.0.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-bigquery@2.0.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-bigquery@2.0.2","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJpZ3F1ZXJ5QDIuMC4y"},{"name":"@openfn/language-bigquery@2.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-bigquery@2.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-bigquery@2.0.1","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJpZ3F1ZXJ5QDIuMC4x"},{"name":"@openfn/language-bigquery@2.0.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-bigquery@2.0.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-bigquery@2.0.0","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJpZ3F1ZXJ5QDIuMC4w"},{"name":"@openfn/language-bigquery@1.2.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-bigquery@1.2.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-bigquery@1.2.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJpZ3F1ZXJ5QDEuMi4z"},{"name":"@openfn/language-bigquery@1.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-bigquery@1.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-bigquery@1.2.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJpZ3F1ZXJ5QDEuMi4y"},{"name":"@openfn/language-bigquery@1.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-bigquery@1.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-bigquery@1.2.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJpZ3F1ZXJ5QDEuMi4x"},{"name":"@openfn/language-bigquery@1.1.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-bigquery@1.1.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-bigquery@1.1.5","commit":{"sha":"a15f86e741a7b07234af7461f47ae2464bc14f4b","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a15f86e741a7b07234af7461f47ae2464bc14f4b"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJpZ3F1ZXJ5QDEuMS41"},{"name":"@openfn/language-bigquery@1.1.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-bigquery@1.1.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-bigquery@1.1.4","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJpZ3F1ZXJ5QDEuMS40"},{"name":"@openfn/language-bigquery@1.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-bigquery@1.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-bigquery@1.1.3","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJpZ3F1ZXJ5QDEuMS4z"},{"name":"@openfn/language-bigquery@1.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-bigquery@1.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-bigquery@1.1.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJpZ3F1ZXJ5QDEuMS4y"},{"name":"@openfn/language-bigquery@1.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-bigquery@1.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-bigquery@1.1.0","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJpZ3F1ZXJ5QDEuMS4w"},{"name":"@openfn/language-beyonic@0.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-beyonic@0.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-beyonic@0.2.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJleW9uaWNAMC4yLjE"},{"name":"@openfn/language-beyonic@0.1.9","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-beyonic@0.1.9","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-beyonic@0.1.9","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJleW9uaWNAMC4xLjk"},{"name":"@openfn/language-beyonic@0.1.8","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-beyonic@0.1.8","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-beyonic@0.1.8","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJleW9uaWNAMC4xLjg"},{"name":"@openfn/language-beyonic@0.1.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-beyonic@0.1.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-beyonic@0.1.7","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJleW9uaWNAMC4xLjc"},{"name":"@openfn/language-beyonic@0.1.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-beyonic@0.1.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-beyonic@0.1.6","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJleW9uaWNAMC4xLjY"},{"name":"@openfn/language-beyonic@0.1.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-beyonic@0.1.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-beyonic@0.1.5","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJleW9uaWNAMC4xLjU"},{"name":"@openfn/language-beyonic@0.1.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-beyonic@0.1.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-beyonic@0.1.4","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJleW9uaWNAMC4xLjQ"},{"name":"@openfn/language-beyonic@0.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-beyonic@0.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-beyonic@0.1.3","commit":{"sha":"2baee4d9ccd7c0df60bb38e83c5d4dbcfebbf775","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2baee4d9ccd7c0df60bb38e83c5d4dbcfebbf775"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJleW9uaWNAMC4xLjM"},{"name":"@openfn/language-beyonic@0.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-beyonic@0.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-beyonic@0.1.2","commit":{"sha":"278e3c61a1cdcb14b452d5e7cb613414c68e1dc5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/278e3c61a1cdcb14b452d5e7cb613414c68e1dc5"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJleW9uaWNAMC4xLjI"},{"name":"@openfn/language-beyonic@0.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-beyonic@0.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-beyonic@0.1.1","commit":{"sha":"07f0d0452a809c6ea0445af5d32ec1cac0d06a64","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07f0d0452a809c6ea0445af5d32ec1cac0d06a64"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJleW9uaWNAMC4xLjE"},{"name":"@openfn/language-beyonic@0.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-beyonic@0.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-beyonic@0.1.0","commit":{"sha":"ea3e071eaf01b4bb93482eabb0899575c73db406","url":"https://api.github.com/repos/OpenFn/adaptors/commits/ea3e071eaf01b4bb93482eabb0899575c73db406"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJleW9uaWNAMC4xLjA"},{"name":"@openfn/language-asana@3.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-asana@3.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-asana@3.0.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWFzYW5hQDMuMC4x"},{"name":"@openfn/language-asana@2.1.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-asana@2.1.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-asana@2.1.6","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWFzYW5hQDIuMS42"},{"name":"@openfn/language-asana@2.1.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-asana@2.1.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-asana@2.1.5","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWFzYW5hQDIuMS41"},{"name":"@openfn/language-asana@2.1.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-asana@2.1.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-asana@2.1.4","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWFzYW5hQDIuMS40"},{"name":"@openfn/language-asana@2.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-asana@2.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-asana@2.1.3","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWFzYW5hQDIuMS4z"},{"name":"@openfn/language-asana@2.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-asana@2.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-asana@2.1.2","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWFzYW5hQDIuMS4y"},{"name":"@openfn/language-asana@2.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-asana@2.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-asana@2.1.1","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWFzYW5hQDIuMS4x"},{"name":"@openfn/language-asana@2.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-asana@2.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-asana@2.1.0","commit":{"sha":"ea3e071eaf01b4bb93482eabb0899575c73db406","url":"https://api.github.com/repos/OpenFn/adaptors/commits/ea3e071eaf01b4bb93482eabb0899575c73db406"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWFzYW5hQDIuMS4w"},{"name":"@openfn/buildtools@1.0.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/buildtools@1.0.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/buildtools@1.0.2","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAInJlZnMvdGFncy9Ab3BlbmZuL2J1aWxkdG9vbHNAMS4wLjI"},{"name":"@openfn/buildtools@1.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/buildtools@1.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/buildtools@1.0.1","commit":{"sha":"864af04f8a0def040b9dc1f7b406bdae6318fb42","url":"https://api.github.com/repos/OpenFn/adaptors/commits/864af04f8a0def040b9dc1f7b406bdae6318fb42"},"node_id":"REF_kwDOIJZfltoAInJlZnMvdGFncy9Ab3BlbmZuL2J1aWxkdG9vbHNAMS4wLjE"},{"name":"import-tests@1.0.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/import-tests@1.0.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/import-tests@1.0.0","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZflrxyZWZzL3RhZ3MvaW1wb3J0LXRlc3RzQDEuMC4w"}]')),f=JSON.parse('[{"module":"asana","name":"Asana","versions":["v1.0.1","v2.0.0","v2.1.0"],"npm":"v2.1.0","public":true},{"module":"beyonic","name":"Beyonic","versions":["v0.1.3"],"npm":"v0.1.0","public":true},{"module":"cartodb","name":"Carto","versions":["v0.0.4"],"public":true},{"module":"commcare","name":"CommCareHQ","versions":["v1.2.1","v1.4.1"],"public":true},{"module":"dhis2","name":"DHIS2","versions":["v1.0.1","v1.3.0","v2.0.4","v2.0.8","v2.0.11","v3.0.1","v3.0.4","v3.0.5","v3.2.1"],"npm":"v3.2.1","public":true},{"module":"dynamics","name":"Microsoft Dynamics","versions":["v0.2.0"],"public":true},{"module":"googlesheets","name":"Google Sheets","versions":["v1.0.2","v2.0.0","v2.1.0"],"npm":"v2.1.0","public":true},{"module":"facebook","name":"Facebook Messenger","versions":["v0.1.0"],"public":true},{"module":"godata","name":"Go.Data","versions":["v3.1.0"],"public":true},{"module":"http","name":"HTTP","versions":["v2.4.15","v3.1.7","v3.1.11","v3.1.12","v4.0.0","v4.2.1"],"public":true,"npm":"v4.1.0"},{"module":"khanacademy","name":"Khan Academy","versions":["v0.2.0"],"public":true},{"module":"kobotoolbox","name":"Kobo Toolbox","versions":["v1.0.4"],"public":true},{"module":"magpi","name":"Magpi","versions":["v0.3.2"],"public":true},{"module":"mailchimp","name":"Mailchimp","versions":["v0.2.0"],"public":true},{"module":"mailgun","name":"Mailgun","versions":["v0.2.2"],"public":true},{"module":"maximo","name":"IBM Maximo EAM","versions":["v0.2.0"],"public":true},{"module":"medicmobile","name":"Medic Mobile","versions":["v0.2.0"],"public":true},{"module":"mogli","name":"Mogli SMS","versions":["v0.2.1"],"public":true},{"module":"mongodb","name":"MongoDB","versions":["v1.0.4"],"public":true},{"module":"mssql","name":"Azure/MS SQL","versions":["v2.3.3","v2.6.1","v2.6.4","v2.6.9","v2.6.11","v3.0.0","v3.1.0"],"npm":"v3.1.0","public":true},{"module":"mysql","name":"MySQL","versions":["v1.1.1","v1.2.0"],"public":true},{"module":"nexmo","name":"Nexmo","versions":["v0.1.1"],"public":true},{"module":"openfn","name":"OpenFn","versions":["v1.1.3","v1.1.4"],"public":true},{"module":"openhim","name":"OpenHIM","versions":["v0.0.3"],"public":true},{"module":"openmrs","name":"OpenMRS","versions":["v0.9.2"],"public":true},{"module":"postgresql","name":"PostgreSQL","versions":["v2.4.0","v3.1.4","v3.3.2","v3.3.1","v3.3.3","v3.4.0"],"npm":"v3.4.0","public":true},{"module":"primero","name":"Primero","versions":["v1.2.0","v2.2.3","v2.2.8","v2.3.4","v2.3.5","v2.3.6","v2.4.4","v2.7.0","v2.7.2","v2.8.0","v2.9.1","v2.9.2","v2.10.0"],"npm":"v2.9.1","public":true},{"module":"progres","name":"Progres","versions":["v1.1.0"],"public":true},{"module":"rapidpro","name":"RapidPro","versions":["v0.4.7"],"public":true},{"module":"resourcemap","name":"Resource Map","versions":["v0.1.0"],"public":true},{"module":"salesforce","name":"Salesforce","versions":["v1.3.2","v2.3.2","v2.3.5","v2.4.0","v2.6.3","v2.7.2","v2.7.3","v2.7.4","v2.8.1","v2.9.0","v2.10.0","v2.11.0"],"npm":"v2.11.0","public":true},{"module":"sftp","name":"SFTP","versions":["v0.3.3","v0.4.0","v0.6.1","v0.6.2"],"npm":"v0.6.1","public":true},{"module":"smpp","name":"SMPP","versions":["v1.1.0"],"public":true},{"module":"surveycto","name":"SurveyCTO","versions":["v1.0.0"],"public":true},{"module":"telerivet","name":"Telerivet","versions":["v0.0.2"],"public":true},{"module":"twilio","name":"Twilio","versions":["v0.2.0","v0.2.1"],"public":true},{"module":"vtiger","name":"vtiger CRM","versions":["v1.0.0"],"public":true},{"module":"zoho","name":"Zoho Reports","versions":["v0.0.2","v0.1.0"],"public":true}]');function u(){const a={};g.filter((a=>a.name.includes("language-"))).map((a=>{const e=a.name,p=e.substring(e.indexOf("-")+1,e.lastIndexOf("@")),n=e.split("@")[2];return{module:p,version:n,url:`https://github.com/OpenFn/adaptors/tree/%40openfn/language-${p}%40${n}/packages/${p}`}})).forEach((e=>{a[e.module]={module:e.module,versions:{...a[e.module]?.versions,[e.version]:{version:`v${e.version}`,url:e.url}}}})),f.forEach((e=>{a[e.module]={module:a[e.module]?.module||e.module,versions:{...a[e.module]?.versions}};e.versions.filter((a=>!e.npm||-1==l(a.substring(1),e.npm.substring(1)))).forEach((p=>{a[e.module].versions[p]={version:p,url:`https://www.github.com/openfn/language-${e.module}/tree/${p}`}}))}));return Object.values(a).sort(((a,e)=>a.module>e.module?1:e.module>a.module?-1:0)).map((a=>({...a,versions:Object.values(a.versions)})))}const h=JSON.parse('[{"name":"asana","docsId":"packages/asana-docs","readmeId":"packages/asana-readme","changelogId":"packages/asana-changelog","configurationSchemaId":"packages/asana-configuration-schema"},{"name":"beyonic","docsId":"packages/beyonic-docs","readmeId":"packages/beyonic-readme","changelogId":"packages/beyonic-changelog","configurationSchemaId":"packages/beyonic-configuration-schema"},{"name":"bigquery","docsId":"packages/bigquery-docs","readmeId":"packages/bigquery-readme","changelogId":"packages/bigquery-changelog","configurationSchemaId":"packages/bigquery-configuration-schema"},{"name":"commcare","docsId":"packages/commcare-docs","readmeId":"packages/commcare-readme","changelogId":"packages/commcare-changelog","configurationSchemaId":"packages/commcare-configuration-schema"},{"name":"common","docsId":"packages/common-docs","readmeId":"packages/common-readme","changelogId":"packages/common-changelog","configurationSchemaId":"packages/common-configuration-schema"},{"name":"dhis2","docsId":"packages/dhis2-docs","readmeId":"packages/dhis2-readme","changelogId":"packages/dhis2-changelog","configurationSchemaId":"packages/dhis2-configuration-schema"},{"name":"dynamics","docsId":"packages/dynamics-docs","readmeId":"packages/dynamics-readme","changelogId":"packages/dynamics-changelog","configurationSchemaId":"packages/dynamics-configuration-schema"},{"name":"facebook","docsId":"packages/facebook-docs","readmeId":"packages/facebook-readme","changelogId":"packages/facebook-changelog","configurationSchemaId":"packages/facebook-configuration-schema"},{"name":"fhir","docsId":"packages/fhir-docs","readmeId":"packages/fhir-readme","changelogId":"packages/fhir-changelog","configurationSchemaId":"packages/fhir-configuration-schema"},{"name":"godata","docsId":"packages/godata-docs","readmeId":"packages/godata-readme","changelogId":"packages/godata-changelog","configurationSchemaId":"packages/godata-configuration-schema"},{"name":"googlehealthcare","docsId":"packages/googlehealthcare-docs","readmeId":"packages/googlehealthcare-readme","changelogId":"packages/googlehealthcare-changelog","configurationSchemaId":"packages/googlehealthcare-configuration-schema"},{"name":"googlesheets","docsId":"packages/googlesheets-docs","readmeId":"packages/googlesheets-readme","changelogId":"packages/googlesheets-changelog","configurationSchemaId":"packages/googlesheets-configuration-schema"},{"name":"http","docsId":"packages/http-docs","readmeId":"packages/http-readme","changelogId":"packages/http-changelog","configurationSchemaId":"packages/http-configuration-schema"},{"name":"khanacademy","docsId":"packages/khanacademy-docs","readmeId":"packages/khanacademy-readme","changelogId":"packages/khanacademy-changelog","configurationSchemaId":"packages/khanacademy-configuration-schema"},{"name":"kobotoolbox","docsId":"packages/kobotoolbox-docs","readmeId":"packages/kobotoolbox-readme","changelogId":"packages/kobotoolbox-changelog","configurationSchemaId":"packages/kobotoolbox-configuration-schema"},{"name":"magpi","docsId":"packages/magpi-docs","readmeId":"packages/magpi-readme","changelogId":"packages/magpi-changelog","configurationSchemaId":"packages/magpi-configuration-schema"},{"name":"mailchimp","docsId":"packages/mailchimp-docs","readmeId":"packages/mailchimp-readme","changelogId":"packages/mailchimp-changelog","configurationSchemaId":"packages/mailchimp-configuration-schema"},{"name":"mailgun","docsId":"packages/mailgun-docs","readmeId":"packages/mailgun-readme","changelogId":"packages/mailgun-changelog","configurationSchemaId":"packages/mailgun-configuration-schema"},{"name":"maximo","docsId":"packages/maximo-docs","readmeId":"packages/maximo-readme","changelogId":"packages/maximo-changelog","configurationSchemaId":"packages/maximo-configuration-schema"},{"name":"medicmobile","docsId":"packages/medicmobile-docs","readmeId":"packages/medicmobile-readme","changelogId":"packages/medicmobile-changelog","configurationSchemaId":"packages/medicmobile-configuration-schema"},{"name":"mogli","docsId":"packages/mogli-docs","readmeId":"packages/mogli-readme","changelogId":"packages/mogli-changelog","configurationSchemaId":"packages/mogli-configuration-schema"},{"name":"mongodb","docsId":"packages/mongodb-docs","readmeId":"packages/mongodb-readme","changelogId":"packages/mongodb-changelog","configurationSchemaId":"packages/mongodb-configuration-schema"},{"name":"msgraph","docsId":"packages/msgraph-docs","readmeId":"packages/msgraph-readme","changelogId":"packages/msgraph-changelog","configurationSchemaId":"packages/msgraph-configuration-schema"},{"name":"mssql","docsId":"packages/mssql-docs","readmeId":"packages/mssql-readme","changelogId":"packages/mssql-changelog","configurationSchemaId":"packages/mssql-configuration-schema"},{"name":"mysql","docsId":"packages/mysql-docs","readmeId":"packages/mysql-readme","changelogId":"packages/mysql-changelog","configurationSchemaId":"packages/mysql-configuration-schema"},{"name":"nexmo","docsId":"packages/nexmo-docs","readmeId":"packages/nexmo-readme","changelogId":"packages/nexmo-changelog","configurationSchemaId":"packages/nexmo-configuration-schema"},{"name":"ocl","docsId":"packages/ocl-docs","readmeId":"packages/ocl-readme","changelogId":"packages/ocl-changelog","configurationSchemaId":"packages/ocl-configuration-schema"},{"name":"openfn","docsId":"packages/openfn-docs","readmeId":"packages/openfn-readme","changelogId":"packages/openfn-changelog","configurationSchemaId":"packages/openfn-configuration-schema"},{"name":"openhim","docsId":"packages/openhim-docs","readmeId":"packages/openhim-readme","changelogId":"packages/openhim-changelog","configurationSchemaId":"packages/openhim-configuration-schema"},{"name":"openmrs","docsId":"packages/openmrs-docs","readmeId":"packages/openmrs-readme","changelogId":"packages/openmrs-changelog","configurationSchemaId":"packages/openmrs-configuration-schema"},{"name":"postgresql","docsId":"packages/postgresql-docs","readmeId":"packages/postgresql-readme","changelogId":"packages/postgresql-changelog","configurationSchemaId":"packages/postgresql-configuration-schema"},{"name":"primero","docsId":"packages/primero-docs","readmeId":"packages/primero-readme","changelogId":"packages/primero-changelog","configurationSchemaId":"packages/primero-configuration-schema"},{"name":"progres","docsId":"packages/progres-docs","readmeId":"packages/progres-readme","changelogId":"packages/progres-changelog","configurationSchemaId":"packages/progres-configuration-schema"},{"name":"rapidpro","docsId":"packages/rapidpro-docs","readmeId":"packages/rapidpro-readme","changelogId":"packages/rapidpro-changelog","configurationSchemaId":"packages/rapidpro-configuration-schema"},{"name":"resourcemap","docsId":"packages/resourcemap-docs","readmeId":"packages/resourcemap-readme","changelogId":"packages/resourcemap-changelog","configurationSchemaId":"packages/resourcemap-configuration-schema"},{"name":"salesforce","docsId":"packages/salesforce-docs","readmeId":"packages/salesforce-readme","changelogId":"packages/salesforce-changelog","configurationSchemaId":"packages/salesforce-configuration-schema"},{"name":"sftp","docsId":"packages/sftp-docs","readmeId":"packages/sftp-readme","changelogId":"packages/sftp-changelog","configurationSchemaId":"packages/sftp-configuration-schema"},{"name":"smpp","docsId":"packages/smpp-docs","readmeId":"packages/smpp-readme","changelogId":"packages/smpp-changelog","configurationSchemaId":"packages/smpp-configuration-schema"},{"name":"surveycto","docsId":"packages/surveycto-docs","readmeId":"packages/surveycto-readme","changelogId":"packages/surveycto-changelog","configurationSchemaId":"packages/surveycto-configuration-schema"},{"name":"telerivet","docsId":"packages/telerivet-docs","readmeId":"packages/telerivet-readme","changelogId":"packages/telerivet-changelog","configurationSchemaId":"packages/telerivet-configuration-schema"},{"name":"template","docsId":"packages/template-docs","readmeId":"packages/template-readme","changelogId":"packages/template-changelog","configurationSchemaId":"packages/template-configuration-schema"},{"name":"twilio","docsId":"packages/twilio-docs","readmeId":"packages/twilio-readme","changelogId":"packages/twilio-changelog","configurationSchemaId":"packages/twilio-configuration-schema"},{"name":"vtiger","docsId":"packages/vtiger-docs","readmeId":"packages/vtiger-readme","changelogId":"packages/vtiger-changelog","configurationSchemaId":"packages/vtiger-configuration-schema"},{"name":"zoho","docsId":"packages/zoho-docs","readmeId":"packages/zoho-readme","changelogId":"packages/zoho-changelog","configurationSchemaId":"packages/zoho-configuration-schema"}]'),F={id:"adaptors-intro",title:"Adaptors",sidebar_label:"Introduction",slug:"/"},O=void 0,_={unversionedId:"adaptors-intro",id:"adaptors-intro",title:"Adaptors",description:"Connect Anything.",source:"@site/adaptors/intro.mdx",sourceDirName:".",slug:"/",permalink:"/adaptors/",draft:!1,tags:[],version:"current",frontMatter:{id:"adaptors-intro",title:"Adaptors",sidebar_label:"Introduction",slug:"/"},sidebar:"adaptors",next:{title:"Library Examples",permalink:"/adaptors/library"}},Z={},A=[{value:"Connect Anything.",id:"connect-anything",level:2},{value:"What's an adaptor?",id:"whats-an-adaptor",level:2},{value:"Where to find them",id:"where-to-find-them",level:2},{value:"On the OpenFn platform",id:"on-the-openfn-platform",level:3},{value:"On npm",id:"on-npm",level:3},{value:"Install on platform via npm",id:"install-on-platform-via-npm",level:4},{value:"Building and extending adaptors",id:"building-and-extending-adaptors",level:2}],L={toc:A},J="wrapper";function z(a){let{components:e,...s}=a;return(0,o.kt)(J,(0,n.Z)({},L,s,{components:e,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"connect-anything"},"Connect ",(0,o.kt)("em",{parentName:"h2"},"Anything.")),(0,o.kt)("p",null,"First, it's important to note that OpenFn can connect to ",(0,o.kt)("em",{parentName:"p"},"any system"),' via HTTP,\nbut our community has also built dozens of "adaptors" to save time & money while\nconnecting to most commonly used digital public goods and key ICT4D systems.'),(0,o.kt)("p",null,"You can even run web scraping or browser automation tools with OpenFn. See the\n",(0,o.kt)("a",{parentName:"p",href:"/documentation/faqs#can-openfn-integrate-with-my-custom-app"},"FAQs")," and\n",(0,o.kt)("a",{parentName:"p",href:"/documentation/source-apps"},"Generic Data Sources")," for more info on how to\nconnect to systems without custom adaptors. It's almost like a universal\ntranslator... \ud83d\udd96"),(0,o.kt)("h2",{id:"whats-an-adaptor"},"What's an adaptor?"),(0,o.kt)("p",null,'An adaptor is an open-source Javascript or Typescript module that provides\nOpenFn users with a clean set of helper functions that help communicate with a\nspecific external system. In the past, we often referred to them as "language\npackages" and the two terms are sometimes used interchangeably, but the\npreferred way of communicating about adaptors is as follows:'),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},'"What ',(0,o.kt)("em",{parentName:"li"},(0,o.kt)("strong",{parentName:"em"},"adaptor")),' is that job using?" ("That job is using\n',(0,o.kt)("inlineCode",{parentName:"li"},"language-dhis2"),'.")'),(0,o.kt)("li",{parentName:"ul"},'"The DHIS2 ',(0,o.kt)("em",{parentName:"li"},(0,o.kt)("strong",{parentName:"em"},"adaptor"))," is called ",(0,o.kt)("inlineCode",{parentName:"li"},"language-dhis2"),'."'),(0,o.kt)("li",{parentName:"ul"},"\"I don't have the right ",(0,o.kt)("em",{parentName:"li"},(0,o.kt)("strong",{parentName:"em"},"adaptor"))," for this job, let me install it by\nrunning ",(0,o.kt)("inlineCode",{parentName:"li"},"npm install @openfn/language-dhis2"),".")),(0,o.kt)("p",null,"In short, ",(0,o.kt)("em",{parentName:"p"},"most")," adaptors follow the naming convention ",(0,o.kt)("inlineCode",{parentName:"p"},"@openfn/language-xyz"),"."),(0,o.kt)("h2",{id:"where-to-find-them"},"Where to find them"),(0,o.kt)("div",null,"Here's a list of the ",u().length," publicly supported OpenFn adaptors. Note that only some have been migrated to our new and have their docs sites served here. For the rest, you can view the docs and source by clicking into the adaptor and choosing your version."),(0,o.kt)("br",null),(0,o.kt)("div",null,u().map((a=>(0,o.kt)("details",null,(0,o.kt)("summary",null,(0,o.kt)("b",null,a.module),h.find((e=>e.name==a.module))&&(0,o.kt)(t.Fragment,null," (",(0,o.kt)("a",{href:`/adaptors/${h.find((e=>e.name==a.module)).docsId}`},"docs"),")")),h.find((e=>e.name==a.module))?(0,o.kt)("div",null,"The current"," ",(0,o.kt)("a",{href:`/adaptors/${h.find((e=>e.name==a.module)).docsId}`},"API docs"),", ",(0,o.kt)("a",{href:`/adaptors/${h.find((e=>e.name==a.module)).changelogId}`},"changelog"),", and ",(0,o.kt)("a",{href:`/adaptors/${h.find((e=>e.name==a.module)).readmeId}`},"developer readme")," for ",(0,o.kt)("b",null,a.module)," are available here. You can view the source & documentation via these links:"):(0,o.kt)("div",null,"This adaptor hasn't been migrated yet, but it still works just fine and you can view the source & documentation via these links:"),(0,o.kt)("ul",null,a.versions.sort(((a,e)=>l(e.version,a.version))).map((a=>(0,o.kt)("li",null,(0,o.kt)("a",{href:a.url,target:"_blank"},a.version)," ")))))))),(0,o.kt)("h3",{id:"on-the-openfn-platform"},"On the OpenFn platform"),(0,o.kt)("p",null,'When creating or editing a job on platform, you can choose the adaptor to run\nthe job. This way you "import" the needed operations. Simply open the dropdown\nlist of adaptors, and click on one.'),(0,o.kt)("img",{src:"/img/adaptor_choice_openfn.png",width:"300"}),(0,o.kt)("h3",{id:"on-npm"},"On npm"),(0,o.kt)("p",null,"Most of our adaptors are also available on\n",(0,o.kt)("a",{parentName:"p",href:"https://www.npmjs.com/search?q=%40openfn"},"npmjs"),"."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Adaptors list in npm",src:p(57361).Z,width:"2766",height:"1266"})),(0,o.kt)("h4",{id:"install-on-platform-via-npm"},"Install on platform via npm"),(0,o.kt)("p",null,"When using ",(0,o.kt)("inlineCode",{parentName:"p"},"platform"),", you can install adaptors that are not part of the\nrecommended adaptors picklist directly from\n",(0,o.kt)("a",{parentName:"p",href:"https://www.npmjs.com/search?q=%40openfn"},"npm"),"."),(0,o.kt)("p",null,"To install from npm, click on the ",(0,o.kt)("em",{parentName:"p"},"cloud download icon")," next to the adaptor\nversion picklist. In the ",(0,o.kt)("strong",{parentName:"p"},"Select Unreleased Adaptor")," dialog box, enter the\n",(0,o.kt)("inlineCode",{parentName:"p"},"adaptor name"),"(e.g. ",(0,o.kt)("inlineCode",{parentName:"p"},"dhis2")," for ",(0,o.kt)("inlineCode",{parentName:"p"},"language-dhis2"),") and the corresponding\n",(0,o.kt)("inlineCode",{parentName:"p"},"version number"),"(e.g. ",(0,o.kt)("inlineCode",{parentName:"p"},"v2.3.4"),"), as listed on\n",(0,o.kt)("a",{parentName:"p",href:"https://www.npmjs.com/search?q=%40openfn"},"npmjs"),", for the adaptor of your\nchoice. The platform will attempt to install the selected adaptor version it can\nbe used to run the specified job."),(0,o.kt)("p",null,"Note that, after this custom installation of the adaptor, ",(0,o.kt)("inlineCode",{parentName:"p"},"platform")," will not\nadd this adaptor version to the picklist of recommended adaptors in\n",(0,o.kt)("a",{parentName:"p",href:"/documentation/jobs/job-studio"},"JobStudio"),", but you are guaranteed that the\nadaptor will be available to use in any of your jobs as long as you specify it\nvia the ",(0,o.kt)("strong",{parentName:"p"},"Select Unreleased Adaptor")," dialog."),(0,o.kt)("h2",{id:"building-and-extending-adaptors"},"Building and extending adaptors"),(0,o.kt)("p",null,"The source code and technical documentation for developing or extending existing\nadaptors can be found\n",(0,o.kt)("a",{parentName:"p",href:"https://github.com/OpenFn/adaptors#working-with-adaptors"},"here"),"."))}z.isMDXComponent=!0},57361:(a,e,p)=>{p.d(e,{Z:()=>n});const n=p.p+"assets/images/adaptor_npm-1ecb3d844ff20c11d9f7ee009a1d4e9a.png"}}]); \ No newline at end of file diff --git a/assets/js/6cb21577.9a806561.js b/assets/js/6cb21577.9a806561.js deleted file mode 100644 index 0008eecd107..00000000000 --- a/assets/js/6cb21577.9a806561.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_openfn_docs=self.webpackChunk_openfn_docs||[]).push([[32674],{3905:(a,e,p)=>{p.d(e,{Zo:()=>d,kt:()=>g});var n=p(67294);function t(a,e,p){return e in a?Object.defineProperty(a,e,{value:p,enumerable:!0,configurable:!0,writable:!0}):a[e]=p,a}function o(a,e){var p=Object.keys(a);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(a);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(a,e).enumerable}))),p.push.apply(p,n)}return p}function l(a){for(var e=1;e=0||(t[p]=a[p]);return t}(a,e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(a);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(a,p)&&(t[p]=a[p])}return t}var b=n.createContext({}),r=function(a){var e=n.useContext(b),p=e;return a&&(p="function"==typeof a?a(e):l(l({},e),a)),p},d=function(a){var e=r(a.components);return n.createElement(b.Provider,{value:e},a.children)},i="mdxType",c={inlineCode:"code",wrapper:function(a){var e=a.children;return n.createElement(n.Fragment,{},e)}},m=n.forwardRef((function(a,e){var p=a.components,t=a.mdxType,o=a.originalType,b=a.parentName,d=s(a,["components","mdxType","originalType","parentName"]),i=r(p),m=t,g=i["".concat(b,".").concat(m)]||i[m]||c[m]||o;return p?n.createElement(g,l(l({ref:e},d),{},{components:p})):n.createElement(g,l({ref:e},d))}));function g(a,e){var p=arguments,t=e&&e.mdxType;if("string"==typeof a||t){var o=p.length,l=new Array(o);l[0]=m;var s={};for(var b in e)hasOwnProperty.call(e,b)&&(s[b]=e[b]);s.originalType=a,s[i]="string"==typeof a?a:t,l[1]=s;for(var r=2;r{p.r(e),p.d(e,{assets:()=>Z,contentTitle:()=>O,default:()=>z,frontMatter:()=>F,metadata:()=>_,toc:()=>A});var n=p(87462),t=p(67294),o=p(3905);const l=(a,e)=>{const p=b(a),n=b(e),t=p.pop(),o=n.pop(),l=c(p,n);return 0!==l?l:t&&o?c(t.split("."),o.split(".")):t||o?t?-1:1:0},s=/^[v^~<>=]*?(\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+)(?:\.([x*]|\d+))?(?:-([\da-z\-]+(?:\.[\da-z\-]+)*))?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?)?)?$/i,b=a=>{if("string"!=typeof a)throw new TypeError("Invalid argument expected string");const e=a.match(s);if(!e)throw new Error(`Invalid argument not valid semver ('${a}' received)`);return e.shift(),e},r=a=>"*"===a||"x"===a||"X"===a,d=a=>{const e=parseInt(a,10);return isNaN(e)?a:e},i=(a,e)=>{if(r(a)||r(e))return 0;const[p,n]=((a,e)=>typeof a!=typeof e?[String(a),String(e)]:[a,e])(d(a),d(e));return p>n?1:p{for(let p=0;p":[1],">=":[0,1],"=":[0],"<=":[-1,0],"<":[-1]},g=(Object.keys(m),JSON.parse('[{"name":"@openfn/migrate-adaptor@1.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/migrate-adaptor@1.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/migrate-adaptor@1.0.1","commit":{"sha":"864af04f8a0def040b9dc1f7b406bdae6318fb42","url":"https://api.github.com/repos/OpenFn/adaptors/commits/864af04f8a0def040b9dc1f7b406bdae6318fb42"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL21pZ3JhdGUtYWRhcHRvckAxLjAuMQ"},{"name":"@openfn/language-zoho@0.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-zoho@0.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-zoho@0.3.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXpvaG9AMC4zLjE"},{"name":"@openfn/language-zoho@0.2.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-zoho@0.2.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-zoho@0.2.3","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXpvaG9AMC4yLjM"},{"name":"@openfn/language-zoho@0.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-zoho@0.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-zoho@0.2.2","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXpvaG9AMC4yLjI"},{"name":"@openfn/language-zoho@0.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-zoho@0.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-zoho@0.2.1","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXpvaG9AMC4yLjE"},{"name":"@openfn/language-vtiger@1.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-vtiger@1.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-vtiger@1.2.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXZ0aWdlckAxLjIuMQ"},{"name":"@openfn/language-vtiger@1.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-vtiger@1.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-vtiger@1.1.3","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXZ0aWdlckAxLjEuMw"},{"name":"@openfn/language-vtiger@1.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-vtiger@1.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-vtiger@1.1.2","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXZ0aWdlckAxLjEuMg"},{"name":"@openfn/language-vtiger@1.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-vtiger@1.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-vtiger@1.1.1","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXZ0aWdlckAxLjEuMQ"},{"name":"@openfn/language-twilio@0.4.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-twilio@0.4.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-twilio@0.4.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXR3aWxpb0AwLjQuMQ"},{"name":"@openfn/language-twilio@0.3.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-twilio@0.3.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-twilio@0.3.4","commit":{"sha":"2426f4c77af264fca6892ee32f77556346ad4e9e","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2426f4c77af264fca6892ee32f77556346ad4e9e"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXR3aWxpb0AwLjMuNA"},{"name":"@openfn/language-twilio@0.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-twilio@0.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-twilio@0.3.3","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXR3aWxpb0AwLjMuMw"},{"name":"@openfn/language-twilio@0.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-twilio@0.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-twilio@0.3.2","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXR3aWxpb0AwLjMuMg"},{"name":"@openfn/language-twilio@0.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-twilio@0.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-twilio@0.3.1","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXR3aWxpb0AwLjMuMQ"},{"name":"@openfn/language-twilio@0.3.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-twilio@0.3.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-twilio@0.3.0","commit":{"sha":"baf4c44731afd61bceb8496b778b2543973ee6b4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/baf4c44731afd61bceb8496b778b2543973ee6b4"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXR3aWxpb0AwLjMuMA"},{"name":"@openfn/language-template@3.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-template@3.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-template@3.0.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbXBsYXRlQDMuMC4x"},{"name":"@openfn/language-template@2.0.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-template@2.0.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-template@2.0.0","commit":{"sha":"35e92ab1418380e26f36269167fcbb7e8c1f5259","url":"https://api.github.com/repos/OpenFn/adaptors/commits/35e92ab1418380e26f36269167fcbb7e8c1f5259"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbXBsYXRlQDIuMC4w"},{"name":"@openfn/language-template@1.7.8","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-template@1.7.8","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-template@1.7.8","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbXBsYXRlQDEuNy44"},{"name":"@openfn/language-template@1.7.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-template@1.7.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-template@1.7.7","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbXBsYXRlQDEuNy43"},{"name":"@openfn/language-template@1.7.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-template@1.7.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-template@1.7.6","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbXBsYXRlQDEuNy42"},{"name":"@openfn/language-template@1.7.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-template@1.7.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-template@1.7.5","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbXBsYXRlQDEuNy41"},{"name":"@openfn/language-template@1.7.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-template@1.7.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-template@1.7.4","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbXBsYXRlQDEuNy40"},{"name":"@openfn/language-template@1.7.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-template@1.7.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-template@1.7.3","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbXBsYXRlQDEuNy4z"},{"name":"@openfn/language-template@1.7.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-template@1.7.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-template@1.7.2","commit":{"sha":"07f0d0452a809c6ea0445af5d32ec1cac0d06a64","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07f0d0452a809c6ea0445af5d32ec1cac0d06a64"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbXBsYXRlQDEuNy4y"},{"name":"@openfn/language-template@1.7.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-template@1.7.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-template@1.7.1","commit":{"sha":"87c52be93bef2fb37a7d6d0df99feab5ed8611f1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/87c52be93bef2fb37a7d6d0df99feab5ed8611f1"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbXBsYXRlQDEuNy4x"},{"name":"@openfn/language-template@1.7.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-template@1.7.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-template@1.7.0","commit":{"sha":"9b2b65c1a420ce72139677f49033fb4a3de57944","url":"https://api.github.com/repos/OpenFn/adaptors/commits/9b2b65c1a420ce72139677f49033fb4a3de57944"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbXBsYXRlQDEuNy4w"},{"name":"@openfn/language-telerivet@0.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-telerivet@0.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-telerivet@0.2.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbGVyaXZldEAwLjIuMQ"},{"name":"@openfn/language-telerivet@0.1.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-telerivet@0.1.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-telerivet@0.1.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbGVyaXZldEAwLjEuNA"},{"name":"@openfn/language-telerivet@0.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-telerivet@0.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-telerivet@0.1.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbGVyaXZldEAwLjEuMw"},{"name":"@openfn/language-telerivet@0.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-telerivet@0.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-telerivet@0.1.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbGVyaXZldEAwLjEuMg"},{"name":"@openfn/language-telerivet@0.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-telerivet@0.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-telerivet@0.1.0","commit":{"sha":"baf4c44731afd61bceb8496b778b2543973ee6b4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/baf4c44731afd61bceb8496b778b2543973ee6b4"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXRlbGVyaXZldEAwLjEuMA"},{"name":"@openfn/language-surveycto@1.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-surveycto@1.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-surveycto@1.2.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXN1cnZleWN0b0AxLjIuMQ"},{"name":"@openfn/language-surveycto@1.1.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-surveycto@1.1.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-surveycto@1.1.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXN1cnZleWN0b0AxLjEuNA"},{"name":"@openfn/language-surveycto@1.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-surveycto@1.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-surveycto@1.1.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXN1cnZleWN0b0AxLjEuMw"},{"name":"@openfn/language-surveycto@1.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-surveycto@1.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-surveycto@1.1.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXN1cnZleWN0b0AxLjEuMg"},{"name":"@openfn/language-surveycto@1.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-surveycto@1.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-surveycto@1.1.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXN1cnZleWN0b0AxLjEuMQ"},{"name":"@openfn/language-surveycto@1.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-surveycto@1.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-surveycto@1.1.0","commit":{"sha":"baf4c44731afd61bceb8496b778b2543973ee6b4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/baf4c44731afd61bceb8496b778b2543973ee6b4"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXN1cnZleWN0b0AxLjEuMA"},{"name":"@openfn/language-smpp@1.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-smpp@1.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-smpp@1.3.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNtcHBAMS4zLjE"},{"name":"@openfn/language-smpp@1.2.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-smpp@1.2.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-smpp@1.2.3","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNtcHBAMS4yLjM"},{"name":"@openfn/language-smpp@1.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-smpp@1.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-smpp@1.2.2","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNtcHBAMS4yLjI"},{"name":"@openfn/language-smpp@1.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-smpp@1.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-smpp@1.2.1","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNtcHBAMS4yLjE"},{"name":"@openfn/language-sftp@0.8.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.8.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.8.7","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC44Ljc"},{"name":"@openfn/language-sftp@0.8.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.8.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.8.6","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC44LjY"},{"name":"@openfn/language-sftp@0.8.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.8.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.8.5","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC44LjU"},{"name":"@openfn/language-sftp@0.8.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.8.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.8.4","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC44LjQ"},{"name":"@openfn/language-sftp@0.8.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.8.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.8.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC44LjM"},{"name":"@openfn/language-sftp@0.8.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.8.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.8.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC44LjI"},{"name":"@openfn/language-sftp@0.8.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.8.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.8.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC44LjE"},{"name":"@openfn/language-sftp@0.7.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.7.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.7.3","commit":{"sha":"e50ccd9f126ca73a80bc8d0294817ca077398bf1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e50ccd9f126ca73a80bc8d0294817ca077398bf1"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC43LjM"},{"name":"@openfn/language-sftp@0.7.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.7.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.7.2","commit":{"sha":"7a6059dc2f1b5f79447adf7f48d36a0b7aeb2372","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7a6059dc2f1b5f79447adf7f48d36a0b7aeb2372"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC43LjI"},{"name":"@openfn/language-sftp@0.7.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.7.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.7.1","commit":{"sha":"eced2b1d8f2a5399e3120ae2a2b092463a1f72f1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/eced2b1d8f2a5399e3120ae2a2b092463a1f72f1"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC43LjE"},{"name":"@openfn/language-sftp@0.7.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.7.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.7.0","commit":{"sha":"fdbbfebcabd9df25617801ad6c2147862230efc6","url":"https://api.github.com/repos/OpenFn/adaptors/commits/fdbbfebcabd9df25617801ad6c2147862230efc6"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC43LjA"},{"name":"@openfn/language-sftp@0.6.9","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.6.9","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.6.9","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC42Ljk"},{"name":"@openfn/language-sftp@0.6.8","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.6.8","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.6.8","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC42Ljg"},{"name":"@openfn/language-sftp@0.6.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.6.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.6.7","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC42Ljc"},{"name":"@openfn/language-sftp@0.6.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.6.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.6.6","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC42LjY"},{"name":"@openfn/language-sftp@0.6.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.6.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.6.5","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC42LjU"},{"name":"@openfn/language-sftp@0.6.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.6.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.6.4","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC42LjQ"},{"name":"@openfn/language-sftp@0.6.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.6.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.6.3","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC42LjM"},{"name":"@openfn/language-sftp@0.6.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.6.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.6.2","commit":{"sha":"ea3e071eaf01b4bb93482eabb0899575c73db406","url":"https://api.github.com/repos/OpenFn/adaptors/commits/ea3e071eaf01b4bb93482eabb0899575c73db406"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC42LjI"},{"name":"@openfn/language-sftp@0.6.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-sftp@0.6.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-sftp@0.6.1","commit":{"sha":"864af04f8a0def040b9dc1f7b406bdae6318fb42","url":"https://api.github.com/repos/OpenFn/adaptors/commits/864af04f8a0def040b9dc1f7b406bdae6318fb42"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNmdHBAMC42LjE"},{"name":"@openfn/language-salesforce@4.2.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@4.2.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@4.2.0","commit":{"sha":"377c432c960070902b0d686c2502e5d4137bc078","url":"https://api.github.com/repos/OpenFn/adaptors/commits/377c432c960070902b0d686c2502e5d4137bc078"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VANC4yLjA"},{"name":"@openfn/language-salesforce@4.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@4.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@4.1.0","commit":{"sha":"a8df89d8e4537b7c1645f2db2c0f792d49535d50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a8df89d8e4537b7c1645f2db2c0f792d49535d50"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VANC4xLjA"},{"name":"@openfn/language-salesforce@4.0.8","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@4.0.8","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@4.0.8","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VANC4wLjg"},{"name":"@openfn/language-salesforce@4.0.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@4.0.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@4.0.7","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VANC4wLjc"},{"name":"@openfn/language-salesforce@4.0.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@4.0.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@4.0.6","commit":{"sha":"a71941741922908af34c3d6dd7edb744716ce85b","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a71941741922908af34c3d6dd7edb744716ce85b"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VANC4wLjY"},{"name":"@openfn/language-salesforce@4.0.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@4.0.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@4.0.5","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VANC4wLjU"},{"name":"@openfn/language-salesforce@4.0.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@4.0.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@4.0.4","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VANC4wLjQ"},{"name":"@openfn/language-salesforce@4.0.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@4.0.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@4.0.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VANC4wLjM"},{"name":"@openfn/language-salesforce@4.0.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@4.0.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@4.0.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VANC4wLjI"},{"name":"@openfn/language-salesforce@4.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@4.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@4.0.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VANC4wLjE"},{"name":"@openfn/language-salesforce@3.0.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@3.0.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@3.0.7","commit":{"sha":"a15f86e741a7b07234af7461f47ae2464bc14f4b","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a15f86e741a7b07234af7461f47ae2464bc14f4b"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMy4wLjc"},{"name":"@openfn/language-salesforce@3.0.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@3.0.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@3.0.6","commit":{"sha":"0bdc5ee1f7f14ee15bc4614fd6d4f44907e986d1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/0bdc5ee1f7f14ee15bc4614fd6d4f44907e986d1"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMy4wLjY"},{"name":"@openfn/language-salesforce@3.0.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@3.0.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@3.0.5","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMy4wLjU"},{"name":"@openfn/language-salesforce@3.0.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@3.0.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@3.0.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMy4wLjQ"},{"name":"@openfn/language-salesforce@3.0.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@3.0.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@3.0.3","commit":{"sha":"1817f08cb8d8d586c710d5ca7e50f2f4230a2d35","url":"https://api.github.com/repos/OpenFn/adaptors/commits/1817f08cb8d8d586c710d5ca7e50f2f4230a2d35"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMy4wLjM"},{"name":"@openfn/language-salesforce@3.0.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@3.0.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@3.0.2","commit":{"sha":"d6c0c7e39242ffea633e4f5b2569027feeaed2d4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/d6c0c7e39242ffea633e4f5b2569027feeaed2d4"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMy4wLjI"},{"name":"@openfn/language-salesforce@3.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@3.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@3.0.1","commit":{"sha":"f5cf160440f03f0455a0251d8fc8ac6026665e49","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f5cf160440f03f0455a0251d8fc8ac6026665e49"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMy4wLjE"},{"name":"@openfn/language-salesforce@3.0.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@3.0.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@3.0.0","commit":{"sha":"d7c2816033818da1d83656cea56c4681bf384105","url":"https://api.github.com/repos/OpenFn/adaptors/commits/d7c2816033818da1d83656cea56c4681bf384105"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMy4wLjA"},{"name":"@openfn/language-salesforce@2.12.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@2.12.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@2.12.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMi4xMi4z"},{"name":"@openfn/language-salesforce@2.12.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@2.12.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@2.12.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMi4xMi4y"},{"name":"@openfn/language-salesforce@2.12.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@2.12.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@2.12.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMi4xMi4x"},{"name":"@openfn/language-salesforce@2.12.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@2.12.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@2.12.0","commit":{"sha":"baf4c44731afd61bceb8496b778b2543973ee6b4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/baf4c44731afd61bceb8496b778b2543973ee6b4"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMi4xMi4w"},{"name":"@openfn/language-salesforce@2.11.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@2.11.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@2.11.2","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMi4xMS4y"},{"name":"@openfn/language-salesforce@2.11.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@2.11.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@2.11.1","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMi4xMS4x"},{"name":"@openfn/language-salesforce@2.11.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-salesforce@2.11.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-salesforce@2.11.0","commit":{"sha":"07f0d0452a809c6ea0445af5d32ec1cac0d06a64","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07f0d0452a809c6ea0445af5d32ec1cac0d06a64"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXNhbGVzZm9yY2VAMi4xMS4w"},{"name":"@openfn/language-resourcemap@0.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-resourcemap@0.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-resourcemap@0.3.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJlc291cmNlbWFwQDAuMy4x"},{"name":"@openfn/language-resourcemap@0.2.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-resourcemap@0.2.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-resourcemap@0.2.3","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJlc291cmNlbWFwQDAuMi4z"},{"name":"@openfn/language-resourcemap@0.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-resourcemap@0.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-resourcemap@0.2.2","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJlc291cmNlbWFwQDAuMi4y"},{"name":"@openfn/language-resourcemap@0.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-resourcemap@0.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-resourcemap@0.2.1","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJlc291cmNlbWFwQDAuMi4x"},{"name":"@openfn/language-rapidpro@1.0.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@1.0.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@1.0.7","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDEuMC43"},{"name":"@openfn/language-rapidpro@1.0.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@1.0.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@1.0.6","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDEuMC42"},{"name":"@openfn/language-rapidpro@1.0.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@1.0.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@1.0.5","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDEuMC41"},{"name":"@openfn/language-rapidpro@1.0.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@1.0.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@1.0.4","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDEuMC40"},{"name":"@openfn/language-rapidpro@1.0.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@1.0.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@1.0.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDEuMC4z"},{"name":"@openfn/language-rapidpro@1.0.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@1.0.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@1.0.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDEuMC4y"},{"name":"@openfn/language-rapidpro@1.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@1.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@1.0.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDEuMC4x"},{"name":"@openfn/language-rapidpro@0.5.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@0.5.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@0.5.6","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDAuNS42"},{"name":"@openfn/language-rapidpro@0.5.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@0.5.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@0.5.5","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDAuNS41"},{"name":"@openfn/language-rapidpro@0.5.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@0.5.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@0.5.4","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDAuNS40"},{"name":"@openfn/language-rapidpro@0.5.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@0.5.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@0.5.3","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDAuNS4z"},{"name":"@openfn/language-rapidpro@0.5.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@0.5.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@0.5.2","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDAuNS4y"},{"name":"@openfn/language-rapidpro@0.5.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-rapidpro@0.5.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-rapidpro@0.5.0","commit":{"sha":"baf4c44731afd61bceb8496b778b2543973ee6b4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/baf4c44731afd61bceb8496b778b2543973ee6b4"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXJhcGlkcHJvQDAuNS4w"},{"name":"@openfn/language-progres@1.3.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.3.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.3.7","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4zLjc"},{"name":"@openfn/language-progres@1.3.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.3.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.3.6","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4zLjY"},{"name":"@openfn/language-progres@1.3.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.3.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.3.5","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4zLjU"},{"name":"@openfn/language-progres@1.3.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.3.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.3.4","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4zLjQ"},{"name":"@openfn/language-progres@1.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.3.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4zLjM"},{"name":"@openfn/language-progres@1.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.3.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4zLjI"},{"name":"@openfn/language-progres@1.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.3.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4zLjE"},{"name":"@openfn/language-progres@1.2.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.2.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.2.5","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4yLjU"},{"name":"@openfn/language-progres@1.2.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.2.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.2.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4yLjQ"},{"name":"@openfn/language-progres@1.2.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.2.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.2.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4yLjM"},{"name":"@openfn/language-progres@1.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.2.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4yLjI"},{"name":"@openfn/language-progres@1.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.2.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4yLjE"},{"name":"@openfn/language-progres@1.2.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-progres@1.2.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-progres@1.2.0","commit":{"sha":"baf4c44731afd61bceb8496b778b2543973ee6b4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/baf4c44731afd61bceb8496b778b2543973ee6b4"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByb2dyZXNAMS4yLjA"},{"name":"@openfn/language-primero@2.11.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.11.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.11.7","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMS43"},{"name":"@openfn/language-primero@2.11.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.11.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.11.6","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMS42"},{"name":"@openfn/language-primero@2.11.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.11.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.11.5","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMS41"},{"name":"@openfn/language-primero@2.11.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.11.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.11.4","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMS40"},{"name":"@openfn/language-primero@2.11.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.11.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.11.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMS4z"},{"name":"@openfn/language-primero@2.11.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.11.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.11.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMS4y"},{"name":"@openfn/language-primero@2.11.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.11.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.11.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMS4x"},{"name":"@openfn/language-primero@2.10.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.10.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.10.6","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMC42"},{"name":"@openfn/language-primero@2.10.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.10.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.10.5","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMC41"},{"name":"@openfn/language-primero@2.10.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.10.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.10.4","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMC40"},{"name":"@openfn/language-primero@2.10.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.10.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.10.3","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMC4z"},{"name":"@openfn/language-primero@2.10.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.10.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.10.2","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMC4y"},{"name":"@openfn/language-primero@2.10.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.10.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.10.1","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMC4x"},{"name":"@openfn/language-primero@2.10.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.10.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.10.0","commit":{"sha":"07f0d0452a809c6ea0445af5d32ec1cac0d06a64","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07f0d0452a809c6ea0445af5d32ec1cac0d06a64"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi4xMC4w"},{"name":"@openfn/language-primero@2.9.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.9.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.9.2","commit":{"sha":"ea3e071eaf01b4bb93482eabb0899575c73db406","url":"https://api.github.com/repos/OpenFn/adaptors/commits/ea3e071eaf01b4bb93482eabb0899575c73db406"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi45LjI"},{"name":"@openfn/language-primero@2.9.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-primero@2.9.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-primero@2.9.1","commit":{"sha":"864af04f8a0def040b9dc1f7b406bdae6318fb42","url":"https://api.github.com/repos/OpenFn/adaptors/commits/864af04f8a0def040b9dc1f7b406bdae6318fb42"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXByaW1lcm9AMi45LjE"},{"name":"@openfn/language-postgresql@4.1.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@4.1.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@4.1.7","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxANC4xLjc"},{"name":"@openfn/language-postgresql@4.1.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@4.1.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@4.1.6","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxANC4xLjY"},{"name":"@openfn/language-postgresql@4.1.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@4.1.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@4.1.5","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxANC4xLjU"},{"name":"@openfn/language-postgresql@4.1.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@4.1.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@4.1.4","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxANC4xLjQ"},{"name":"@openfn/language-postgresql@4.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@4.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@4.1.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxANC4xLjM"},{"name":"@openfn/language-postgresql@4.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@4.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@4.1.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxANC4xLjI"},{"name":"@openfn/language-postgresql@4.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@4.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@4.1.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxANC4xLjE"},{"name":"@openfn/language-postgresql@4.0.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@4.0.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@4.0.0","commit":{"sha":"a15f86e741a7b07234af7461f47ae2464bc14f4b","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a15f86e741a7b07234af7461f47ae2464bc14f4b"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxANC4wLjA"},{"name":"@openfn/language-postgresql@3.4.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@3.4.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@3.4.6","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxAMy40LjY"},{"name":"@openfn/language-postgresql@3.4.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@3.4.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@3.4.5","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxAMy40LjU"},{"name":"@openfn/language-postgresql@3.4.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@3.4.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@3.4.4","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxAMy40LjQ"},{"name":"@openfn/language-postgresql@3.4.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@3.4.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@3.4.3","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxAMy40LjM"},{"name":"@openfn/language-postgresql@3.4.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@3.4.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@3.4.2","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxAMy40LjI"},{"name":"@openfn/language-postgresql@3.4.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@3.4.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@3.4.1","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxAMy40LjE"},{"name":"@openfn/language-postgresql@3.4.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-postgresql@3.4.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-postgresql@3.4.0","commit":{"sha":"ea3e071eaf01b4bb93482eabb0899575c73db406","url":"https://api.github.com/repos/OpenFn/adaptors/commits/ea3e071eaf01b4bb93482eabb0899575c73db406"},"node_id":"REF_kwDOIJZfltoAK3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLXBvc3RncmVzcWxAMy40LjA"},{"name":"@openfn/language-openmrs@2.0.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@2.0.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@2.0.7","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMi4wLjc"},{"name":"@openfn/language-openmrs@2.0.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@2.0.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@2.0.6","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMi4wLjY"},{"name":"@openfn/language-openmrs@2.0.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@2.0.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@2.0.5","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMi4wLjU"},{"name":"@openfn/language-openmrs@2.0.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@2.0.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@2.0.4","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMi4wLjQ"},{"name":"@openfn/language-openmrs@2.0.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@2.0.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@2.0.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMi4wLjM"},{"name":"@openfn/language-openmrs@2.0.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@2.0.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@2.0.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMi4wLjI"},{"name":"@openfn/language-openmrs@2.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@2.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@2.0.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMi4wLjE"},{"name":"@openfn/language-openmrs@1.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@1.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@1.1.1","commit":{"sha":"9909077c42eaeb4231894e5138c23ad33e630c7a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/9909077c42eaeb4231894e5138c23ad33e630c7a"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMS4xLjE"},{"name":"@openfn/language-openmrs@1.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@1.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@1.1.0","commit":{"sha":"35e92ab1418380e26f36269167fcbb7e8c1f5259","url":"https://api.github.com/repos/OpenFn/adaptors/commits/35e92ab1418380e26f36269167fcbb7e8c1f5259"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMS4xLjA"},{"name":"@openfn/language-openmrs@1.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@1.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@1.0.1","commit":{"sha":"a4d370b1d341e1678ccfbb1ff95342fb379a16c6","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a4d370b1d341e1678ccfbb1ff95342fb379a16c6"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMS4wLjE"},{"name":"@openfn/language-openmrs@1.0.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@1.0.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@1.0.0","commit":{"sha":"22ffe402d9d70889a2f5faa22d61d1719d33dd2a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/22ffe402d9d70889a2f5faa22d61d1719d33dd2a"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMS4wLjA"},{"name":"@openfn/language-openmrs@0.10.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@0.10.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@0.10.5","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMC4xMC41"},{"name":"@openfn/language-openmrs@0.10.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@0.10.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@0.10.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMC4xMC40"},{"name":"@openfn/language-openmrs@0.10.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@0.10.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@0.10.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMC4xMC4z"},{"name":"@openfn/language-openmrs@0.10.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@0.10.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@0.10.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMC4xMC4y"},{"name":"@openfn/language-openmrs@0.10.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openmrs@0.10.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openmrs@0.10.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5tcnNAMC4xMC4x"},{"name":"@openfn/language-openhim@0.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openhim@0.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openhim@0.2.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5oaW1AMC4yLjE"},{"name":"@openfn/language-openhim@0.1.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openhim@0.1.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openhim@0.1.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5oaW1AMC4xLjQ"},{"name":"@openfn/language-openhim@0.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openhim@0.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openhim@0.1.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5oaW1AMC4xLjM"},{"name":"@openfn/language-openhim@0.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openhim@0.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openhim@0.1.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5oaW1AMC4xLjI"},{"name":"@openfn/language-openhim@0.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openhim@0.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openhim@0.1.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5oaW1AMC4xLjE"},{"name":"@openfn/language-openfn@1.3.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.3.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.3.7","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjMuNw"},{"name":"@openfn/language-openfn@1.3.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.3.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.3.6","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjMuNg"},{"name":"@openfn/language-openfn@1.3.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.3.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.3.5","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjMuNQ"},{"name":"@openfn/language-openfn@1.3.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.3.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.3.4","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjMuNA"},{"name":"@openfn/language-openfn@1.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.3.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjMuMw"},{"name":"@openfn/language-openfn@1.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.3.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjMuMg"},{"name":"@openfn/language-openfn@1.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.3.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjMuMQ"},{"name":"@openfn/language-openfn@1.2.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.2.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.2.6","commit":{"sha":"35e92ab1418380e26f36269167fcbb7e8c1f5259","url":"https://api.github.com/repos/OpenFn/adaptors/commits/35e92ab1418380e26f36269167fcbb7e8c1f5259"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjIuNg"},{"name":"@openfn/language-openfn@1.2.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.2.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.2.5","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjIuNQ"},{"name":"@openfn/language-openfn@1.2.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.2.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.2.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjIuNA"},{"name":"@openfn/language-openfn@1.2.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.2.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.2.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjIuMw"},{"name":"@openfn/language-openfn@1.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.2.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjIuMg"},{"name":"@openfn/language-openfn@1.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-openfn@1.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-openfn@1.2.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9wZW5mbkAxLjIuMQ"},{"name":"@openfn/language-ocl@1.1.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@1.1.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@1.1.6","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAxLjEuNg"},{"name":"@openfn/language-ocl@1.1.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@1.1.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@1.1.5","commit":{"sha":"e6778a06c6644e59013a16fb60682e7de1c9ecb5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e6778a06c6644e59013a16fb60682e7de1c9ecb5"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAxLjEuNQ"},{"name":"@openfn/language-ocl@1.1.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@1.1.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@1.1.4","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAxLjEuNA"},{"name":"@openfn/language-ocl@1.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@1.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@1.1.3","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAxLjEuMw"},{"name":"@openfn/language-ocl@1.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@1.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@1.1.2","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAxLjEuMg"},{"name":"@openfn/language-ocl@1.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@1.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@1.1.1","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAxLjEuMQ"},{"name":"@openfn/language-ocl@1.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@1.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@1.1.0","commit":{"sha":"27492e9edf122b2d498820bdb54c3341ab7cf86e","url":"https://api.github.com/repos/OpenFn/adaptors/commits/27492e9edf122b2d498820bdb54c3341ab7cf86e"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAxLjEuMA"},{"name":"@openfn/language-ocl@1.0.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@1.0.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@1.0.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAxLjAuMg"},{"name":"@openfn/language-ocl@1.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@1.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@1.0.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAxLjAuMQ"},{"name":"@openfn/language-ocl@0.3.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@0.3.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@0.3.0","commit":{"sha":"9909077c42eaeb4231894e5138c23ad33e630c7a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/9909077c42eaeb4231894e5138c23ad33e630c7a"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAwLjMuMA"},{"name":"@openfn/language-ocl@0.2.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@0.2.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@0.2.6","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAwLjIuNg"},{"name":"@openfn/language-ocl@0.2.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@0.2.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@0.2.5","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAwLjIuNQ"},{"name":"@openfn/language-ocl@0.2.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@0.2.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@0.2.4","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAwLjIuNA"},{"name":"@openfn/language-ocl@0.2.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@0.2.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@0.2.3","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAwLjIuMw"},{"name":"@openfn/language-ocl@0.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@0.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@0.2.2","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAwLjIuMg"},{"name":"@openfn/language-ocl@0.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@0.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@0.2.1","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAwLjIuMQ"},{"name":"@openfn/language-ocl@0.2.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-ocl@0.2.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-ocl@0.2.0","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAJHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW9jbEAwLjIuMA"},{"name":"@openfn/language-nexmo@0.4.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-nexmo@0.4.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-nexmo@0.4.2","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW5leG1vQDAuNC4y"},{"name":"@openfn/language-nexmo@0.4.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-nexmo@0.4.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-nexmo@0.4.1","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW5leG1vQDAuNC4x"},{"name":"@openfn/language-nexmo@0.4.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-nexmo@0.4.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-nexmo@0.4.0","commit":{"sha":"a71941741922908af34c3d6dd7edb744716ce85b","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a71941741922908af34c3d6dd7edb744716ce85b"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW5leG1vQDAuNC4w"},{"name":"@openfn/language-nexmo@0.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-nexmo@0.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-nexmo@0.3.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW5leG1vQDAuMy4x"},{"name":"@openfn/language-nexmo@0.2.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-nexmo@0.2.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-nexmo@0.2.3","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW5leG1vQDAuMi4z"},{"name":"@openfn/language-nexmo@0.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-nexmo@0.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-nexmo@0.2.2","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW5leG1vQDAuMi4y"},{"name":"@openfn/language-nexmo@0.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-nexmo@0.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-nexmo@0.2.1","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW5leG1vQDAuMi4x"},{"name":"@openfn/language-mysql@1.4.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mysql@1.4.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mysql@1.4.7","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW15c3FsQDEuNC43"},{"name":"@openfn/language-mysql@1.4.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mysql@1.4.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mysql@1.4.6","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW15c3FsQDEuNC42"},{"name":"@openfn/language-mysql@1.4.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mysql@1.4.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mysql@1.4.5","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW15c3FsQDEuNC41"},{"name":"@openfn/language-mysql@1.4.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mysql@1.4.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mysql@1.4.4","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW15c3FsQDEuNC40"},{"name":"@openfn/language-mysql@1.4.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mysql@1.4.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mysql@1.4.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW15c3FsQDEuNC4z"},{"name":"@openfn/language-mysql@1.4.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mysql@1.4.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mysql@1.4.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW15c3FsQDEuNC4y"},{"name":"@openfn/language-mysql@1.4.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mysql@1.4.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mysql@1.4.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW15c3FsQDEuNC4x"},{"name":"@openfn/language-mysql@1.3.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mysql@1.3.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mysql@1.3.5","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW15c3FsQDEuMy41"},{"name":"@openfn/language-mysql@1.3.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mysql@1.3.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mysql@1.3.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW15c3FsQDEuMy40"},{"name":"@openfn/language-mysql@1.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mysql@1.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mysql@1.3.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW15c3FsQDEuMy4z"},{"name":"@openfn/language-mysql@1.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mysql@1.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mysql@1.3.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW15c3FsQDEuMy4y"},{"name":"@openfn/language-mysql@1.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mysql@1.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mysql@1.3.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW15c3FsQDEuMy4x"},{"name":"@openfn/language-mssql@4.1.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.1.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.1.7","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMS43"},{"name":"@openfn/language-mssql@4.1.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.1.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.1.6","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMS42"},{"name":"@openfn/language-mssql@4.1.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.1.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.1.5","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMS41"},{"name":"@openfn/language-mssql@4.1.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.1.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.1.4","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMS40"},{"name":"@openfn/language-mssql@4.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.1.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMS4z"},{"name":"@openfn/language-mssql@4.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.1.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMS4y"},{"name":"@openfn/language-mssql@4.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.1.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMS4x"},{"name":"@openfn/language-mssql@4.0.8","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.0.8","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.0.8","commit":{"sha":"a4d370b1d341e1678ccfbb1ff95342fb379a16c6","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a4d370b1d341e1678ccfbb1ff95342fb379a16c6"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMC44"},{"name":"@openfn/language-mssql@4.0.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.0.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.0.7","commit":{"sha":"a15f86e741a7b07234af7461f47ae2464bc14f4b","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a15f86e741a7b07234af7461f47ae2464bc14f4b"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMC43"},{"name":"@openfn/language-mssql@4.0.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.0.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.0.6","commit":{"sha":"2426f4c77af264fca6892ee32f77556346ad4e9e","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2426f4c77af264fca6892ee32f77556346ad4e9e"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMC42"},{"name":"@openfn/language-mssql@4.0.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.0.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.0.5","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMC41"},{"name":"@openfn/language-mssql@4.0.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.0.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.0.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMC40"},{"name":"@openfn/language-mssql@4.0.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.0.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.0.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMC4z"},{"name":"@openfn/language-mssql@4.0.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.0.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.0.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMC4y"},{"name":"@openfn/language-mssql@4.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.0.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMC4x"},{"name":"@openfn/language-mssql@4.0.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@4.0.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@4.0.0","commit":{"sha":"baf4c44731afd61bceb8496b778b2543973ee6b4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/baf4c44731afd61bceb8496b778b2543973ee6b4"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDQuMC4w"},{"name":"@openfn/language-mssql@3.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@3.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@3.1.2","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDMuMS4y"},{"name":"@openfn/language-mssql@3.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@3.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@3.1.1","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDMuMS4x"},{"name":"@openfn/language-mssql@3.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mssql@3.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mssql@3.1.0","commit":{"sha":"ea3e071eaf01b4bb93482eabb0899575c73db406","url":"https://api.github.com/repos/OpenFn/adaptors/commits/ea3e071eaf01b4bb93482eabb0899575c73db406"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zc3FsQDMuMS4w"},{"name":"@openfn/language-msgraph@0.3.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-msgraph@0.3.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-msgraph@0.3.5","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zZ3JhcGhAMC4zLjU"},{"name":"@openfn/language-msgraph@0.3.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-msgraph@0.3.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-msgraph@0.3.4","commit":{"sha":"dbca3a3b63585eeb8a5ba9d0074dfd9e646d0747","url":"https://api.github.com/repos/OpenFn/adaptors/commits/dbca3a3b63585eeb8a5ba9d0074dfd9e646d0747"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zZ3JhcGhAMC4zLjQ"},{"name":"@openfn/language-msgraph@0.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-msgraph@0.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-msgraph@0.3.3","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zZ3JhcGhAMC4zLjM"},{"name":"@openfn/language-msgraph@0.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-msgraph@0.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-msgraph@0.3.2","commit":{"sha":"fa4feaead4b2a6281d1dbb1859b3760314217ca8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/fa4feaead4b2a6281d1dbb1859b3760314217ca8"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zZ3JhcGhAMC4zLjI"},{"name":"@openfn/language-msgraph@0.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-msgraph@0.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-msgraph@0.3.1","commit":{"sha":"95da6f2a8492f44a92bdc403f6adc33a76ebe4d6","url":"https://api.github.com/repos/OpenFn/adaptors/commits/95da6f2a8492f44a92bdc403f6adc33a76ebe4d6"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zZ3JhcGhAMC4zLjE"},{"name":"@openfn/language-msgraph@0.3.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-msgraph@0.3.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-msgraph@0.3.0","commit":{"sha":"12faef5ded95acaf0b148aa9a6fdde1c0a4b7111","url":"https://api.github.com/repos/OpenFn/adaptors/commits/12faef5ded95acaf0b148aa9a6fdde1c0a4b7111"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zZ3JhcGhAMC4zLjA"},{"name":"@openfn/language-msgraph@0.2.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-msgraph@0.2.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-msgraph@0.2.0","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zZ3JhcGhAMC4yLjA"},{"name":"@openfn/language-msgraph@0.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-msgraph@0.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-msgraph@0.1.1","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zZ3JhcGhAMC4xLjE"},{"name":"@openfn/language-msgraph@0.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-msgraph@0.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-msgraph@0.1.0","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1zZ3JhcGhAMC4xLjA"},{"name":"@openfn/language-mongodb@2.0.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mongodb@2.0.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mongodb@2.0.0","commit":{"sha":"4aaef4ffa5da2fad3f39866838d1eeff5f7bd546","url":"https://api.github.com/repos/OpenFn/adaptors/commits/4aaef4ffa5da2fad3f39866838d1eeff5f7bd546"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1vbmdvZGJAMi4wLjA"},{"name":"@openfn/language-mongodb@1.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mongodb@1.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mongodb@1.1.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1vbmdvZGJAMS4xLjE"},{"name":"@openfn/language-mongodb@1.0.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mongodb@1.0.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mongodb@1.0.6","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1vbmdvZGJAMS4wLjY"},{"name":"@openfn/language-mongodb@1.0.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mongodb@1.0.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mongodb@1.0.5","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1vbmdvZGJAMS4wLjU"},{"name":"@openfn/language-mongodb@1.0.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mongodb@1.0.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mongodb@1.0.4","commit":{"sha":"baf4c44731afd61bceb8496b778b2543973ee6b4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/baf4c44731afd61bceb8496b778b2543973ee6b4"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1vbmdvZGJAMS4wLjQ"},{"name":"@openfn/language-mogli@0.4.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mogli@0.4.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mogli@0.4.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1vZ2xpQDAuNC4x"},{"name":"@openfn/language-mogli@0.3.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mogli@0.3.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mogli@0.3.4","commit":{"sha":"a15f86e741a7b07234af7461f47ae2464bc14f4b","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a15f86e741a7b07234af7461f47ae2464bc14f4b"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1vZ2xpQDAuMy40"},{"name":"@openfn/language-mogli@0.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mogli@0.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mogli@0.3.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1vZ2xpQDAuMy4z"},{"name":"@openfn/language-mogli@0.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mogli@0.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mogli@0.3.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1vZ2xpQDAuMy4y"},{"name":"@openfn/language-mogli@0.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mogli@0.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mogli@0.3.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1vZ2xpQDAuMy4x"},{"name":"@openfn/language-medicmobile@0.4.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-medicmobile@0.4.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-medicmobile@0.4.2","commit":{"sha":"a71941741922908af34c3d6dd7edb744716ce85b","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a71941741922908af34c3d6dd7edb744716ce85b"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1lZGljbW9iaWxlQDAuNC4y"},{"name":"@openfn/language-medicmobile@0.4.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-medicmobile@0.4.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-medicmobile@0.4.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1lZGljbW9iaWxlQDAuNC4x"},{"name":"@openfn/language-medicmobile@0.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-medicmobile@0.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-medicmobile@0.3.3","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1lZGljbW9iaWxlQDAuMy4z"},{"name":"@openfn/language-medicmobile@0.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-medicmobile@0.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-medicmobile@0.3.2","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1lZGljbW9iaWxlQDAuMy4y"},{"name":"@openfn/language-medicmobile@0.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-medicmobile@0.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-medicmobile@0.3.1","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1lZGljbW9iaWxlQDAuMy4x"},{"name":"@openfn/language-medicmobile@0.3.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-medicmobile@0.3.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-medicmobile@0.3.0","commit":{"sha":"baf4c44731afd61bceb8496b778b2543973ee6b4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/baf4c44731afd61bceb8496b778b2543973ee6b4"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1lZGljbW9iaWxlQDAuMy4w"},{"name":"@openfn/language-maximo@0.4.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-maximo@0.4.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-maximo@0.4.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1heGltb0AwLjQuMQ"},{"name":"@openfn/language-maximo@0.3.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-maximo@0.3.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-maximo@0.3.5","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1heGltb0AwLjMuNQ"},{"name":"@openfn/language-maximo@0.3.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-maximo@0.3.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-maximo@0.3.4","commit":{"sha":"d6c0c7e39242ffea633e4f5b2569027feeaed2d4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/d6c0c7e39242ffea633e4f5b2569027feeaed2d4"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1heGltb0AwLjMuNA"},{"name":"@openfn/language-maximo@0.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-maximo@0.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-maximo@0.3.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1heGltb0AwLjMuMw"},{"name":"@openfn/language-maximo@0.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-maximo@0.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-maximo@0.3.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1heGltb0AwLjMuMg"},{"name":"@openfn/language-maximo@0.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-maximo@0.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-maximo@0.3.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1heGltb0AwLjMuMQ"},{"name":"@openfn/language-mailgun@0.4.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailgun@0.4.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailgun@0.4.3","commit":{"sha":"21315b88949b585291213b5959f80eb99a7fc335","url":"https://api.github.com/repos/OpenFn/adaptors/commits/21315b88949b585291213b5959f80eb99a7fc335"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxndW5AMC40LjM"},{"name":"@openfn/language-mailgun@0.4.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailgun@0.4.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailgun@0.4.2","commit":{"sha":"a71941741922908af34c3d6dd7edb744716ce85b","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a71941741922908af34c3d6dd7edb744716ce85b"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxndW5AMC40LjI"},{"name":"@openfn/language-mailgun@0.4.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailgun@0.4.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailgun@0.4.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxndW5AMC40LjE"},{"name":"@openfn/language-mailgun@0.3.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailgun@0.3.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailgun@0.3.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxndW5AMC4zLjQ"},{"name":"@openfn/language-mailgun@0.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailgun@0.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailgun@0.3.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxndW5AMC4zLjM"},{"name":"@openfn/language-mailgun@0.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailgun@0.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailgun@0.3.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxndW5AMC4zLjI"},{"name":"@openfn/language-mailgun@0.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailgun@0.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailgun@0.3.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxndW5AMC4zLjE"},{"name":"@openfn/language-mailchimp@0.7.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailchimp@0.7.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailchimp@0.7.1","commit":{"sha":"5452145a3e54e281bd242b87386953f4e4928aae","url":"https://api.github.com/repos/OpenFn/adaptors/commits/5452145a3e54e281bd242b87386953f4e4928aae"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxjaGltcEAwLjcuMQ"},{"name":"@openfn/language-mailchimp@0.7.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailchimp@0.7.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailchimp@0.7.0","commit":{"sha":"f88f0ca0b5316015c36f187d9596bd34a7f51944","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f88f0ca0b5316015c36f187d9596bd34a7f51944"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxjaGltcEAwLjcuMA"},{"name":"@openfn/language-mailchimp@0.6.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailchimp@0.6.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailchimp@0.6.0","commit":{"sha":"dbca3a3b63585eeb8a5ba9d0074dfd9e646d0747","url":"https://api.github.com/repos/OpenFn/adaptors/commits/dbca3a3b63585eeb8a5ba9d0074dfd9e646d0747"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxjaGltcEAwLjYuMA"},{"name":"@openfn/language-mailchimp@0.5.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailchimp@0.5.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailchimp@0.5.0","commit":{"sha":"83e4f65d59c47551e9922a6213c296335c58fdb7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/83e4f65d59c47551e9922a6213c296335c58fdb7"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxjaGltcEAwLjUuMA"},{"name":"@openfn/language-mailchimp@0.4.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailchimp@0.4.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailchimp@0.4.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxjaGltcEAwLjQuMQ"},{"name":"@openfn/language-mailchimp@0.3.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailchimp@0.3.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailchimp@0.3.5","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxjaGltcEAwLjMuNQ"},{"name":"@openfn/language-mailchimp@0.3.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailchimp@0.3.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailchimp@0.3.4","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxjaGltcEAwLjMuNA"},{"name":"@openfn/language-mailchimp@0.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailchimp@0.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailchimp@0.3.3","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxjaGltcEAwLjMuMw"},{"name":"@openfn/language-mailchimp@0.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailchimp@0.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailchimp@0.3.2","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxjaGltcEAwLjMuMg"},{"name":"@openfn/language-mailchimp@0.3.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-mailchimp@0.3.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-mailchimp@0.3.0","commit":{"sha":"baf4c44731afd61bceb8496b778b2543973ee6b4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/baf4c44731afd61bceb8496b778b2543973ee6b4"},"node_id":"REF_kwDOIJZfltoAKnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1haWxjaGltcEAwLjMuMA"},{"name":"@openfn/language-magpi@1.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-magpi@1.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-magpi@1.1.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1hZ3BpQDEuMS4x"},{"name":"@openfn/language-magpi@1.0.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-magpi@1.0.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-magpi@1.0.5","commit":{"sha":"a15f86e741a7b07234af7461f47ae2464bc14f4b","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a15f86e741a7b07234af7461f47ae2464bc14f4b"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1hZ3BpQDEuMC41"},{"name":"@openfn/language-magpi@1.0.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-magpi@1.0.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-magpi@1.0.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1hZ3BpQDEuMC40"},{"name":"@openfn/language-magpi@1.0.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-magpi@1.0.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-magpi@1.0.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1hZ3BpQDEuMC4z"},{"name":"@openfn/language-magpi@1.0.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-magpi@1.0.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-magpi@1.0.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1hZ3BpQDEuMC4y"},{"name":"@openfn/language-magpi@1.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-magpi@1.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-magpi@1.0.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLW1hZ3BpQDEuMC4x"},{"name":"@openfn/language-kobotoolbox@2.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-kobotoolbox@2.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-kobotoolbox@2.1.0","commit":{"sha":"5452145a3e54e281bd242b87386953f4e4928aae","url":"https://api.github.com/repos/OpenFn/adaptors/commits/5452145a3e54e281bd242b87386953f4e4928aae"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtvYm90b29sYm94QDIuMS4w"},{"name":"@openfn/language-kobotoolbox@2.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-kobotoolbox@2.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-kobotoolbox@2.0.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtvYm90b29sYm94QDIuMC4x"},{"name":"@openfn/language-kobotoolbox@1.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-kobotoolbox@1.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-kobotoolbox@1.3.3","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtvYm90b29sYm94QDEuMy4z"},{"name":"@openfn/language-kobotoolbox@1.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-kobotoolbox@1.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-kobotoolbox@1.3.2","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtvYm90b29sYm94QDEuMy4y"},{"name":"@openfn/language-kobotoolbox@1.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-kobotoolbox@1.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-kobotoolbox@1.3.1","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtvYm90b29sYm94QDEuMy4x"},{"name":"@openfn/language-kobotoolbox@1.3.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-kobotoolbox@1.3.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-kobotoolbox@1.3.0","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtvYm90b29sYm94QDEuMy4w"},{"name":"@openfn/language-kobotoolbox@1.2.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-kobotoolbox@1.2.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-kobotoolbox@1.2.0","commit":{"sha":"baf4c44731afd61bceb8496b778b2543973ee6b4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/baf4c44731afd61bceb8496b778b2543973ee6b4"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtvYm90b29sYm94QDEuMi4w"},{"name":"@openfn/language-kobotoolbox@1.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-kobotoolbox@1.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-kobotoolbox@1.1.1","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtvYm90b29sYm94QDEuMS4x"},{"name":"@openfn/language-kobotoolbox@1.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-kobotoolbox@1.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-kobotoolbox@1.1.0","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtvYm90b29sYm94QDEuMS4w"},{"name":"@openfn/language-khanacademy@0.4.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-khanacademy@0.4.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-khanacademy@0.4.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtoYW5hY2FkZW15QDAuNC4x"},{"name":"@openfn/language-khanacademy@0.3.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-khanacademy@0.3.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-khanacademy@0.3.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtoYW5hY2FkZW15QDAuMy40"},{"name":"@openfn/language-khanacademy@0.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-khanacademy@0.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-khanacademy@0.3.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtoYW5hY2FkZW15QDAuMy4z"},{"name":"@openfn/language-khanacademy@0.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-khanacademy@0.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-khanacademy@0.3.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtoYW5hY2FkZW15QDAuMy4y"},{"name":"@openfn/language-khanacademy@0.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-khanacademy@0.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-khanacademy@0.3.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoALHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWtoYW5hY2FkZW15QDAuMy4x"},{"name":"@openfn/language-http@5.0.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@5.0.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@5.0.3","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANS4wLjM"},{"name":"@openfn/language-http@5.0.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@5.0.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@5.0.2","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANS4wLjI"},{"name":"@openfn/language-http@5.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@5.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@5.0.1","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANS4wLjE"},{"name":"@openfn/language-http@5.0.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@5.0.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@5.0.0","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANS4wLjA"},{"name":"@openfn/language-http@4.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@4.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@4.3.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANC4zLjM"},{"name":"@openfn/language-http@4.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@4.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@4.3.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANC4zLjI"},{"name":"@openfn/language-http@4.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@4.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@4.3.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANC4zLjE"},{"name":"@openfn/language-http@4.2.8","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@4.2.8","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@4.2.8","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANC4yLjg"},{"name":"@openfn/language-http@4.2.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@4.2.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@4.2.7","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANC4yLjc"},{"name":"@openfn/language-http@4.2.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@4.2.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@4.2.6","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANC4yLjY"},{"name":"@openfn/language-http@4.2.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@4.2.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@4.2.5","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANC4yLjU"},{"name":"@openfn/language-http@4.2.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@4.2.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@4.2.4","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANC4yLjQ"},{"name":"@openfn/language-http@4.2.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@4.2.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@4.2.3","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANC4yLjM"},{"name":"@openfn/language-http@4.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@4.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@4.2.2","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANC4yLjI"},{"name":"@openfn/language-http@4.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@4.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@4.2.1","commit":{"sha":"ea3e071eaf01b4bb93482eabb0899575c73db406","url":"https://api.github.com/repos/OpenFn/adaptors/commits/ea3e071eaf01b4bb93482eabb0899575c73db406"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANC4yLjE"},{"name":"@openfn/language-http@4.2.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-http@4.2.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-http@4.2.0","commit":{"sha":"864af04f8a0def040b9dc1f7b406bdae6318fb42","url":"https://api.github.com/repos/OpenFn/adaptors/commits/864af04f8a0def040b9dc1f7b406bdae6318fb42"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWh0dHBANC4yLjA"},{"name":"@openfn/language-googlesheets@2.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-googlesheets@2.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-googlesheets@2.2.2","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoALXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvb2dsZXNoZWV0c0AyLjIuMg"},{"name":"@openfn/language-googlesheets@2.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-googlesheets@2.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-googlesheets@2.2.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoALXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvb2dsZXNoZWV0c0AyLjIuMQ"},{"name":"@openfn/language-googlesheets@2.1.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-googlesheets@2.1.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-googlesheets@2.1.6","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoALXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvb2dsZXNoZWV0c0AyLjEuNg"},{"name":"@openfn/language-googlesheets@2.1.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-googlesheets@2.1.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-googlesheets@2.1.5","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoALXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvb2dsZXNoZWV0c0AyLjEuNQ"},{"name":"@openfn/language-googlesheets@2.1.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-googlesheets@2.1.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-googlesheets@2.1.4","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoALXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvb2dsZXNoZWV0c0AyLjEuNA"},{"name":"@openfn/language-googlesheets@2.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-googlesheets@2.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-googlesheets@2.1.3","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoALXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvb2dsZXNoZWV0c0AyLjEuMw"},{"name":"@openfn/language-googlesheets@2.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-googlesheets@2.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-googlesheets@2.1.2","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoALXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvb2dsZXNoZWV0c0AyLjEuMg"},{"name":"@openfn/language-googlesheets@2.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-googlesheets@2.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-googlesheets@2.1.1","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoALXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvb2dsZXNoZWV0c0AyLjEuMQ"},{"name":"@openfn/language-googlesheets@2.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-googlesheets@2.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-googlesheets@2.1.0","commit":{"sha":"07f0d0452a809c6ea0445af5d32ec1cac0d06a64","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07f0d0452a809c6ea0445af5d32ec1cac0d06a64"},"node_id":"REF_kwDOIJZfltoALXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvb2dsZXNoZWV0c0AyLjEuMA"},{"name":"@openfn/language-googlehealthcare@1.0.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-googlehealthcare@1.0.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-googlehealthcare@1.0.0","commit":{"sha":"0a5e39a9c849282bfe5b59578abd71de761a679d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/0a5e39a9c849282bfe5b59578abd71de761a679d"},"node_id":"REF_kwDOIJZfltoAMXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvb2dsZWhlYWx0aGNhcmVAMS4wLjA"},{"name":"@openfn/language-googlehealthcare@0.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-googlehealthcare@0.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-googlehealthcare@0.1.0","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAMXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvb2dsZWhlYWx0aGNhcmVAMC4xLjA"},{"name":"@openfn/language-googlehealthcare@0.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-googlehealthcare@0.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-googlehealthcare@0.0.1","commit":{"sha":"636d8a7f1ff21d7362cce869e7edb04f72fb1828","url":"https://api.github.com/repos/OpenFn/adaptors/commits/636d8a7f1ff21d7362cce869e7edb04f72fb1828"},"node_id":"REF_kwDOIJZfltoAMXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvb2dsZWhlYWx0aGNhcmVAMC4wLjE"},{"name":"@openfn/language-godata@3.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-godata@3.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-godata@3.3.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvZGF0YUAzLjMuMQ"},{"name":"@openfn/language-godata@3.2.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-godata@3.2.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-godata@3.2.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvZGF0YUAzLjIuNA"},{"name":"@openfn/language-godata@3.2.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-godata@3.2.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-godata@3.2.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvZGF0YUAzLjIuMw"},{"name":"@openfn/language-godata@3.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-godata@3.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-godata@3.2.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvZGF0YUAzLjIuMg"},{"name":"@openfn/language-godata@3.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-godata@3.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-godata@3.2.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWdvZGF0YUAzLjIuMQ"},{"name":"@openfn/language-fhir@3.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-fhir@3.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-fhir@3.1.0","commit":{"sha":"70c56c3a0f867754958944a1f4f7608d12ca5047","url":"https://api.github.com/repos/OpenFn/adaptors/commits/70c56c3a0f867754958944a1f4f7608d12ca5047"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZoaXJAMy4xLjA"},{"name":"@openfn/language-fhir@3.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-fhir@3.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-fhir@3.0.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZoaXJAMy4wLjE"},{"name":"@openfn/language-fhir@2.0.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-fhir@2.0.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-fhir@2.0.0","commit":{"sha":"00811f8d3f2fd3c58c08e3631b439c467b0fc614","url":"https://api.github.com/repos/OpenFn/adaptors/commits/00811f8d3f2fd3c58c08e3631b439c467b0fc614"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZoaXJAMi4wLjA"},{"name":"@openfn/language-fhir@1.1.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-fhir@1.1.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-fhir@1.1.5","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZoaXJAMS4xLjU"},{"name":"@openfn/language-fhir@1.1.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-fhir@1.1.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-fhir@1.1.4","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZoaXJAMS4xLjQ"},{"name":"@openfn/language-fhir@1.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-fhir@1.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-fhir@1.1.3","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZoaXJAMS4xLjM"},{"name":"@openfn/language-fhir@1.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-fhir@1.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-fhir@1.1.2","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZoaXJAMS4xLjI"},{"name":"@openfn/language-fhir@1.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-fhir@1.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-fhir@1.1.1","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZoaXJAMS4xLjE"},{"name":"@openfn/language-fhir@1.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-fhir@1.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-fhir@1.1.0","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAJXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZoaXJAMS4xLjA"},{"name":"@openfn/language-facebook@0.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-facebook@0.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-facebook@0.3.2","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZhY2Vib29rQDAuMy4y"},{"name":"@openfn/language-facebook@0.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-facebook@0.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-facebook@0.3.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZhY2Vib29rQDAuMy4x"},{"name":"@openfn/language-facebook@0.2.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-facebook@0.2.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-facebook@0.2.3","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZhY2Vib29rQDAuMi4z"},{"name":"@openfn/language-facebook@0.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-facebook@0.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-facebook@0.2.2","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZhY2Vib29rQDAuMi4y"},{"name":"@openfn/language-facebook@0.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-facebook@0.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-facebook@0.2.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWZhY2Vib29rQDAuMi4x"},{"name":"@openfn/language-dynamics@0.4.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dynamics@0.4.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dynamics@0.4.7","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWR5bmFtaWNzQDAuNC43"},{"name":"@openfn/language-dynamics@0.4.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dynamics@0.4.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dynamics@0.4.6","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWR5bmFtaWNzQDAuNC42"},{"name":"@openfn/language-dynamics@0.4.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dynamics@0.4.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dynamics@0.4.5","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWR5bmFtaWNzQDAuNC41"},{"name":"@openfn/language-dynamics@0.4.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dynamics@0.4.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dynamics@0.4.4","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWR5bmFtaWNzQDAuNC40"},{"name":"@openfn/language-dynamics@0.4.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dynamics@0.4.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dynamics@0.4.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWR5bmFtaWNzQDAuNC4z"},{"name":"@openfn/language-dynamics@0.4.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dynamics@0.4.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dynamics@0.4.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWR5bmFtaWNzQDAuNC4y"},{"name":"@openfn/language-dynamics@0.4.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dynamics@0.4.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dynamics@0.4.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWR5bmFtaWNzQDAuNC4x"},{"name":"@openfn/language-dynamics@0.3.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dynamics@0.3.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dynamics@0.3.5","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWR5bmFtaWNzQDAuMy41"},{"name":"@openfn/language-dynamics@0.3.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dynamics@0.3.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dynamics@0.3.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWR5bmFtaWNzQDAuMy40"},{"name":"@openfn/language-dynamics@0.3.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dynamics@0.3.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dynamics@0.3.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWR5bmFtaWNzQDAuMy4z"},{"name":"@openfn/language-dynamics@0.3.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dynamics@0.3.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dynamics@0.3.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWR5bmFtaWNzQDAuMy4y"},{"name":"@openfn/language-dynamics@0.3.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dynamics@0.3.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dynamics@0.3.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWR5bmFtaWNzQDAuMy4x"},{"name":"@openfn/language-dhis2@4.0.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@4.0.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@4.0.2","commit":{"sha":"0a5e39a9c849282bfe5b59578abd71de761a679d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/0a5e39a9c849282bfe5b59578abd71de761a679d"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDQuMC4y"},{"name":"@openfn/language-dhis2@4.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@4.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@4.0.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDQuMC4x"},{"name":"@openfn/language-dhis2@3.2.12","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.12","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.12","commit":{"sha":"a4d370b1d341e1678ccfbb1ff95342fb379a16c6","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a4d370b1d341e1678ccfbb1ff95342fb379a16c6"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi4xMg"},{"name":"@openfn/language-dhis2@3.2.11","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.11","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.11","commit":{"sha":"0bdc5ee1f7f14ee15bc4614fd6d4f44907e986d1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/0bdc5ee1f7f14ee15bc4614fd6d4f44907e986d1"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi4xMQ"},{"name":"@openfn/language-dhis2@3.2.10","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.10","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.10","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi4xMA"},{"name":"@openfn/language-dhis2@3.2.9","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.9","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.9","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi45"},{"name":"@openfn/language-dhis2@3.2.8","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.8","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.8","commit":{"sha":"c1fcc05f76fd245b8892091e23385f87f5dff3fd","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c1fcc05f76fd245b8892091e23385f87f5dff3fd"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi44"},{"name":"@openfn/language-dhis2@3.2.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.7","commit":{"sha":"f5cf160440f03f0455a0251d8fc8ac6026665e49","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f5cf160440f03f0455a0251d8fc8ac6026665e49"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi43"},{"name":"@openfn/language-dhis2@3.2.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.6","commit":{"sha":"3b1a650aacca463493b36fc59fa10050cbec2b41","url":"https://api.github.com/repos/OpenFn/adaptors/commits/3b1a650aacca463493b36fc59fa10050cbec2b41"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi42"},{"name":"@openfn/language-dhis2@3.2.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.5","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi41"},{"name":"@openfn/language-dhis2@3.2.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.4","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi40"},{"name":"@openfn/language-dhis2@3.2.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.3","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi4z"},{"name":"@openfn/language-dhis2@3.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.2","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi4y"},{"name":"@openfn/language-dhis2@3.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.1","commit":{"sha":"ea3e071eaf01b4bb93482eabb0899575c73db406","url":"https://api.github.com/repos/OpenFn/adaptors/commits/ea3e071eaf01b4bb93482eabb0899575c73db406"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi4x"},{"name":"@openfn/language-dhis2@3.2.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-dhis2@3.2.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-dhis2@3.2.0","commit":{"sha":"864af04f8a0def040b9dc1f7b406bdae6318fb42","url":"https://api.github.com/repos/OpenFn/adaptors/commits/864af04f8a0def040b9dc1f7b406bdae6318fb42"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWRoaXMyQDMuMi4w"},{"name":"@openfn/language-common@1.11.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-common@1.11.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-common@1.11.0","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1vbkAxLjExLjA"},{"name":"@openfn/language-common@1.10.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-common@1.10.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-common@1.10.3","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1vbkAxLjEwLjM"},{"name":"@openfn/language-common@1.10.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-common@1.10.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-common@1.10.2","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1vbkAxLjEwLjI"},{"name":"@openfn/language-common@1.10.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-common@1.10.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-common@1.10.1","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1vbkAxLjEwLjE"},{"name":"@openfn/language-common@1.10.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-common@1.10.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-common@1.10.0","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1vbkAxLjEwLjA"},{"name":"@openfn/language-common@1.9.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-common@1.9.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-common@1.9.0","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1vbkAxLjkuMA"},{"name":"@openfn/language-common@1.8.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-common@1.8.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-common@1.8.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1vbkAxLjguMQ"},{"name":"@openfn/language-common@1.7.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-common@1.7.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-common@1.7.7","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1vbkAxLjcuNw"},{"name":"@openfn/language-common@1.7.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-common@1.7.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-common@1.7.6","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1vbkAxLjcuNg"},{"name":"@openfn/language-common@1.7.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-common@1.7.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-common@1.7.5","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1vbkAxLjcuNQ"},{"name":"@openfn/language-common@1.7.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-common@1.7.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-common@1.7.4","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAJ3JlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1vbkAxLjcuNA"},{"name":"@openfn/language-commcare@1.6.9","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.6.9","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.6.9","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNi45"},{"name":"@openfn/language-commcare@1.6.8","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.6.8","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.6.8","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNi44"},{"name":"@openfn/language-commcare@1.6.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.6.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.6.7","commit":{"sha":"a71941741922908af34c3d6dd7edb744716ce85b","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a71941741922908af34c3d6dd7edb744716ce85b"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNi43"},{"name":"@openfn/language-commcare@1.6.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.6.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.6.6","commit":{"sha":"0a5e39a9c849282bfe5b59578abd71de761a679d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/0a5e39a9c849282bfe5b59578abd71de761a679d"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNi42"},{"name":"@openfn/language-commcare@1.6.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.6.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.6.5","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNi41"},{"name":"@openfn/language-commcare@1.6.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.6.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.6.4","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNi40"},{"name":"@openfn/language-commcare@1.6.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.6.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.6.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNi4z"},{"name":"@openfn/language-commcare@1.6.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.6.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.6.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNi4y"},{"name":"@openfn/language-commcare@1.6.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.6.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.6.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNi4x"},{"name":"@openfn/language-commcare@1.5.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.5.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.5.6","commit":{"sha":"8e44ede59f7c5ba825414a84c46b1a677b92d7e4","url":"https://api.github.com/repos/OpenFn/adaptors/commits/8e44ede59f7c5ba825414a84c46b1a677b92d7e4"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNS42"},{"name":"@openfn/language-commcare@1.5.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.5.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.5.5","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNS41"},{"name":"@openfn/language-commcare@1.5.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.5.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.5.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNS40"},{"name":"@openfn/language-commcare@1.5.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.5.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.5.3","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNS4z"},{"name":"@openfn/language-commcare@1.5.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.5.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.5.1","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNS4x"},{"name":"@openfn/language-commcare@1.5.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-commcare@1.5.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-commcare@1.5.0","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNvbW1jYXJlQDEuNS4w"},{"name":"@openfn/language-cartodb@0.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-cartodb@0.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-cartodb@0.2.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNhcnRvZGJAMC4yLjE"},{"name":"@openfn/language-cartodb@0.1.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-cartodb@0.1.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-cartodb@0.1.4","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNhcnRvZGJAMC4xLjQ"},{"name":"@openfn/language-cartodb@0.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-cartodb@0.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-cartodb@0.1.3","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNhcnRvZGJAMC4xLjM"},{"name":"@openfn/language-cartodb@0.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-cartodb@0.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-cartodb@0.1.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNhcnRvZGJAMC4xLjI"},{"name":"@openfn/language-cartodb@0.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-cartodb@0.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-cartodb@0.1.1","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWNhcnRvZGJAMC4xLjE"},{"name":"@openfn/language-bigquery@2.0.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-bigquery@2.0.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-bigquery@2.0.3","commit":{"sha":"f4439b104f8a6f9a32386059b8d2562c8efa944a","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f4439b104f8a6f9a32386059b8d2562c8efa944a"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJpZ3F1ZXJ5QDIuMC4z"},{"name":"@openfn/language-bigquery@2.0.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-bigquery@2.0.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-bigquery@2.0.2","commit":{"sha":"02a36312658530f5f360c6c1de3b5ef4e9ec8c3d","url":"https://api.github.com/repos/OpenFn/adaptors/commits/02a36312658530f5f360c6c1de3b5ef4e9ec8c3d"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJpZ3F1ZXJ5QDIuMC4y"},{"name":"@openfn/language-bigquery@2.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-bigquery@2.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-bigquery@2.0.1","commit":{"sha":"e08f827ff06704b59cd6b9f2f900f6fecb769dba","url":"https://api.github.com/repos/OpenFn/adaptors/commits/e08f827ff06704b59cd6b9f2f900f6fecb769dba"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJpZ3F1ZXJ5QDIuMC4x"},{"name":"@openfn/language-bigquery@2.0.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-bigquery@2.0.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-bigquery@2.0.0","commit":{"sha":"33db28cfd5bbd3de34b5fb55b664684ca8262d99","url":"https://api.github.com/repos/OpenFn/adaptors/commits/33db28cfd5bbd3de34b5fb55b664684ca8262d99"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJpZ3F1ZXJ5QDIuMC4w"},{"name":"@openfn/language-bigquery@1.2.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-bigquery@1.2.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-bigquery@1.2.3","commit":{"sha":"7034947eded80f6dc69681be3ec61a7dd38dbcd8","url":"https://api.github.com/repos/OpenFn/adaptors/commits/7034947eded80f6dc69681be3ec61a7dd38dbcd8"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJpZ3F1ZXJ5QDEuMi4z"},{"name":"@openfn/language-bigquery@1.2.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-bigquery@1.2.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-bigquery@1.2.2","commit":{"sha":"2255f007ec481b8216a57775629951832af7a136","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2255f007ec481b8216a57775629951832af7a136"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJpZ3F1ZXJ5QDEuMi4y"},{"name":"@openfn/language-bigquery@1.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-bigquery@1.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-bigquery@1.2.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJpZ3F1ZXJ5QDEuMi4x"},{"name":"@openfn/language-bigquery@1.1.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-bigquery@1.1.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-bigquery@1.1.5","commit":{"sha":"a15f86e741a7b07234af7461f47ae2464bc14f4b","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a15f86e741a7b07234af7461f47ae2464bc14f4b"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJpZ3F1ZXJ5QDEuMS41"},{"name":"@openfn/language-bigquery@1.1.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-bigquery@1.1.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-bigquery@1.1.4","commit":{"sha":"88bf938239e5fadb59e03aaab183e629b1b7eed1","url":"https://api.github.com/repos/OpenFn/adaptors/commits/88bf938239e5fadb59e03aaab183e629b1b7eed1"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJpZ3F1ZXJ5QDEuMS40"},{"name":"@openfn/language-bigquery@1.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-bigquery@1.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-bigquery@1.1.3","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJpZ3F1ZXJ5QDEuMS4z"},{"name":"@openfn/language-bigquery@1.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-bigquery@1.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-bigquery@1.1.2","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJpZ3F1ZXJ5QDEuMS4y"},{"name":"@openfn/language-bigquery@1.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-bigquery@1.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-bigquery@1.1.0","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAKXJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJpZ3F1ZXJ5QDEuMS4w"},{"name":"@openfn/language-beyonic@0.2.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-beyonic@0.2.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-beyonic@0.2.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJleW9uaWNAMC4yLjE"},{"name":"@openfn/language-beyonic@0.1.9","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-beyonic@0.1.9","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-beyonic@0.1.9","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJleW9uaWNAMC4xLjk"},{"name":"@openfn/language-beyonic@0.1.8","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-beyonic@0.1.8","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-beyonic@0.1.8","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJleW9uaWNAMC4xLjg"},{"name":"@openfn/language-beyonic@0.1.7","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-beyonic@0.1.7","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-beyonic@0.1.7","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJleW9uaWNAMC4xLjc"},{"name":"@openfn/language-beyonic@0.1.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-beyonic@0.1.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-beyonic@0.1.6","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJleW9uaWNAMC4xLjY"},{"name":"@openfn/language-beyonic@0.1.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-beyonic@0.1.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-beyonic@0.1.5","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJleW9uaWNAMC4xLjU"},{"name":"@openfn/language-beyonic@0.1.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-beyonic@0.1.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-beyonic@0.1.4","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJleW9uaWNAMC4xLjQ"},{"name":"@openfn/language-beyonic@0.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-beyonic@0.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-beyonic@0.1.3","commit":{"sha":"2baee4d9ccd7c0df60bb38e83c5d4dbcfebbf775","url":"https://api.github.com/repos/OpenFn/adaptors/commits/2baee4d9ccd7c0df60bb38e83c5d4dbcfebbf775"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJleW9uaWNAMC4xLjM"},{"name":"@openfn/language-beyonic@0.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-beyonic@0.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-beyonic@0.1.2","commit":{"sha":"278e3c61a1cdcb14b452d5e7cb613414c68e1dc5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/278e3c61a1cdcb14b452d5e7cb613414c68e1dc5"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJleW9uaWNAMC4xLjI"},{"name":"@openfn/language-beyonic@0.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-beyonic@0.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-beyonic@0.1.1","commit":{"sha":"07f0d0452a809c6ea0445af5d32ec1cac0d06a64","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07f0d0452a809c6ea0445af5d32ec1cac0d06a64"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJleW9uaWNAMC4xLjE"},{"name":"@openfn/language-beyonic@0.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-beyonic@0.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-beyonic@0.1.0","commit":{"sha":"ea3e071eaf01b4bb93482eabb0899575c73db406","url":"https://api.github.com/repos/OpenFn/adaptors/commits/ea3e071eaf01b4bb93482eabb0899575c73db406"},"node_id":"REF_kwDOIJZfltoAKHJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWJleW9uaWNAMC4xLjA"},{"name":"@openfn/language-asana@3.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-asana@3.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-asana@3.0.1","commit":{"sha":"f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f6c8aa278ae6ebc1a8b38ad1d2732d21c5ff0c50"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWFzYW5hQDMuMC4x"},{"name":"@openfn/language-asana@2.1.6","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-asana@2.1.6","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-asana@2.1.6","commit":{"sha":"07100dd92aad7a94d1ca53408111a2af3dd5bd57","url":"https://api.github.com/repos/OpenFn/adaptors/commits/07100dd92aad7a94d1ca53408111a2af3dd5bd57"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWFzYW5hQDIuMS42"},{"name":"@openfn/language-asana@2.1.5","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-asana@2.1.5","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-asana@2.1.5","commit":{"sha":"a746588bab509b39868d07ac888165646154a0b7","url":"https://api.github.com/repos/OpenFn/adaptors/commits/a746588bab509b39868d07ac888165646154a0b7"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWFzYW5hQDIuMS41"},{"name":"@openfn/language-asana@2.1.4","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-asana@2.1.4","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-asana@2.1.4","commit":{"sha":"b71a980acddfefff6c09138289ea4c08b84478af","url":"https://api.github.com/repos/OpenFn/adaptors/commits/b71a980acddfefff6c09138289ea4c08b84478af"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWFzYW5hQDIuMS40"},{"name":"@openfn/language-asana@2.1.3","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-asana@2.1.3","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-asana@2.1.3","commit":{"sha":"f626ab9fd3e0db58822203f969eb1789e0a2b8d5","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f626ab9fd3e0db58822203f969eb1789e0a2b8d5"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWFzYW5hQDIuMS4z"},{"name":"@openfn/language-asana@2.1.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-asana@2.1.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-asana@2.1.2","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWFzYW5hQDIuMS4y"},{"name":"@openfn/language-asana@2.1.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-asana@2.1.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-asana@2.1.1","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWFzYW5hQDIuMS4x"},{"name":"@openfn/language-asana@2.1.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/language-asana@2.1.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/language-asana@2.1.0","commit":{"sha":"ea3e071eaf01b4bb93482eabb0899575c73db406","url":"https://api.github.com/repos/OpenFn/adaptors/commits/ea3e071eaf01b4bb93482eabb0899575c73db406"},"node_id":"REF_kwDOIJZfltoAJnJlZnMvdGFncy9Ab3BlbmZuL2xhbmd1YWdlLWFzYW5hQDIuMS4w"},{"name":"@openfn/buildtools@1.0.2","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/buildtools@1.0.2","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/buildtools@1.0.2","commit":{"sha":"c614ba7cc6c5ed111dce505da32f6604e50a8008","url":"https://api.github.com/repos/OpenFn/adaptors/commits/c614ba7cc6c5ed111dce505da32f6604e50a8008"},"node_id":"REF_kwDOIJZfltoAInJlZnMvdGFncy9Ab3BlbmZuL2J1aWxkdG9vbHNAMS4wLjI"},{"name":"@openfn/buildtools@1.0.1","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/@openfn/buildtools@1.0.1","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/@openfn/buildtools@1.0.1","commit":{"sha":"864af04f8a0def040b9dc1f7b406bdae6318fb42","url":"https://api.github.com/repos/OpenFn/adaptors/commits/864af04f8a0def040b9dc1f7b406bdae6318fb42"},"node_id":"REF_kwDOIJZfltoAInJlZnMvdGFncy9Ab3BlbmZuL2J1aWxkdG9vbHNAMS4wLjE"},{"name":"import-tests@1.0.0","zipball_url":"https://api.github.com/repos/OpenFn/adaptors/zipball/refs/tags/import-tests@1.0.0","tarball_url":"https://api.github.com/repos/OpenFn/adaptors/tarball/refs/tags/import-tests@1.0.0","commit":{"sha":"f0f34fde0ad12d0fae696475cd3320a57500b2ef","url":"https://api.github.com/repos/OpenFn/adaptors/commits/f0f34fde0ad12d0fae696475cd3320a57500b2ef"},"node_id":"REF_kwDOIJZflrxyZWZzL3RhZ3MvaW1wb3J0LXRlc3RzQDEuMC4w"}]')),f=JSON.parse('[{"module":"asana","name":"Asana","versions":["v1.0.1","v2.0.0","v2.1.0"],"npm":"v2.1.0","public":true},{"module":"beyonic","name":"Beyonic","versions":["v0.1.3"],"npm":"v0.1.0","public":true},{"module":"cartodb","name":"Carto","versions":["v0.0.4"],"public":true},{"module":"commcare","name":"CommCareHQ","versions":["v1.2.1","v1.4.1"],"public":true},{"module":"dhis2","name":"DHIS2","versions":["v1.0.1","v1.3.0","v2.0.4","v2.0.8","v2.0.11","v3.0.1","v3.0.4","v3.0.5","v3.2.1"],"npm":"v3.2.1","public":true},{"module":"dynamics","name":"Microsoft Dynamics","versions":["v0.2.0"],"public":true},{"module":"googlesheets","name":"Google Sheets","versions":["v1.0.2","v2.0.0","v2.1.0"],"npm":"v2.1.0","public":true},{"module":"facebook","name":"Facebook Messenger","versions":["v0.1.0"],"public":true},{"module":"godata","name":"Go.Data","versions":["v3.1.0"],"public":true},{"module":"http","name":"HTTP","versions":["v2.4.15","v3.1.7","v3.1.11","v3.1.12","v4.0.0","v4.2.1"],"public":true,"npm":"v4.1.0"},{"module":"khanacademy","name":"Khan Academy","versions":["v0.2.0"],"public":true},{"module":"kobotoolbox","name":"Kobo Toolbox","versions":["v1.0.4"],"public":true},{"module":"magpi","name":"Magpi","versions":["v0.3.2"],"public":true},{"module":"mailchimp","name":"Mailchimp","versions":["v0.2.0"],"public":true},{"module":"mailgun","name":"Mailgun","versions":["v0.2.2"],"public":true},{"module":"maximo","name":"IBM Maximo EAM","versions":["v0.2.0"],"public":true},{"module":"medicmobile","name":"Medic Mobile","versions":["v0.2.0"],"public":true},{"module":"mogli","name":"Mogli SMS","versions":["v0.2.1"],"public":true},{"module":"mongodb","name":"MongoDB","versions":["v1.0.4"],"public":true},{"module":"mssql","name":"Azure/MS SQL","versions":["v2.3.3","v2.6.1","v2.6.4","v2.6.9","v2.6.11","v3.0.0","v3.1.0"],"npm":"v3.1.0","public":true},{"module":"mysql","name":"MySQL","versions":["v1.1.1","v1.2.0"],"public":true},{"module":"nexmo","name":"Nexmo","versions":["v0.1.1"],"public":true},{"module":"openfn","name":"OpenFn","versions":["v1.1.3","v1.1.4"],"public":true},{"module":"openhim","name":"OpenHIM","versions":["v0.0.3"],"public":true},{"module":"openmrs","name":"OpenMRS","versions":["v0.9.2"],"public":true},{"module":"postgresql","name":"PostgreSQL","versions":["v2.4.0","v3.1.4","v3.3.2","v3.3.1","v3.3.3","v3.4.0"],"npm":"v3.4.0","public":true},{"module":"primero","name":"Primero","versions":["v1.2.0","v2.2.3","v2.2.8","v2.3.4","v2.3.5","v2.3.6","v2.4.4","v2.7.0","v2.7.2","v2.8.0","v2.9.1","v2.9.2","v2.10.0"],"npm":"v2.9.1","public":true},{"module":"progres","name":"Progres","versions":["v1.1.0"],"public":true},{"module":"rapidpro","name":"RapidPro","versions":["v0.4.7"],"public":true},{"module":"resourcemap","name":"Resource Map","versions":["v0.1.0"],"public":true},{"module":"salesforce","name":"Salesforce","versions":["v1.3.2","v2.3.2","v2.3.5","v2.4.0","v2.6.3","v2.7.2","v2.7.3","v2.7.4","v2.8.1","v2.9.0","v2.10.0","v2.11.0"],"npm":"v2.11.0","public":true},{"module":"sftp","name":"SFTP","versions":["v0.3.3","v0.4.0","v0.6.1","v0.6.2"],"npm":"v0.6.1","public":true},{"module":"smpp","name":"SMPP","versions":["v1.1.0"],"public":true},{"module":"surveycto","name":"SurveyCTO","versions":["v1.0.0"],"public":true},{"module":"telerivet","name":"Telerivet","versions":["v0.0.2"],"public":true},{"module":"twilio","name":"Twilio","versions":["v0.2.0","v0.2.1"],"public":true},{"module":"vtiger","name":"vtiger CRM","versions":["v1.0.0"],"public":true},{"module":"zoho","name":"Zoho Reports","versions":["v0.0.2","v0.1.0"],"public":true}]');function u(){const a={};g.filter((a=>a.name.includes("language-"))).map((a=>{const e=a.name,p=e.substring(e.indexOf("-")+1,e.lastIndexOf("@")),n=e.split("@")[2];return{module:p,version:n,url:`https://github.com/OpenFn/adaptors/tree/%40openfn/language-${p}%40${n}/packages/${p}`}})).forEach((e=>{a[e.module]={module:e.module,versions:{...a[e.module]?.versions,[e.version]:{version:`v${e.version}`,url:e.url}}}})),f.forEach((e=>{a[e.module]={module:a[e.module]?.module||e.module,versions:{...a[e.module]?.versions}};e.versions.filter((a=>!e.npm||-1==l(a.substring(1),e.npm.substring(1)))).forEach((p=>{a[e.module].versions[p]={version:p,url:`https://www.github.com/openfn/language-${e.module}/tree/${p}`}}))}));return Object.values(a).sort(((a,e)=>a.module>e.module?1:e.module>a.module?-1:0)).map((a=>({...a,versions:Object.values(a.versions)})))}const h=JSON.parse('[{"name":"asana","docsId":"packages/asana-docs","readmeId":"packages/asana-readme","changelogId":"packages/asana-changelog","configurationSchemaId":"packages/asana-configuration-schema"},{"name":"beyonic","docsId":"packages/beyonic-docs","readmeId":"packages/beyonic-readme","changelogId":"packages/beyonic-changelog","configurationSchemaId":"packages/beyonic-configuration-schema"},{"name":"bigquery","docsId":"packages/bigquery-docs","readmeId":"packages/bigquery-readme","changelogId":"packages/bigquery-changelog","configurationSchemaId":"packages/bigquery-configuration-schema"},{"name":"commcare","docsId":"packages/commcare-docs","readmeId":"packages/commcare-readme","changelogId":"packages/commcare-changelog","configurationSchemaId":"packages/commcare-configuration-schema"},{"name":"common","docsId":"packages/common-docs","readmeId":"packages/common-readme","changelogId":"packages/common-changelog","configurationSchemaId":"packages/common-configuration-schema"},{"name":"dhis2","docsId":"packages/dhis2-docs","readmeId":"packages/dhis2-readme","changelogId":"packages/dhis2-changelog","configurationSchemaId":"packages/dhis2-configuration-schema"},{"name":"dynamics","docsId":"packages/dynamics-docs","readmeId":"packages/dynamics-readme","changelogId":"packages/dynamics-changelog","configurationSchemaId":"packages/dynamics-configuration-schema"},{"name":"facebook","docsId":"packages/facebook-docs","readmeId":"packages/facebook-readme","changelogId":"packages/facebook-changelog","configurationSchemaId":"packages/facebook-configuration-schema"},{"name":"fhir","docsId":"packages/fhir-docs","readmeId":"packages/fhir-readme","changelogId":"packages/fhir-changelog","configurationSchemaId":"packages/fhir-configuration-schema"},{"name":"godata","docsId":"packages/godata-docs","readmeId":"packages/godata-readme","changelogId":"packages/godata-changelog","configurationSchemaId":"packages/godata-configuration-schema"},{"name":"googlehealthcare","docsId":"packages/googlehealthcare-docs","readmeId":"packages/googlehealthcare-readme","changelogId":"packages/googlehealthcare-changelog","configurationSchemaId":"packages/googlehealthcare-configuration-schema"},{"name":"googlesheets","docsId":"packages/googlesheets-docs","readmeId":"packages/googlesheets-readme","changelogId":"packages/googlesheets-changelog","configurationSchemaId":"packages/googlesheets-configuration-schema"},{"name":"http","docsId":"packages/http-docs","readmeId":"packages/http-readme","changelogId":"packages/http-changelog","configurationSchemaId":"packages/http-configuration-schema"},{"name":"khanacademy","docsId":"packages/khanacademy-docs","readmeId":"packages/khanacademy-readme","changelogId":"packages/khanacademy-changelog","configurationSchemaId":"packages/khanacademy-configuration-schema"},{"name":"kobotoolbox","docsId":"packages/kobotoolbox-docs","readmeId":"packages/kobotoolbox-readme","changelogId":"packages/kobotoolbox-changelog","configurationSchemaId":"packages/kobotoolbox-configuration-schema"},{"name":"magpi","docsId":"packages/magpi-docs","readmeId":"packages/magpi-readme","changelogId":"packages/magpi-changelog","configurationSchemaId":"packages/magpi-configuration-schema"},{"name":"mailchimp","docsId":"packages/mailchimp-docs","readmeId":"packages/mailchimp-readme","changelogId":"packages/mailchimp-changelog","configurationSchemaId":"packages/mailchimp-configuration-schema"},{"name":"mailgun","docsId":"packages/mailgun-docs","readmeId":"packages/mailgun-readme","changelogId":"packages/mailgun-changelog","configurationSchemaId":"packages/mailgun-configuration-schema"},{"name":"maximo","docsId":"packages/maximo-docs","readmeId":"packages/maximo-readme","changelogId":"packages/maximo-changelog","configurationSchemaId":"packages/maximo-configuration-schema"},{"name":"medicmobile","docsId":"packages/medicmobile-docs","readmeId":"packages/medicmobile-readme","changelogId":"packages/medicmobile-changelog","configurationSchemaId":"packages/medicmobile-configuration-schema"},{"name":"mogli","docsId":"packages/mogli-docs","readmeId":"packages/mogli-readme","changelogId":"packages/mogli-changelog","configurationSchemaId":"packages/mogli-configuration-schema"},{"name":"mongodb","docsId":"packages/mongodb-docs","readmeId":"packages/mongodb-readme","changelogId":"packages/mongodb-changelog","configurationSchemaId":"packages/mongodb-configuration-schema"},{"name":"msgraph","docsId":"packages/msgraph-docs","readmeId":"packages/msgraph-readme","changelogId":"packages/msgraph-changelog","configurationSchemaId":"packages/msgraph-configuration-schema"},{"name":"mssql","docsId":"packages/mssql-docs","readmeId":"packages/mssql-readme","changelogId":"packages/mssql-changelog","configurationSchemaId":"packages/mssql-configuration-schema"},{"name":"mysql","docsId":"packages/mysql-docs","readmeId":"packages/mysql-readme","changelogId":"packages/mysql-changelog","configurationSchemaId":"packages/mysql-configuration-schema"},{"name":"nexmo","docsId":"packages/nexmo-docs","readmeId":"packages/nexmo-readme","changelogId":"packages/nexmo-changelog","configurationSchemaId":"packages/nexmo-configuration-schema"},{"name":"ocl","docsId":"packages/ocl-docs","readmeId":"packages/ocl-readme","changelogId":"packages/ocl-changelog","configurationSchemaId":"packages/ocl-configuration-schema"},{"name":"openfn","docsId":"packages/openfn-docs","readmeId":"packages/openfn-readme","changelogId":"packages/openfn-changelog","configurationSchemaId":"packages/openfn-configuration-schema"},{"name":"openhim","docsId":"packages/openhim-docs","readmeId":"packages/openhim-readme","changelogId":"packages/openhim-changelog","configurationSchemaId":"packages/openhim-configuration-schema"},{"name":"openmrs","docsId":"packages/openmrs-docs","readmeId":"packages/openmrs-readme","changelogId":"packages/openmrs-changelog","configurationSchemaId":"packages/openmrs-configuration-schema"},{"name":"postgresql","docsId":"packages/postgresql-docs","readmeId":"packages/postgresql-readme","changelogId":"packages/postgresql-changelog","configurationSchemaId":"packages/postgresql-configuration-schema"},{"name":"primero","docsId":"packages/primero-docs","readmeId":"packages/primero-readme","changelogId":"packages/primero-changelog","configurationSchemaId":"packages/primero-configuration-schema"},{"name":"progres","docsId":"packages/progres-docs","readmeId":"packages/progres-readme","changelogId":"packages/progres-changelog","configurationSchemaId":"packages/progres-configuration-schema"},{"name":"rapidpro","docsId":"packages/rapidpro-docs","readmeId":"packages/rapidpro-readme","changelogId":"packages/rapidpro-changelog","configurationSchemaId":"packages/rapidpro-configuration-schema"},{"name":"resourcemap","docsId":"packages/resourcemap-docs","readmeId":"packages/resourcemap-readme","changelogId":"packages/resourcemap-changelog","configurationSchemaId":"packages/resourcemap-configuration-schema"},{"name":"salesforce","docsId":"packages/salesforce-docs","readmeId":"packages/salesforce-readme","changelogId":"packages/salesforce-changelog","configurationSchemaId":"packages/salesforce-configuration-schema"},{"name":"sftp","docsId":"packages/sftp-docs","readmeId":"packages/sftp-readme","changelogId":"packages/sftp-changelog","configurationSchemaId":"packages/sftp-configuration-schema"},{"name":"smpp","docsId":"packages/smpp-docs","readmeId":"packages/smpp-readme","changelogId":"packages/smpp-changelog","configurationSchemaId":"packages/smpp-configuration-schema"},{"name":"surveycto","docsId":"packages/surveycto-docs","readmeId":"packages/surveycto-readme","changelogId":"packages/surveycto-changelog","configurationSchemaId":"packages/surveycto-configuration-schema"},{"name":"telerivet","docsId":"packages/telerivet-docs","readmeId":"packages/telerivet-readme","changelogId":"packages/telerivet-changelog","configurationSchemaId":"packages/telerivet-configuration-schema"},{"name":"template","docsId":"packages/template-docs","readmeId":"packages/template-readme","changelogId":"packages/template-changelog","configurationSchemaId":"packages/template-configuration-schema"},{"name":"twilio","docsId":"packages/twilio-docs","readmeId":"packages/twilio-readme","changelogId":"packages/twilio-changelog","configurationSchemaId":"packages/twilio-configuration-schema"},{"name":"vtiger","docsId":"packages/vtiger-docs","readmeId":"packages/vtiger-readme","changelogId":"packages/vtiger-changelog","configurationSchemaId":"packages/vtiger-configuration-schema"},{"name":"zoho","docsId":"packages/zoho-docs","readmeId":"packages/zoho-readme","changelogId":"packages/zoho-changelog","configurationSchemaId":"packages/zoho-configuration-schema"}]'),F={id:"adaptors-intro",title:"Adaptors",sidebar_label:"Introduction",slug:"/"},O=void 0,_={unversionedId:"adaptors-intro",id:"adaptors-intro",title:"Adaptors",description:"Connect Anything.",source:"@site/adaptors/intro.mdx",sourceDirName:".",slug:"/",permalink:"/adaptors/",draft:!1,tags:[],version:"current",frontMatter:{id:"adaptors-intro",title:"Adaptors",sidebar_label:"Introduction",slug:"/"},sidebar:"adaptors",next:{title:"Library Examples",permalink:"/adaptors/library"}},Z={},A=[{value:"Connect Anything.",id:"connect-anything",level:2},{value:"What's an adaptor?",id:"whats-an-adaptor",level:2},{value:"Where to find them",id:"where-to-find-them",level:2},{value:"On the OpenFn platform",id:"on-the-openfn-platform",level:3},{value:"On npm",id:"on-npm",level:3},{value:"Install on platform via npm",id:"install-on-platform-via-npm",level:4},{value:"Building and extending adaptors",id:"building-and-extending-adaptors",level:2}],J={toc:A},L="wrapper";function z(a){let{components:e,...s}=a;return(0,o.kt)(L,(0,n.Z)({},J,s,{components:e,mdxType:"MDXLayout"}),(0,o.kt)("h2",{id:"connect-anything"},"Connect ",(0,o.kt)("em",{parentName:"h2"},"Anything.")),(0,o.kt)("p",null,"First, it's important to note that OpenFn can connect to ",(0,o.kt)("em",{parentName:"p"},"any system"),' via HTTP,\nbut our community has also built dozens of "adaptors" to save time & money while\nconnecting to most commonly used digital public goods and key ICT4D systems.'),(0,o.kt)("p",null,"You can even run web scraping or browser automation tools with OpenFn. See the\n",(0,o.kt)("a",{parentName:"p",href:"/documentation/faqs#can-openfn-integrate-with-my-custom-app"},"FAQs")," and\n",(0,o.kt)("a",{parentName:"p",href:"/documentation/source-apps"},"Generic Data Sources")," for more info on how to\nconnect to systems without custom adaptors. It's almost like a universal\ntranslator... \ud83d\udd96"),(0,o.kt)("h2",{id:"whats-an-adaptor"},"What's an adaptor?"),(0,o.kt)("p",null,'An adaptor is an open-source Javascript or Typescript module that provides\nOpenFn users with a clean set of helper functions that help communicate with a\nspecific external system. In the past, we often referred to them as "language\npackages" and the two terms are sometimes used interchangeably, but the\npreferred way of communicating about adaptors is as follows:'),(0,o.kt)("ul",null,(0,o.kt)("li",{parentName:"ul"},'"What ',(0,o.kt)("em",{parentName:"li"},(0,o.kt)("strong",{parentName:"em"},"adaptor")),' is that job using?" ("That job is using\n',(0,o.kt)("inlineCode",{parentName:"li"},"language-dhis2"),'.")'),(0,o.kt)("li",{parentName:"ul"},'"The DHIS2 ',(0,o.kt)("em",{parentName:"li"},(0,o.kt)("strong",{parentName:"em"},"adaptor"))," is called ",(0,o.kt)("inlineCode",{parentName:"li"},"language-dhis2"),'."'),(0,o.kt)("li",{parentName:"ul"},"\"I don't have the right ",(0,o.kt)("em",{parentName:"li"},(0,o.kt)("strong",{parentName:"em"},"adaptor"))," for this job, let me install it by\nrunning ",(0,o.kt)("inlineCode",{parentName:"li"},"npm install @openfn/language-dhis2"),".")),(0,o.kt)("p",null,"In short, ",(0,o.kt)("em",{parentName:"p"},"most")," adaptors follow the naming convention ",(0,o.kt)("inlineCode",{parentName:"p"},"@openfn/language-xyz"),"."),(0,o.kt)("h2",{id:"where-to-find-them"},"Where to find them"),(0,o.kt)("div",null,"Here's a list of the ",u().length," publicly supported OpenFn adaptors. Note that only some have been migrated to our new and have their docs sites served here. For the rest, you can view the docs and source by clicking into the adaptor and choosing your version."),(0,o.kt)("br",null),(0,o.kt)("div",null,u().map((a=>(0,o.kt)("details",null,(0,o.kt)("summary",null,(0,o.kt)("b",null,a.module),h.find((e=>e.name==a.module))&&(0,o.kt)(t.Fragment,null," (",(0,o.kt)("a",{href:`/adaptors/${h.find((e=>e.name==a.module)).docsId}`},"docs"),")")),h.find((e=>e.name==a.module))?(0,o.kt)("div",null,"The current"," ",(0,o.kt)("a",{href:`/adaptors/${h.find((e=>e.name==a.module)).docsId}`},"API docs"),", ",(0,o.kt)("a",{href:`/adaptors/${h.find((e=>e.name==a.module)).changelogId}`},"changelog"),", and ",(0,o.kt)("a",{href:`/adaptors/${h.find((e=>e.name==a.module)).readmeId}`},"developer readme")," for ",(0,o.kt)("b",null,a.module)," are available here. You can view the source & documentation via these links:"):(0,o.kt)("div",null,"This adaptor hasn't been migrated yet, but it still works just fine and you can view the source & documentation via these links:"),(0,o.kt)("ul",null,a.versions.sort(((a,e)=>l(e.version,a.version))).map((a=>(0,o.kt)("li",null,(0,o.kt)("a",{href:a.url,target:"_blank"},a.version)," ")))))))),(0,o.kt)("h3",{id:"on-the-openfn-platform"},"On the OpenFn platform"),(0,o.kt)("p",null,'When creating or editing a job on platform, you can choose the adaptor to run\nthe job. This way you "import" the needed operations. Simply open the dropdown\nlist of adaptors, and click on one.'),(0,o.kt)("img",{src:"/img/adaptor_choice_openfn.png",width:"300"}),(0,o.kt)("h3",{id:"on-npm"},"On npm"),(0,o.kt)("p",null,"Most of our adaptors are also available on\n",(0,o.kt)("a",{parentName:"p",href:"https://www.npmjs.com/search?q=%40openfn"},"npmjs"),"."),(0,o.kt)("p",null,(0,o.kt)("img",{alt:"Adaptors list in npm",src:p(57361).Z,width:"2766",height:"1266"})),(0,o.kt)("h4",{id:"install-on-platform-via-npm"},"Install on platform via npm"),(0,o.kt)("p",null,"When using ",(0,o.kt)("inlineCode",{parentName:"p"},"platform"),", you can install adaptors that are not part of the\nrecommended adaptors picklist directly from\n",(0,o.kt)("a",{parentName:"p",href:"https://www.npmjs.com/search?q=%40openfn"},"npm"),"."),(0,o.kt)("p",null,"To install from npm, click on the ",(0,o.kt)("em",{parentName:"p"},"cloud download icon")," next to the adaptor\nversion picklist. In the ",(0,o.kt)("strong",{parentName:"p"},"Select Unreleased Adaptor")," dialog box, enter the\n",(0,o.kt)("inlineCode",{parentName:"p"},"adaptor name"),"(e.g. ",(0,o.kt)("inlineCode",{parentName:"p"},"dhis2")," for ",(0,o.kt)("inlineCode",{parentName:"p"},"language-dhis2"),") and the corresponding\n",(0,o.kt)("inlineCode",{parentName:"p"},"version number"),"(e.g. ",(0,o.kt)("inlineCode",{parentName:"p"},"v2.3.4"),"), as listed on\n",(0,o.kt)("a",{parentName:"p",href:"https://www.npmjs.com/search?q=%40openfn"},"npmjs"),", for the adaptor of your\nchoice. The platform will attempt to install the selected adaptor version it can\nbe used to run the specified job."),(0,o.kt)("p",null,"Note that, after this custom installation of the adaptor, ",(0,o.kt)("inlineCode",{parentName:"p"},"platform")," will not\nadd this adaptor version to the picklist of recommended adaptors in\n",(0,o.kt)("a",{parentName:"p",href:"/documentation/jobs/job-studio"},"JobStudio"),", but you are guaranteed that the\nadaptor will be available to use in any of your jobs as long as you specify it\nvia the ",(0,o.kt)("strong",{parentName:"p"},"Select Unreleased Adaptor")," dialog."),(0,o.kt)("h2",{id:"building-and-extending-adaptors"},"Building and extending adaptors"),(0,o.kt)("p",null,"The source code and technical documentation for developing or extending existing\nadaptors can be found\n",(0,o.kt)("a",{parentName:"p",href:"https://github.com/OpenFn/adaptors#working-with-adaptors"},"here"),"."))}z.isMDXComponent=!0},57361:(a,e,p)=>{p.d(e,{Z:()=>n});const n=p.p+"assets/images/adaptor_npm-1ecb3d844ff20c11d9f7ee009a1d4e9a.png"}}]); \ No newline at end of file diff --git a/assets/js/9d36e504.79dca6a6.js b/assets/js/9d36e504.9593fa56.js similarity index 99% rename from assets/js/9d36e504.79dca6a6.js rename to assets/js/9d36e504.9593fa56.js index 762ce21bd1a..c6a620de3c0 100644 --- a/assets/js/9d36e504.79dca6a6.js +++ b/assets/js/9d36e504.9593fa56.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_openfn_docs=self.webpackChunk_openfn_docs||[]).push([[92755],{3905:(t,e,a)=>{a.d(e,{Zo:()=>k,kt:()=>m});var n=a(67294);function l(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function r(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function p(t){for(var e=1;e=0||(l[a]=t[a]);return l}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(l[a]=t[a])}return l}var u=n.createContext({}),i=function(t){var e=n.useContext(u),a=e;return t&&(a="function"==typeof t?t(e):p(p({},e),t)),a},k=function(t){var e=i(t.components);return n.createElement(u.Provider,{value:e},t.children)},d="mdxType",s={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},c=n.forwardRef((function(t,e){var a=t.components,l=t.mdxType,r=t.originalType,u=t.parentName,k=o(t,["components","mdxType","originalType","parentName"]),d=i(a),c=l,m=d["".concat(u,".").concat(c)]||d[c]||s[c]||r;return a?n.createElement(m,p(p({ref:e},k),{},{components:a})):n.createElement(m,p({ref:e},k))}));function m(t,e){var a=arguments,l=e&&e.mdxType;if("string"==typeof t||l){var r=a.length,p=new Array(r);p[0]=c;var o={};for(var u in e)hasOwnProperty.call(e,u)&&(o[u]=e[u]);o.originalType=t,o[d]="string"==typeof t?t:l,p[1]=o;for(var i=2;i{a.r(e),a.d(e,{assets:()=>u,contentTitle:()=>p,default:()=>s,frontMatter:()=>r,metadata:()=>o,toc:()=>i});var n=a(87462),l=(a(67294),a(3905));const r={title:"salesforce@4.2.0",id:"salesforce-docs",keywords:["adaptor","salesforce","bulk","bulkQuery","create","createIf","describe","describeAll","destroy","query","reference","relationship","retrieve","update","upsert","upsertIf"]},p=void 0,o={unversionedId:"packages/salesforce-docs",id:"packages/salesforce-docs",title:"salesforce@4.2.0",description:"Functions",source:"@site/adaptors/packages/salesforce-docs.md",sourceDirName:"packages",slug:"/packages/salesforce-docs",permalink:"/adaptors/packages/salesforce-docs",draft:!1,tags:[],version:"current",frontMatter:{title:"salesforce@4.2.0",id:"salesforce-docs",keywords:["adaptor","salesforce","bulk","bulkQuery","create","createIf","describe","describeAll","destroy","query","reference","relationship","retrieve","update","upsert","upsertIf"]},sidebar:"adaptors",previous:{title:"Salesforce",permalink:"/adaptors/salesforce"},next:{title:"Config for salesforce",permalink:"/adaptors/packages/salesforce-configuration-schema"}},u={},i=[{value:"Functions",id:"functions",level:2},{value:"bulk",id:"bulk",level:2},{value:"bulkQuery",id:"bulkquery",level:2},{value:"cleanupState",id:"cleanupstate",level:2},{value:"create",id:"create",level:2},{value:"createConnection",id:"createconnection",level:2},{value:"createIf",id:"createif",level:2},{value:"describe",id:"describe",level:2},{value:"describeAll",id:"describeall",level:2},{value:"destroy",id:"destroy",level:2},{value:"execute",id:"execute",level:2},{value:"login",id:"login",level:2},{value:"query",id:"query",level:2},{value:"reference",id:"reference",level:2},{value:"relationship",id:"relationship",level:2},{value:"retrieve",id:"retrieve",level:2},{value:"steps",id:"steps",level:2},{value:"update",id:"update",level:2},{value:"upsert",id:"upsert",level:2},{value:"upsertIf",id:"upsertif",level:2}],k={toc:i},d="wrapper";function s(t){let{components:e,...a}=t;return(0,l.kt)(d,(0,n.Z)({},k,a,{components:e,mdxType:"MDXLayout"}),(0,l.kt)("h2",{id:"functions"},"Functions"),(0,l.kt)("dl",null,(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#bulk"},"bulk(sObject, operation, options, fun)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#bulkQuery"},"bulkQuery(qs, options, callback)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#cleanupState"},"cleanupState(state)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#create"},"create(sObject, attrs)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#createConnection"},"createConnection(state)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#createIf"},"createIf(logical, sObject, attrs)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#describe"},"describe(sObject)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#describeAll"},"describeAll()")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#destroy"},"destroy(sObject, attrs, options)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#execute"},"execute(operations)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#login"},"login(state)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#query"},"query(qs)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#reference"},"reference(position)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#relationship"},"relationship(relationshipName, externalId, dataSource)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#retrieve"},"retrieve(sObject, id, callback)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#steps"},"steps()")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#update"},"update(sObject, attrs)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#upsert"},"upsert(sObject, externalId, attrs)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#upsertIf"},"upsertIf(logical, sObject, externalId, attrs)"))),(0,l.kt)("h2",{id:"bulk"},"bulk"),(0,l.kt)("p",null,"bulk(sObject, operation, options, fun) \u21d2 ",(0,l.kt)("code",null,"Operation"),"\nCreate and execute a bulk job."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"sObject"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"API name of the sObject.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"operation"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"The bulk operation to be performed")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"options"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"Object")),(0,l.kt)("td",{parentName:"tr",align:null},"Options passed to the bulk api.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"fun"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"function")),(0,l.kt)("td",{parentName:"tr",align:null},"A function which takes state and returns an array.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"bulk('Patient__c', 'insert', { failOnError: true, pollInterval: 3000, pollTimeout: 240000 }, state => {\n return state.data.someArray.map(x => {\n return { 'Age__c': x.age, 'Name': x.name }\n })\n});\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"bulkquery"},"bulkQuery"),(0,l.kt)("p",null,"bulkQuery(qs, options, callback) \u21d2 ",(0,l.kt)("code",null,"Operation"),"\nExecute an SOQL Bulk Query.\nThis function uses bulk query to efficiently query large data sets and reduce the number of API requests.\nNote that in an event of a query error,\nerror logs will be printed but the operation will not throw the error."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"qs"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"A query string.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"options"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"Object")),(0,l.kt)("td",{parentName:"tr",align:null},"Options passed to the bulk api.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"[options.pollTimeout]"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"integer")),(0,l.kt)("td",{parentName:"tr",align:null},"Polling timeout in milliseconds.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"[options.pollInterval]"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"integer")),(0,l.kt)("td",{parentName:"tr",align:null},"Polling interval in milliseconds.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"callback"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"function")),(0,l.kt)("td",{parentName:"tr",align:null},"A callback to execute once the record is retrieved")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," ",(0,l.kt)("em",{parentName:"p"},"(The results will be available on ","`","state.data","`",")")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"bulkQuery(state=> `SELECT Id FROM Patient__c WHERE Health_ID__c = '${state.data.field1}'`);\n")),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"bulkQuery(\n (state) =>\n `SELECT Id FROM Patient__c WHERE Health_ID__c = '${state.data.field1}'`,\n { pollTimeout: 10000, pollInterval: 6000 }\n);\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"cleanupstate"},"cleanupState"),(0,l.kt)("p",null,"cleanupState(state) \u21d2 ",(0,l.kt)("code",null,"State"),"\nRemoves unserializable keys from the state."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"state"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"State"))))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"cleanupState(state)\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"create"},"create"),(0,l.kt)("p",null,"create(sObject, attrs) \u21d2 ",(0,l.kt)("code",null,"Operation"),"\nCreate a new object."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"sObject"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"API name of the sObject.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"attrs"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"Object")),(0,l.kt)("td",{parentName:"tr",align:null},"Field attributes for the new object.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},'create(\'obj_name\', {\n attr1: "foo",\n attr2: "bar"\n})\n')),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"createconnection"},"createConnection"),(0,l.kt)("p",null,"createConnection(state) \u21d2 ",(0,l.kt)("code",null,"State"),"\nCreates a connection."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"state"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"State")),(0,l.kt)("td",{parentName:"tr",align:null},"Runtime state.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"createConnection(state)\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"createif"},"createIf"),(0,l.kt)("p",null,"createIf(logical, sObject, attrs) \u21d2 ",(0,l.kt)("code",null,"Operation"),"\nCreate a new object if conditions are met."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"logical"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"boolean")),(0,l.kt)("td",{parentName:"tr",align:null},"a logical statement that will be evaluated.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"sObject"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"API name of the sObject.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"attrs"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"Object")),(0,l.kt)("td",{parentName:"tr",align:null},"Field attributes for the new object.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},'createIf(true, \'obj_name\', {\n attr1: "foo",\n attr2: "bar"\n})\n')),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"describe"},"describe"),(0,l.kt)("p",null,"describe(sObject) \u21d2 ",(0,l.kt)("code",null,"Operation"),"\nOutputs basic information about an sObject to ",(0,l.kt)("inlineCode",{parentName:"p"},"STDOUT"),"."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"sObject"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"API name of the sObject.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"describe('obj_name')\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"describeall"},"describeAll"),(0,l.kt)("p",null,"describeAll() \u21d2 ",(0,l.kt)("code",null,"Operation"),"\nOutputs basic information about available sObjects."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"describeAll()\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"destroy"},"destroy"),(0,l.kt)("p",null,"destroy(sObject, attrs, options) \u21d2 ",(0,l.kt)("code",null,"Operation"),"\nDelete records of an object."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"sObject"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"API name of the sObject.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"attrs"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"Object")),(0,l.kt)("td",{parentName:"tr",align:null},"Array of IDs of records to delete.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"options"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"Object")),(0,l.kt)("td",{parentName:"tr",align:null},"Options for the destroy delete operation.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"destroy('obj_name', [\n '0060n00000JQWHYAA5',\n '0090n00000JQEWHYAA5\n], { failOnError: true })\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"execute"},"execute"),(0,l.kt)("p",null,"execute(operations) \u21d2 ",(0,l.kt)("code",null,"State"),"\nExecutes an operation."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"operations"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"Operation")),(0,l.kt)("td",{parentName:"tr",align:null},"Operations")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"login"},"login"),(0,l.kt)("p",null,"login(state) \u21d2 ",(0,l.kt)("code",null,"State"),"\nPerforms a login."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"state"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"State")),(0,l.kt)("td",{parentName:"tr",align:null},"Runtime state.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"login(state)\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"query"},"query"),(0,l.kt)("p",null,"query(qs) \u21d2 ",(0,l.kt)("code",null,"Operation"),"\nExecute an SOQL query.\nNote that in an event of a query error,\nerror logs will be printed but the operation will not throw the error."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"qs"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"A query string.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"query(`SELECT Id FROM Patient__c WHERE Health_ID__c = '${state.data.field1}'`);\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"reference"},"reference"),(0,l.kt)("p",null,"reference(position) \u21d2 ",(0,l.kt)("code",null,"State"),"\nGet a reference ID by an index."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"position"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"number")),(0,l.kt)("td",{parentName:"tr",align:null},"Position for references array.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"reference(0)\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"relationship"},"relationship"),(0,l.kt)("p",null,"relationship(relationshipName, externalId, dataSource) \u21d2 ",(0,l.kt)("code",null,"object"),"\nAdds a lookup relation or 'dome insert' to a record."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"relationshipName"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"string")),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("inlineCode",{parentName:"td"},"__r")," relationship field on the record.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"externalId"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"string")),(0,l.kt)("td",{parentName:"tr",align:null},"Salesforce ExternalID field.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"dataSource"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"string")),(0,l.kt)("td",{parentName:"tr",align:null},"resolvable source.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},'Data Sourced Value:\n relationship("relationship_name__r", "externalID on related object", dataSource("path"))\nFixed Value:\n relationship("relationship_name__r", "externalID on related object", "hello world")\n')),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"retrieve"},"retrieve"),(0,l.kt)("p",null,"retrieve(sObject, id, callback) \u21d2 ",(0,l.kt)("code",null,"Operation"),"\nRetrieves a Salesforce sObject(s)."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"sObject"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"The sObject to retrieve")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"id"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"The id of the record")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"callback"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"function")),(0,l.kt)("td",{parentName:"tr",align:null},"A callback to execute once the record is retrieved")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"retrieve('ContentVersion', '0684K0000020Au7QAE/VersionData');\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"steps"},"steps"),(0,l.kt)("p",null,"steps() \u21d2 ",(0,l.kt)("code",null,"Array"),"\nFlattens an array of operations."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"steps(\n createIf(params),\n update(params)\n)\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"update"},"update"),(0,l.kt)("p",null,"update(sObject, attrs) \u21d2 ",(0,l.kt)("code",null,"Operation"),"\nUpdate an object."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"sObject"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"API name of the sObject.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"attrs"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"Object")),(0,l.kt)("td",{parentName:"tr",align:null},"Field attributes for the new object.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},'update(\'obj_name\', {\n attr1: "foo",\n attr2: "bar"\n})\n')),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"upsert"},"upsert"),(0,l.kt)("p",null,"upsert(sObject, externalId, attrs) \u21d2 ",(0,l.kt)("code",null,"Operation"),"\nUpsert an object."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Magic"),": sObject - $.children","[?(!@.meta.system)]",".name",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Magic"),": externalId - $.children",'[?(@.name=="{{args.sObject}}")]',".children","[?(@.meta.externalId)]",".name",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Magic"),": attrs - $.children",'[?(@.name=="{{args.sObject}}")]',".children","[?(!@.meta.externalId)]"," "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"sObject"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"API name of the sObject.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"externalId"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"ID.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"attrs"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"Object")),(0,l.kt)("td",{parentName:"tr",align:null},"Field attributes for the new object.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"upsert('obj_name', 'ext_id', {\n attr1: \"foo\",\n attr2: \"bar\"\n})\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"upsertif"},"upsertIf"),(0,l.kt)("p",null,"upsertIf(logical, sObject, externalId, attrs) \u21d2 ",(0,l.kt)("code",null,"Operation"),"\nUpsert if conditions are met."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"logical"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"boolean")),(0,l.kt)("td",{parentName:"tr",align:null},"a logical statement that will be evaluated.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"sObject"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"API name of the sObject.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"externalId"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"ID.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"attrs"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"Object")),(0,l.kt)("td",{parentName:"tr",align:null},"Field attributes for the new object.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"upsertIf(true, 'obj_name', 'ext_id', {\n attr1: \"foo\",\n attr2: \"bar\"\n})\n")),(0,l.kt)("hr",null))}s.isMDXComponent=!0}}]); \ No newline at end of file +"use strict";(self.webpackChunk_openfn_docs=self.webpackChunk_openfn_docs||[]).push([[92755],{3905:(t,e,a)=>{a.d(e,{Zo:()=>k,kt:()=>m});var n=a(67294);function l(t,e,a){return e in t?Object.defineProperty(t,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):t[e]=a,t}function r(t,e){var a=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);e&&(n=n.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),a.push.apply(a,n)}return a}function p(t){for(var e=1;e=0||(l[a]=t[a]);return l}(t,e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(t,a)&&(l[a]=t[a])}return l}var u=n.createContext({}),i=function(t){var e=n.useContext(u),a=e;return t&&(a="function"==typeof t?t(e):p(p({},e),t)),a},k=function(t){var e=i(t.components);return n.createElement(u.Provider,{value:e},t.children)},d="mdxType",s={inlineCode:"code",wrapper:function(t){var e=t.children;return n.createElement(n.Fragment,{},e)}},c=n.forwardRef((function(t,e){var a=t.components,l=t.mdxType,r=t.originalType,u=t.parentName,k=o(t,["components","mdxType","originalType","parentName"]),d=i(a),c=l,m=d["".concat(u,".").concat(c)]||d[c]||s[c]||r;return a?n.createElement(m,p(p({ref:e},k),{},{components:a})):n.createElement(m,p({ref:e},k))}));function m(t,e){var a=arguments,l=e&&e.mdxType;if("string"==typeof t||l){var r=a.length,p=new Array(r);p[0]=c;var o={};for(var u in e)hasOwnProperty.call(e,u)&&(o[u]=e[u]);o.originalType=t,o[d]="string"==typeof t?t:l,p[1]=o;for(var i=2;i{a.r(e),a.d(e,{assets:()=>u,contentTitle:()=>p,default:()=>s,frontMatter:()=>r,metadata:()=>o,toc:()=>i});var n=a(87462),l=(a(67294),a(3905));const r={title:"salesforce@4.2.1",id:"salesforce-docs",keywords:["adaptor","salesforce","bulk","bulkQuery","create","createIf","describe","describeAll","destroy","query","reference","relationship","retrieve","update","upsert","upsertIf"]},p=void 0,o={unversionedId:"packages/salesforce-docs",id:"packages/salesforce-docs",title:"salesforce@4.2.1",description:"Functions",source:"@site/adaptors/packages/salesforce-docs.md",sourceDirName:"packages",slug:"/packages/salesforce-docs",permalink:"/adaptors/packages/salesforce-docs",draft:!1,tags:[],version:"current",frontMatter:{title:"salesforce@4.2.1",id:"salesforce-docs",keywords:["adaptor","salesforce","bulk","bulkQuery","create","createIf","describe","describeAll","destroy","query","reference","relationship","retrieve","update","upsert","upsertIf"]},sidebar:"adaptors",previous:{title:"Salesforce",permalink:"/adaptors/salesforce"},next:{title:"Config for salesforce",permalink:"/adaptors/packages/salesforce-configuration-schema"}},u={},i=[{value:"Functions",id:"functions",level:2},{value:"bulk",id:"bulk",level:2},{value:"bulkQuery",id:"bulkquery",level:2},{value:"cleanupState",id:"cleanupstate",level:2},{value:"create",id:"create",level:2},{value:"createConnection",id:"createconnection",level:2},{value:"createIf",id:"createif",level:2},{value:"describe",id:"describe",level:2},{value:"describeAll",id:"describeall",level:2},{value:"destroy",id:"destroy",level:2},{value:"execute",id:"execute",level:2},{value:"login",id:"login",level:2},{value:"query",id:"query",level:2},{value:"reference",id:"reference",level:2},{value:"relationship",id:"relationship",level:2},{value:"retrieve",id:"retrieve",level:2},{value:"steps",id:"steps",level:2},{value:"update",id:"update",level:2},{value:"upsert",id:"upsert",level:2},{value:"upsertIf",id:"upsertif",level:2}],k={toc:i},d="wrapper";function s(t){let{components:e,...a}=t;return(0,l.kt)(d,(0,n.Z)({},k,a,{components:e,mdxType:"MDXLayout"}),(0,l.kt)("h2",{id:"functions"},"Functions"),(0,l.kt)("dl",null,(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#bulk"},"bulk(sObject, operation, options, fun)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#bulkQuery"},"bulkQuery(qs, options, callback)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#cleanupState"},"cleanupState(state)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#create"},"create(sObject, attrs)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#createConnection"},"createConnection(state)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#createIf"},"createIf(logical, sObject, attrs)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#describe"},"describe(sObject)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#describeAll"},"describeAll()")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#destroy"},"destroy(sObject, attrs, options)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#execute"},"execute(operations)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#login"},"login(state)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#query"},"query(qs)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#reference"},"reference(position)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#relationship"},"relationship(relationshipName, externalId, dataSource)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#retrieve"},"retrieve(sObject, id, callback)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#steps"},"steps()")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#update"},"update(sObject, attrs)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#upsert"},"upsert(sObject, externalId, attrs)")),(0,l.kt)("dt",null,(0,l.kt)("a",{href:"#upsertIf"},"upsertIf(logical, sObject, externalId, attrs)"))),(0,l.kt)("h2",{id:"bulk"},"bulk"),(0,l.kt)("p",null,"bulk(sObject, operation, options, fun) \u21d2 ",(0,l.kt)("code",null,"Operation"),"\nCreate and execute a bulk job."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"sObject"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"API name of the sObject.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"operation"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"The bulk operation to be performed")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"options"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"Object")),(0,l.kt)("td",{parentName:"tr",align:null},"Options passed to the bulk api.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"fun"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"function")),(0,l.kt)("td",{parentName:"tr",align:null},"A function which takes state and returns an array.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"bulk('Patient__c', 'insert', { failOnError: true, pollInterval: 3000, pollTimeout: 240000 }, state => {\n return state.data.someArray.map(x => {\n return { 'Age__c': x.age, 'Name': x.name }\n })\n});\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"bulkquery"},"bulkQuery"),(0,l.kt)("p",null,"bulkQuery(qs, options, callback) \u21d2 ",(0,l.kt)("code",null,"Operation"),"\nExecute an SOQL Bulk Query.\nThis function uses bulk query to efficiently query large data sets and reduce the number of API requests.\nNote that in an event of a query error,\nerror logs will be printed but the operation will not throw the error."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"qs"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"A query string.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"options"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"Object")),(0,l.kt)("td",{parentName:"tr",align:null},"Options passed to the bulk api.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"[options.pollTimeout]"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"integer")),(0,l.kt)("td",{parentName:"tr",align:null},"Polling timeout in milliseconds.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"[options.pollInterval]"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"integer")),(0,l.kt)("td",{parentName:"tr",align:null},"Polling interval in milliseconds.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"callback"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"function")),(0,l.kt)("td",{parentName:"tr",align:null},"A callback to execute once the record is retrieved")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," ",(0,l.kt)("em",{parentName:"p"},"(The results will be available on ","`","state.data","`",")")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"bulkQuery(state=> `SELECT Id FROM Patient__c WHERE Health_ID__c = '${state.data.field1}'`);\n")),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"bulkQuery(\n (state) =>\n `SELECT Id FROM Patient__c WHERE Health_ID__c = '${state.data.field1}'`,\n { pollTimeout: 10000, pollInterval: 6000 }\n);\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"cleanupstate"},"cleanupState"),(0,l.kt)("p",null,"cleanupState(state) \u21d2 ",(0,l.kt)("code",null,"State"),"\nRemoves unserializable keys from the state."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"state"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"State"))))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"cleanupState(state)\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"create"},"create"),(0,l.kt)("p",null,"create(sObject, attrs) \u21d2 ",(0,l.kt)("code",null,"Operation"),"\nCreate a new object."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"sObject"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"API name of the sObject.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"attrs"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"Object")),(0,l.kt)("td",{parentName:"tr",align:null},"Field attributes for the new object.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},'create(\'obj_name\', {\n attr1: "foo",\n attr2: "bar"\n})\n')),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"createconnection"},"createConnection"),(0,l.kt)("p",null,"createConnection(state) \u21d2 ",(0,l.kt)("code",null,"State"),"\nCreates a connection."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"state"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"State")),(0,l.kt)("td",{parentName:"tr",align:null},"Runtime state.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"createConnection(state)\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"createif"},"createIf"),(0,l.kt)("p",null,"createIf(logical, sObject, attrs) \u21d2 ",(0,l.kt)("code",null,"Operation"),"\nCreate a new object if conditions are met."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"logical"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"boolean")),(0,l.kt)("td",{parentName:"tr",align:null},"a logical statement that will be evaluated.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"sObject"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"API name of the sObject.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"attrs"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"Object")),(0,l.kt)("td",{parentName:"tr",align:null},"Field attributes for the new object.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},'createIf(true, \'obj_name\', {\n attr1: "foo",\n attr2: "bar"\n})\n')),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"describe"},"describe"),(0,l.kt)("p",null,"describe(sObject) \u21d2 ",(0,l.kt)("code",null,"Operation"),"\nOutputs basic information about an sObject to ",(0,l.kt)("inlineCode",{parentName:"p"},"STDOUT"),"."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"sObject"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"API name of the sObject.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"describe('obj_name')\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"describeall"},"describeAll"),(0,l.kt)("p",null,"describeAll() \u21d2 ",(0,l.kt)("code",null,"Operation"),"\nOutputs basic information about available sObjects."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"describeAll()\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"destroy"},"destroy"),(0,l.kt)("p",null,"destroy(sObject, attrs, options) \u21d2 ",(0,l.kt)("code",null,"Operation"),"\nDelete records of an object."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"sObject"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"API name of the sObject.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"attrs"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"Object")),(0,l.kt)("td",{parentName:"tr",align:null},"Array of IDs of records to delete.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"options"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"Object")),(0,l.kt)("td",{parentName:"tr",align:null},"Options for the destroy delete operation.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"destroy('obj_name', [\n '0060n00000JQWHYAA5',\n '0090n00000JQEWHYAA5\n], { failOnError: true })\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"execute"},"execute"),(0,l.kt)("p",null,"execute(operations) \u21d2 ",(0,l.kt)("code",null,"State"),"\nExecutes an operation."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"operations"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"Operation")),(0,l.kt)("td",{parentName:"tr",align:null},"Operations")))),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"login"},"login"),(0,l.kt)("p",null,"login(state) \u21d2 ",(0,l.kt)("code",null,"State"),"\nPerforms a login."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"state"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"State")),(0,l.kt)("td",{parentName:"tr",align:null},"Runtime state.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"login(state)\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"query"},"query"),(0,l.kt)("p",null,"query(qs) \u21d2 ",(0,l.kt)("code",null,"Operation"),"\nExecute an SOQL query.\nNote that in an event of a query error,\nerror logs will be printed but the operation will not throw the error."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"qs"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"A query string.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"query(`SELECT Id FROM Patient__c WHERE Health_ID__c = '${state.data.field1}'`);\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"reference"},"reference"),(0,l.kt)("p",null,"reference(position) \u21d2 ",(0,l.kt)("code",null,"State"),"\nGet a reference ID by an index."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"position"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"number")),(0,l.kt)("td",{parentName:"tr",align:null},"Position for references array.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"reference(0)\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"relationship"},"relationship"),(0,l.kt)("p",null,"relationship(relationshipName, externalId, dataSource) \u21d2 ",(0,l.kt)("code",null,"object"),"\nAdds a lookup relation or 'dome insert' to a record."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"relationshipName"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"string")),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("inlineCode",{parentName:"td"},"__r")," relationship field on the record.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"externalId"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"string")),(0,l.kt)("td",{parentName:"tr",align:null},"Salesforce ExternalID field.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"dataSource"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"string")),(0,l.kt)("td",{parentName:"tr",align:null},"resolvable source.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},'Data Sourced Value:\n relationship("relationship_name__r", "externalID on related object", dataSource("path"))\nFixed Value:\n relationship("relationship_name__r", "externalID on related object", "hello world")\n')),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"retrieve"},"retrieve"),(0,l.kt)("p",null,"retrieve(sObject, id, callback) \u21d2 ",(0,l.kt)("code",null,"Operation"),"\nRetrieves a Salesforce sObject(s)."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"sObject"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"The sObject to retrieve")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"id"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"The id of the record")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"callback"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"function")),(0,l.kt)("td",{parentName:"tr",align:null},"A callback to execute once the record is retrieved")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"retrieve('ContentVersion', '0684K0000020Au7QAE/VersionData');\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"steps"},"steps"),(0,l.kt)("p",null,"steps() \u21d2 ",(0,l.kt)("code",null,"Array"),"\nFlattens an array of operations."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"steps(\n createIf(params),\n update(params)\n)\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"update"},"update"),(0,l.kt)("p",null,"update(sObject, attrs) \u21d2 ",(0,l.kt)("code",null,"Operation"),"\nUpdate an object."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"sObject"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"API name of the sObject.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"attrs"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"Object")),(0,l.kt)("td",{parentName:"tr",align:null},"Field attributes for the new object.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},'update(\'obj_name\', {\n attr1: "foo",\n attr2: "bar"\n})\n')),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"upsert"},"upsert"),(0,l.kt)("p",null,"upsert(sObject, externalId, attrs) \u21d2 ",(0,l.kt)("code",null,"Operation"),"\nUpsert an object."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Magic"),": sObject - $.children","[?(!@.meta.system)]",".name",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Magic"),": externalId - $.children",'[?(@.name=="{{args.sObject}}")]',".children","[?(@.meta.externalId)]",".name",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Magic"),": attrs - $.children",'[?(@.name=="{{args.sObject}}")]',".children","[?(!@.meta.externalId)]"," "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"sObject"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"API name of the sObject.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"externalId"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"ID.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"attrs"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"Object")),(0,l.kt)("td",{parentName:"tr",align:null},"Field attributes for the new object.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"upsert('obj_name', 'ext_id', {\n attr1: \"foo\",\n attr2: \"bar\"\n})\n")),(0,l.kt)("hr",null),(0,l.kt)("h2",{id:"upsertif"},"upsertIf"),(0,l.kt)("p",null,"upsertIf(logical, sObject, externalId, attrs) \u21d2 ",(0,l.kt)("code",null,"Operation"),"\nUpsert if conditions are met."),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Kind"),": global function",(0,l.kt)("br",{parentName:"p"}),"\n",(0,l.kt)("strong",{parentName:"p"},"Access"),": public "),(0,l.kt)("table",null,(0,l.kt)("thead",{parentName:"table"},(0,l.kt)("tr",{parentName:"thead"},(0,l.kt)("th",{parentName:"tr",align:null},"Param"),(0,l.kt)("th",{parentName:"tr",align:null},"Type"),(0,l.kt)("th",{parentName:"tr",align:null},"Description"))),(0,l.kt)("tbody",{parentName:"table"},(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"logical"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"boolean")),(0,l.kt)("td",{parentName:"tr",align:null},"a logical statement that will be evaluated.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"sObject"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"API name of the sObject.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"externalId"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"String")),(0,l.kt)("td",{parentName:"tr",align:null},"ID.")),(0,l.kt)("tr",{parentName:"tbody"},(0,l.kt)("td",{parentName:"tr",align:null},"attrs"),(0,l.kt)("td",{parentName:"tr",align:null},(0,l.kt)("code",null,"Object")),(0,l.kt)("td",{parentName:"tr",align:null},"Field attributes for the new object.")))),(0,l.kt)("p",null,(0,l.kt)("strong",{parentName:"p"},"Example")," "),(0,l.kt)("pre",null,(0,l.kt)("code",{parentName:"pre",className:"language-js"},"upsertIf(true, 'obj_name', 'ext_id', {\n attr1: \"foo\",\n attr2: \"bar\"\n})\n")),(0,l.kt)("hr",null))}s.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/cc826739.5b4b2897.js b/assets/js/cc826739.029ee598.js similarity index 99% rename from assets/js/cc826739.5b4b2897.js rename to assets/js/cc826739.029ee598.js index 41ab4a69343..d0bd9184f69 100644 --- a/assets/js/cc826739.5b4b2897.js +++ b/assets/js/cc826739.029ee598.js @@ -1 +1 @@ -"use strict";(self.webpackChunk_openfn_docs=self.webpackChunk_openfn_docs||[]).push([[85960],{73451:a=>{a.exports=JSON.parse('{"pluginId":"adaptors","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"adaptors":[{"type":"link","label":"Introduction","href":"/adaptors/","docId":"adaptors-intro"},{"type":"link","label":"Library Examples","href":"/adaptors/library","docId":"library-intro"},{"type":"category","label":"asana","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/asana-docs","docId":"packages/asana-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/asana-configuration-schema","docId":"packages/asana-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/asana-changelog","docId":"packages/asana-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/asana-readme","docId":"packages/asana-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"beyonic","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/beyonic-docs","docId":"packages/beyonic-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/beyonic-configuration-schema","docId":"packages/beyonic-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"Pay CHW","href":"/adaptors/library/jobs/auto/Pay-CHW-2021-04-23","docId":"library/jobs/auto/Pay-CHW-2021-04-23"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/beyonic-changelog","docId":"packages/beyonic-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/beyonic-readme","docId":"packages/beyonic-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"bigquery","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/bigquery-docs","docId":"packages/bigquery-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/bigquery-configuration-schema","docId":"packages/bigquery-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/bigquery-changelog","docId":"packages/bigquery-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/bigquery-readme","docId":"packages/bigquery-readme"}],"collapsed":true,"collapsible":true},{"type":"link","label":"cht","href":"/adaptors/cht","docId":"cht"},{"type":"link","label":"ckan","href":"/adaptors/ckan","docId":"ckan"},{"type":"category","label":"commcare","items":[{"type":"link","label":"Overview","href":"/adaptors/commcare","docId":"commcare"},{"type":"link","label":"Functions","href":"/adaptors/packages/commcare-docs","docId":"packages/commcare-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/commcare-configuration-schema","docId":"packages/commcare-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"\u2728 Q3 2022] Update HH Name in CommCare","href":"/adaptors/library/jobs/auto/Q3-2022-Update-HH-Name-in-CommCare-2021-09-27","docId":"library/jobs/auto/Q3-2022-Update-HH-Name-in-CommCare-2021-09-27"},{"type":"link","label":"nawiri","href":"/adaptors/library/jobs/auto/nawiri-2023-05-03","docId":"library/jobs/auto/nawiri-2023-05-03"},{"type":"link","label":"Registration forms(new case)","href":"/adaptors/library/jobs/auto/Registration-forms-new-case-2023-06-22","docId":"library/jobs/auto/Registration-forms-new-case-2023-06-22"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/commcare-changelog","docId":"packages/commcare-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/commcare-readme","docId":"packages/commcare-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"common","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/common-docs","docId":"packages/common-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/common-configuration-schema","docId":"packages/common-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/common-changelog","docId":"packages/common-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/common-readme","docId":"packages/common-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"dhis2","items":[{"type":"link","label":"Overview","href":"/adaptors/dhis2","docId":"dhis2"},{"type":"link","label":"Functions","href":"/adaptors/packages/dhis2-docs","docId":"packages/dhis2-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/dhis2-configuration-schema","docId":"packages/dhis2-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"\ud83d\udcdc Add data values","href":"/adaptors/library/jobs/auto/DHIS2-DataValues-API","docId":"library/jobs/auto/DHIS2-DataValues-API"},{"type":"link","label":"\ud83d\udcdc Add events","href":"/adaptors/library/jobs/auto/DHIS2-Events-API","docId":"library/jobs/auto/DHIS2-Events-API"},{"type":"link","label":"\u2728 Load to DHIS2","href":"/adaptors/library/jobs/auto/Load-to-DHIS2-2023-07-17","docId":"library/jobs/auto/Load-to-DHIS2-2023-07-17"},{"type":"link","label":"Create TEI (dhis2)","href":"/adaptors/library/jobs/auto/Create-TEI-dhis2-2021-03-22","docId":"library/jobs/auto/Create-TEI-dhis2-2021-03-22"},{"type":"link","label":"CHW case to DHIS2","href":"/adaptors/library/jobs/auto/CHW-case-to-DHIS2-2023-04-27","docId":"library/jobs/auto/CHW-case-to-DHIS2-2023-04-27"},{"type":"link","label":"0 - Get TEI data","href":"/adaptors/library/jobs/auto/0-Get-TEI-data-2021-06-02","docId":"library/jobs/auto/0-Get-TEI-data-2021-06-02"},{"type":"link","label":"DHIS2 Events","href":"/adaptors/library/jobs/auto/DHIS2-Events-2016-01-27","docId":"library/jobs/auto/DHIS2-Events-2016-01-27"},{"type":"link","label":"Add DHIS2 Data Value Sets","href":"/adaptors/library/jobs/auto/Add-DHIS2-Data-Value-Sets-2016-03-28","docId":"library/jobs/auto/Add-DHIS2-Data-Value-Sets-2016-03-28"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/dhis2-changelog","docId":"packages/dhis2-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/dhis2-readme","docId":"packages/dhis2-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"dynamics","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/dynamics-docs","docId":"packages/dynamics-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/dynamics-configuration-schema","docId":"packages/dynamics-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/dynamics-changelog","docId":"packages/dynamics-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/dynamics-readme","docId":"packages/dynamics-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"facebook","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/facebook-docs","docId":"packages/facebook-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/facebook-configuration-schema","docId":"packages/facebook-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/facebook-changelog","docId":"packages/facebook-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/facebook-readme","docId":"packages/facebook-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"fhir","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/fhir-docs","docId":"packages/fhir-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/fhir-configuration-schema","docId":"packages/fhir-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/fhir-changelog","docId":"packages/fhir-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/fhir-readme","docId":"packages/fhir-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"godata","items":[{"type":"link","label":"Overview","href":"/adaptors/godata","docId":"godata"},{"type":"link","label":"Functions","href":"/adaptors/packages/godata-docs","docId":"packages/godata-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/godata-configuration-schema","docId":"packages/godata-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/godata-changelog","docId":"packages/godata-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/godata-readme","docId":"packages/godata-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"googlehealthcare","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/googlehealthcare-docs","docId":"packages/googlehealthcare-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/googlehealthcare-configuration-schema","docId":"packages/googlehealthcare-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/googlehealthcare-changelog","docId":"packages/googlehealthcare-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/googlehealthcare-readme","docId":"packages/googlehealthcare-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"googlesheets","items":[{"type":"link","label":"Overview","href":"/adaptors/googlesheets","docId":"googlesheets"},{"type":"link","label":"Functions","href":"/adaptors/packages/googlesheets-docs","docId":"packages/googlesheets-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/googlesheets-configuration-schema","docId":"packages/googlesheets-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"Register Patient","href":"/adaptors/library/jobs/auto/Register-Patient-2021-03-02","docId":"library/jobs/auto/Register-Patient-2021-03-02"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/googlesheets-changelog","docId":"packages/googlesheets-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/googlesheets-readme","docId":"packages/googlesheets-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"http","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/http-docs","docId":"packages/http-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/http-configuration-schema","docId":"packages/http-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"\ud83d\udcdc Extract Kobo data from API to send to OpenFn Inbox","href":"/adaptors/library/jobs/auto/getKoboData","docId":"library/jobs/auto/getKoboData"},{"type":"link","label":"\ud83d\udcdc Using async and array.map","href":"/adaptors/library/jobs/auto/async-and-array-dot-map","docId":"library/jobs/auto/async-and-array-dot-map"},{"type":"link","label":"\ud83d\udcdc Chaining HTTP Requests","href":"/adaptors/library/jobs/auto/complex-http-request-chains","docId":"library/jobs/auto/complex-http-request-chains"},{"type":"link","label":"\ud83d\udcdc Promises and nested requests","href":"/adaptors/library/jobs/auto/promise-all-nested-requests","docId":"library/jobs/auto/promise-all-nested-requests"},{"type":"link","label":"\ud83d\udcdc Timeout to create a delay","href":"/adaptors/library/jobs/auto/timeout","docId":"library/jobs/auto/timeout"},{"type":"link","label":"\ud83d\udcdc Chaining synchronous http requests","href":"/adaptors/library/jobs/auto/synchronous-http-request","docId":"library/jobs/auto/synchronous-http-request"},{"type":"link","label":"\u2728 WF3-1. Bulk get Person Visit cases","href":"/adaptors/library/jobs/auto/WF3-1-Bulk-get-Person-Visit-cases-2023-05-19","docId":"library/jobs/auto/WF3-1-Bulk-get-Person-Visit-cases-2023-05-19"},{"type":"link","label":"\u2728 WF2-1. Bulk get Person cases","href":"/adaptors/library/jobs/auto/WF2-1-Bulk-get-Person-cases-2023-05-19","docId":"library/jobs/auto/WF2-1-Bulk-get-Person-cases-2023-05-19"},{"type":"link","label":"\u2728 WF4-1. Bulk get Referral Cases","href":"/adaptors/library/jobs/auto/WF4-1-Bulk-get-Referral-Cases-2023-05-19","docId":"library/jobs/auto/WF4-1-Bulk-get-Referral-Cases-2023-05-19"},{"type":"link","label":"\u2728 WF1-1. Bulk get HH cases","href":"/adaptors/library/jobs/auto/WF1-1-Bulk-get-HH-cases-2023-05-19","docId":"library/jobs/auto/WF1-1-Bulk-get-HH-cases-2023-05-19"},{"type":"link","label":"Fetch Claims","href":"/adaptors/library/jobs/auto/Fetch-Claims-2023-07-17","docId":"library/jobs/auto/Fetch-Claims-2023-07-17"},{"type":"link","label":"no return","href":"/adaptors/library/jobs/auto/no-return-2023-01-06","docId":"library/jobs/auto/no-return-2023-01-06"},{"type":"link","label":"Catch Error in HTTP Request","href":"/adaptors/library/jobs/auto/Catch-Error-in-HTTP-Request-2016-08-26","docId":"library/jobs/auto/Catch-Error-in-HTTP-Request-2016-08-26"},{"type":"link","label":"Get CommCare Forms (Bulk Extract)","href":"/adaptors/library/jobs/auto/Get-CommCare-Forms-Bulk-Extract-2022-05-16","docId":"library/jobs/auto/Get-CommCare-Forms-Bulk-Extract-2022-05-16"},{"type":"link","label":"aleksa cron","href":"/adaptors/library/jobs/auto/aleksa-cron-2022-04-29","docId":"library/jobs/auto/aleksa-cron-2022-04-29"},{"type":"link","label":"1. Get CommCare Forms (Bulk Extract)","href":"/adaptors/library/jobs/auto/1-Get-CommCare-Forms-Bulk-Extract-2021-04-08","docId":"library/jobs/auto/1-Get-CommCare-Forms-Bulk-Extract-2021-04-08"},{"type":"link","label":"Request Vitas Sync","href":"/adaptors/library/jobs/auto/Request-Vitas-Sync-2021-05-11","docId":"library/jobs/auto/Request-Vitas-Sync-2021-05-11"},{"type":"link","label":"Failed Payment Notification","href":"/adaptors/library/jobs/auto/Failed-Payment-Notification-2021-04-23","docId":"library/jobs/auto/Failed-Payment-Notification-2021-04-23"},{"type":"link","label":"02b/ Initiate Payments","href":"/adaptors/library/jobs/auto/02b-Initiate-Payments-2019-11-19","docId":"library/jobs/auto/02b-Initiate-Payments-2019-11-19"},{"type":"link","label":"01c/ Create person_position record","href":"/adaptors/library/jobs/auto/01c-Create-person_position-record-2019-12-13","docId":"library/jobs/auto/01c-Create-person_position-record-2019-12-13"},{"type":"link","label":"01a/ Create Registrants","href":"/adaptors/library/jobs/auto/01a-Create-Registrants-2019-11-19","docId":"library/jobs/auto/01a-Create-Registrants-2019-11-19"},{"type":"link","label":"05b/Update ODK eval form","href":"/adaptors/library/jobs/auto/05b-Update-ODK-eval-form-2019-12-19","docId":"library/jobs/auto/05b-Update-ODK-eval-form-2019-12-19"},{"type":"link","label":"05/ Submit employee evaluation","href":"/adaptors/library/jobs/auto/05-Submit-employee-evaluation-2019-12-03","docId":"library/jobs/auto/05-Submit-employee-evaluation-2019-12-03"},{"type":"link","label":"04b/ Update ODK form","href":"/adaptors/library/jobs/auto/04b-Update-ODK-form-2019-12-03","docId":"library/jobs/auto/04b-Update-ODK-form-2019-12-03"},{"type":"link","label":"commcare reports api","href":"/adaptors/library/jobs/auto/commcare-reports-api-2016-08-29","docId":"library/jobs/auto/commcare-reports-api-2016-08-29"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/http-changelog","docId":"packages/http-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/http-readme","docId":"packages/http-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"khanacademy","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/khanacademy-docs","docId":"packages/khanacademy-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/khanacademy-configuration-schema","docId":"packages/khanacademy-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/khanacademy-changelog","docId":"packages/khanacademy-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/khanacademy-readme","docId":"packages/khanacademy-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"kobotoolbox","items":[{"type":"link","label":"Overview","href":"/adaptors/kobotoolbox","docId":"kobotoolbox"},{"type":"link","label":"Functions","href":"/adaptors/packages/kobotoolbox-docs","docId":"packages/kobotoolbox-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/kobotoolbox-configuration-schema","docId":"packages/kobotoolbox-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"GET Data From KoboToolbox","href":"/adaptors/library/jobs/auto/GET-Data-From-KoboToolbox-2022-03-22","docId":"library/jobs/auto/GET-Data-From-KoboToolbox-2022-03-22"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/kobotoolbox-changelog","docId":"packages/kobotoolbox-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/kobotoolbox-readme","docId":"packages/kobotoolbox-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"magpi","items":[{"type":"link","label":"Overview","href":"/adaptors/magpi","docId":"magpi"},{"type":"link","label":"Functions","href":"/adaptors/packages/magpi-docs","docId":"packages/magpi-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/magpi-configuration-schema","docId":"packages/magpi-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/magpi-changelog","docId":"packages/magpi-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/magpi-readme","docId":"packages/magpi-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"mailchimp","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/mailchimp-docs","docId":"packages/mailchimp-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/mailchimp-configuration-schema","docId":"packages/mailchimp-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/mailchimp-changelog","docId":"packages/mailchimp-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/mailchimp-readme","docId":"packages/mailchimp-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"mailgun","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/mailgun-docs","docId":"packages/mailgun-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/mailgun-configuration-schema","docId":"packages/mailgun-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"\ud83d\udcdc send email","href":"/adaptors/library/jobs/auto/send-mail-in-mailgun","docId":"library/jobs/auto/send-mail-in-mailgun"},{"type":"link","label":"01 send mailgun email","href":"/adaptors/library/jobs/auto/01-send-mailgun-email-2018-12-04","docId":"library/jobs/auto/01-send-mailgun-email-2018-12-04"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/mailgun-changelog","docId":"packages/mailgun-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/mailgun-readme","docId":"packages/mailgun-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"maximo","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/maximo-docs","docId":"packages/maximo-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/maximo-configuration-schema","docId":"packages/maximo-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/maximo-changelog","docId":"packages/maximo-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/maximo-readme","docId":"packages/maximo-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"medicmobile","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/medicmobile-docs","docId":"packages/medicmobile-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/medicmobile-configuration-schema","docId":"packages/medicmobile-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/medicmobile-changelog","docId":"packages/medicmobile-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/medicmobile-readme","docId":"packages/medicmobile-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"mogli","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/mogli-docs","docId":"packages/mogli-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/mogli-configuration-schema","docId":"packages/mogli-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/mogli-changelog","docId":"packages/mogli-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/mogli-readme","docId":"packages/mogli-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"mongodb","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/mongodb-docs","docId":"packages/mongodb-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/mongodb-configuration-schema","docId":"packages/mongodb-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/mongodb-changelog","docId":"packages/mongodb-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/mongodb-readme","docId":"packages/mongodb-readme"}],"collapsed":true,"collapsible":true},{"type":"link","label":"moodle","href":"/adaptors/moodle","docId":"moodle"},{"type":"category","label":"msgraph","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/msgraph-docs","docId":"packages/msgraph-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/msgraph-configuration-schema","docId":"packages/msgraph-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/msgraph-changelog","docId":"packages/msgraph-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/msgraph-readme","docId":"packages/msgraph-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"mssql","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/mssql-docs","docId":"packages/mssql-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/mssql-configuration-schema","docId":"packages/mssql-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"Extract Vitas Data","href":"/adaptors/library/jobs/auto/Extract-Vitas-Data-2021-05-11","docId":"library/jobs/auto/Extract-Vitas-Data-2021-05-11"},{"type":"link","label":"CommCare to Azure Sql","href":"/adaptors/library/jobs/auto/CommCare-to-Azure-Sql-2020-01-27","docId":"library/jobs/auto/CommCare-to-Azure-Sql-2020-01-27"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/mssql-changelog","docId":"packages/mssql-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/mssql-readme","docId":"packages/mssql-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"mysql","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/mysql-docs","docId":"packages/mysql-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/mysql-configuration-schema","docId":"packages/mysql-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"01b/ Query new person record","href":"/adaptors/library/jobs/auto/01b-Query-new-person-record-2019-12-13","docId":"library/jobs/auto/01b-Query-new-person-record-2019-12-13"},{"type":"link","label":"03/ Update Payment Status","href":"/adaptors/library/jobs/auto/03-Update-Payment-Status-2019-11-19","docId":"library/jobs/auto/03-Update-Payment-Status-2019-11-19"},{"type":"link","label":"05a/Query for new employees","href":"/adaptors/library/jobs/auto/05a-Query-for-new-employees-2019-12-19","docId":"library/jobs/auto/05a-Query-for-new-employees-2019-12-19"},{"type":"link","label":"04a/Query for job changes","href":"/adaptors/library/jobs/auto/04a-Query-for-job-changes-2019-12-12","docId":"library/jobs/auto/04a-Query-for-job-changes-2019-12-12"},{"type":"link","label":"02a/ Query DB for people to pay","href":"/adaptors/library/jobs/auto/02a-Query-DB-for-people-to-pay-2019-12-11","docId":"library/jobs/auto/02a-Query-DB-for-people-to-pay-2019-12-11"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/mysql-changelog","docId":"packages/mysql-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/mysql-readme","docId":"packages/mysql-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"nexmo","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/nexmo-docs","docId":"packages/nexmo-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/nexmo-configuration-schema","docId":"packages/nexmo-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/nexmo-changelog","docId":"packages/nexmo-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/nexmo-readme","docId":"packages/nexmo-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"ocl","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/ocl-docs","docId":"packages/ocl-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/ocl-configuration-schema","docId":"packages/ocl-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/ocl-changelog","docId":"packages/ocl-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/ocl-readme","docId":"packages/ocl-readme"}],"collapsed":true,"collapsible":true},{"type":"link","label":"odk","href":"/adaptors/odk","docId":"odk"},{"type":"link","label":"ona","href":"/adaptors/ona","docId":"ona"},{"type":"category","label":"openfn","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/openfn-docs","docId":"packages/openfn-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/openfn-configuration-schema","docId":"packages/openfn-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/openfn-changelog","docId":"packages/openfn-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/openfn-readme","docId":"packages/openfn-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"openhim","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/openhim-docs","docId":"packages/openhim-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/openhim-configuration-schema","docId":"packages/openhim-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"\ud83d\udcdc Create encounter in OpenHIM","href":"/adaptors/library/jobs/auto/CommCare-FHIR","docId":"library/jobs/auto/CommCare-FHIR"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/openhim-changelog","docId":"packages/openhim-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/openhim-readme","docId":"packages/openhim-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"openmrs","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/openmrs-docs","docId":"packages/openmrs-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/openmrs-configuration-schema","docId":"packages/openmrs-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"Create Person in OpenMRS","href":"/adaptors/library/jobs/auto/Create-Person-in-OpenMRS-2016-02-12","docId":"library/jobs/auto/Create-Person-in-OpenMRS-2016-02-12"},{"type":"link","label":"Create Patient in OpenMRS","href":"/adaptors/library/jobs/auto/Create-Patient-in-OpenMRS-2019-10-24","docId":"library/jobs/auto/Create-Patient-in-OpenMRS-2019-10-24"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/openmrs-changelog","docId":"packages/openmrs-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/openmrs-readme","docId":"packages/openmrs-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"postgresql","items":[{"type":"link","label":"Overview","href":"/adaptors/postgresql","docId":"postgresql"},{"type":"link","label":"Functions","href":"/adaptors/packages/postgresql-docs","docId":"packages/postgresql-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/postgresql-configuration-schema","docId":"packages/postgresql-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"\ud83d\udcdc Using findValue with an array of data","href":"/adaptors/library/jobs/auto/async-findValue","docId":"library/jobs/auto/async-findValue"},{"type":"link","label":"1. Get data from SLUHIS","href":"/adaptors/library/jobs/auto/1-Get-data-from-SLUHIS-2023-03-08","docId":"library/jobs/auto/1-Get-data-from-SLUHIS-2023-03-08"},{"type":"link","label":"Load to DB","href":"/adaptors/library/jobs/auto/Load-to-DB-2022-05-16","docId":"library/jobs/auto/Load-to-DB-2022-05-16"},{"type":"link","label":"Load / Upsert Data into PostgreSQL","href":"/adaptors/library/jobs/auto/Load-Upsert-Data-into-PostgreSQL-2022-03-22","docId":"library/jobs/auto/Load-Upsert-Data-into-PostgreSQL-2022-03-22"},{"type":"link","label":"Upsert to mBrana","href":"/adaptors/library/jobs/auto/Upsert-to-mBrana-2021-05-11","docId":"library/jobs/auto/Upsert-to-mBrana-2021-05-11"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/postgresql-changelog","docId":"packages/postgresql-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/postgresql-readme","docId":"packages/postgresql-readme"}],"collapsed":true,"collapsible":true},{"type":"link","label":"powerbi","href":"/adaptors/powerbi","docId":"powerbi"},{"type":"category","label":"primero","items":[{"type":"link","label":"Overview","href":"/adaptors/primero","docId":"primero"},{"type":"link","label":"Functions","href":"/adaptors/packages/primero-docs","docId":"packages/primero-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/primero-configuration-schema","docId":"packages/primero-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"Get cases from Primero","href":"/adaptors/library/jobs/auto/Get-cases-from-Primero-2021-09-23","docId":"library/jobs/auto/Get-cases-from-Primero-2021-09-23"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/primero-changelog","docId":"packages/primero-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/primero-readme","docId":"packages/primero-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"progres","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/progres-docs","docId":"packages/progres-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/progres-configuration-schema","docId":"packages/progres-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/progres-changelog","docId":"packages/progres-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/progres-readme","docId":"packages/progres-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"rapidpro","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/rapidpro-docs","docId":"packages/rapidpro-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/rapidpro-configuration-schema","docId":"packages/rapidpro-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/rapidpro-changelog","docId":"packages/rapidpro-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/rapidpro-readme","docId":"packages/rapidpro-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"resourcemap","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/resourcemap-docs","docId":"packages/resourcemap-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/resourcemap-configuration-schema","docId":"packages/resourcemap-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/resourcemap-changelog","docId":"packages/resourcemap-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/resourcemap-readme","docId":"packages/resourcemap-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"salesforce","items":[{"type":"link","label":"Overview","href":"/adaptors/salesforce","docId":"salesforce"},{"type":"link","label":"Functions","href":"/adaptors/packages/salesforce-docs","docId":"packages/salesforce-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/salesforce-configuration-schema","docId":"packages/salesforce-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"\ud83d\udcdc Pre-processing data","href":"/adaptors/library/jobs/auto/alter-state-before-operations","docId":"library/jobs/auto/alter-state-before-operations"},{"type":"link","label":"\ud83d\udcdc Using merge and each","href":"/adaptors/library/jobs/auto/bring-formId-into-data-array-then-create-parent-and-children-in-salesforce","docId":"library/jobs/auto/bring-formId-into-data-array-then-create-parent-and-children-in-salesforce"},{"type":"link","label":"\ud83d\udcdc Using promises","href":"/adaptors/library/jobs/auto/complex-state-control","docId":"library/jobs/auto/complex-state-control"},{"type":"link","label":"\ud83d\udcdc Concat fields with nulls","href":"/adaptors/library/jobs/auto/concatenate-many-fields-with-nulls","docId":"library/jobs/auto/concatenate-many-fields-with-nulls"},{"type":"link","label":"\ud83d\udcdc Create/update records if...","href":"/adaptors/library/jobs/auto/create-if-proposal","docId":"library/jobs/auto/create-if-proposal"},{"type":"link","label":"\ud83d\udcdc Create SMS linked to contact","href":"/adaptors/library/jobs/auto/Create-SMS-Linked-to-Contact-in-SF","docId":"library/jobs/auto/Create-SMS-Linked-to-Contact-in-SF"},{"type":"link","label":"\ud83d\udcdc Handling multiple ODK repeat groups","href":"/adaptors/library/jobs/auto/ODK-Create-Many-Records-Moving-In-And-Out-Of-Repeat-Blocks","docId":"library/jobs/auto/ODK-Create-Many-Records-Moving-In-And-Out-Of-Repeat-Blocks"},{"type":"link","label":"\ud83d\udcdc Merge data into child array then upsert","href":"/adaptors/library/jobs/auto/upsert-many-items-in-array-with-value-outside-array","docId":"library/jobs/auto/upsert-many-items-in-array-with-value-outside-array"},{"type":"link","label":"\u2728 Upsert Pre Challenges","href":"/adaptors/library/jobs/auto/Upsert-Pre-Challenges-2021-04-30","docId":"library/jobs/auto/Upsert-Pre-Challenges-2021-04-30"},{"type":"link","label":"\u2728 Attendance Non Skillz","href":"/adaptors/library/jobs/auto/Attendance-Non-Skillz-2021-06-14","docId":"library/jobs/auto/Attendance-Non-Skillz-2021-06-14"},{"type":"link","label":"\u2728 Upsert Post Challenges","href":"/adaptors/library/jobs/auto/Upsert-Post-Challenges-2021-04-30","docId":"library/jobs/auto/Upsert-Post-Challenges-2021-04-30"},{"type":"link","label":"WF3-2a/ Repeat Failed Person Visits","href":"/adaptors/library/jobs/auto/WF3-2a-Repeat-Failed-Person-Visits-2023-05-31","docId":"library/jobs/auto/WF3-2a-Repeat-Failed-Person-Visits-2023-05-31"},{"type":"link","label":"Upsert Register Participant (Skillz)","href":"/adaptors/library/jobs/auto/Upsert-Register-Participant-Skillz-2021-08-30","docId":"library/jobs/auto/Upsert-Register-Participant-Skillz-2021-08-30"},{"type":"link","label":"\u2728 Upsert Register Participant","href":"/adaptors/library/jobs/auto/Upsert-Register-Participant-2021-04-28","docId":"library/jobs/auto/Upsert-Register-Participant-2021-04-28"},{"type":"link","label":"\u2728 Coach Session Register","href":"/adaptors/library/jobs/auto/Coach-Session-Register-2021-05-03","docId":"library/jobs/auto/Coach-Session-Register-2021-05-03"},{"type":"link","label":"\u2728 WF2-2. Bulk upsert Persons","href":"/adaptors/library/jobs/auto/WF2-2-Bulk-upsert-Persons-2023-05-19","docId":"library/jobs/auto/WF2-2-Bulk-upsert-Persons-2023-05-19"},{"type":"link","label":"\u2728 Create Intervention","href":"/adaptors/library/jobs/auto/Create-Intervention-2021-04-08","docId":"library/jobs/auto/Create-Intervention-2021-04-08"},{"type":"link","label":"\u2728 WF3-2. Bulk upsert Person Visits","href":"/adaptors/library/jobs/auto/WF3-2-Bulk-upsert-Person-Visits-2023-05-19","docId":"library/jobs/auto/WF3-2-Bulk-upsert-Person-Visits-2023-05-19"},{"type":"link","label":"\u2728 WF1-2. Bulk upsert HHs and HH Visits","href":"/adaptors/library/jobs/auto/WF1-2-Bulk-upsert-HHs-and-HH-Visits-2023-05-19","docId":"library/jobs/auto/WF1-2-Bulk-upsert-HHs-and-HH-Visits-2023-05-19"},{"type":"link","label":"\u2728 WF4-2. Bulk upsert Services","href":"/adaptors/library/jobs/auto/WF4-2-Bulk-upsert-Services-2023-05-19","docId":"library/jobs/auto/WF4-2-Bulk-upsert-Services-2023-05-19"},{"type":"link","label":"Q3 2022] Upsert Person Visit","href":"/adaptors/library/jobs/auto/Q3-2022-Upsert-Person-Visit-2022-06-28","docId":"library/jobs/auto/Q3-2022-Upsert-Person-Visit-2022-06-28"},{"type":"link","label":"Q4 2022] Upsert Supervision - Accompaniment","href":"/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Accompaniment-2022-08-22","docId":"library/jobs/auto/Q4-2022-Upsert-Supervision-Accompaniment-2022-08-22"},{"type":"link","label":"Q4 2022] Upsert Supervision - Household Spot Check","href":"/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Household-Spot-Check-2022-08-24","docId":"library/jobs/auto/Q4-2022-Upsert-Supervision-Household-Spot-Check-2022-08-24"},{"type":"link","label":"Q4 2022] Upsert Supervision - Feedback","href":"/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Feedback-2022-08-19","docId":"library/jobs/auto/Q4-2022-Upsert-Supervision-Feedback-2022-08-19"},{"type":"link","label":"\u2728 Q3 2022] Create Distribution & Referral in SF","href":"/adaptors/library/jobs/auto/Q3-2022-Create-Distribution-Referral-in-SF-2020-06-19","docId":"library/jobs/auto/Q3-2022-Create-Distribution-Referral-in-SF-2020-06-19"},{"type":"link","label":"Create contact","href":"/adaptors/library/jobs/auto/Create-contact-2021-03-01","docId":"library/jobs/auto/Create-contact-2021-03-01"},{"type":"link","label":"Q3 2022] Upsert Person","href":"/adaptors/library/jobs/auto/Q3-2022-Upsert-Person-2022-04-21","docId":"library/jobs/auto/Q3-2022-Upsert-Person-2022-04-21"},{"type":"link","label":"Q3 2022] Upsert Household & Household Visit in SF","href":"/adaptors/library/jobs/auto/Q3-2022-Upsert-Household-Household-Visit-in-SF-2022-06-28","docId":"library/jobs/auto/Q3-2022-Upsert-Household-Household-Visit-in-SF-2022-06-28"},{"type":"link","label":"HIV Testing Event Statistics","href":"/adaptors/library/jobs/auto/HIV-Testing-Event-Statistics-2021-05-03","docId":"library/jobs/auto/HIV-Testing-Event-Statistics-2021-05-03"},{"type":"link","label":"Malaria Testing Event Statistics","href":"/adaptors/library/jobs/auto/Malaria-Testing-Event-Statistics-2021-05-03","docId":"library/jobs/auto/Malaria-Testing-Event-Statistics-2021-05-03"},{"type":"link","label":"HIV Testing Event Snapshot","href":"/adaptors/library/jobs/auto/HIV-Testing-Event-Snapshot-2021-05-03","docId":"library/jobs/auto/HIV-Testing-Event-Snapshot-2021-05-03"},{"type":"link","label":"Malaria Testing Event Snapshot","href":"/adaptors/library/jobs/auto/Malaria-Testing-Event-Snapshot-2021-05-03","docId":"library/jobs/auto/Malaria-Testing-Event-Snapshot-2021-05-03"},{"type":"link","label":"PHQ9","href":"/adaptors/library/jobs/auto/PHQ9-2021-05-03","docId":"library/jobs/auto/PHQ9-2021-05-03"},{"type":"link","label":"Risk and Vulnerability Assessment","href":"/adaptors/library/jobs/auto/Risk-and-Vulnerability-Assessment-2021-05-27","docId":"library/jobs/auto/Risk-and-Vulnerability-Assessment-2021-05-27"},{"type":"link","label":"Upsert Attendance Skillz Plus Club","href":"/adaptors/library/jobs/auto/Upsert-Attendance-Skillz-Plus-Club-2021-05-24","docId":"library/jobs/auto/Upsert-Attendance-Skillz-Plus-Club-2021-05-24"},{"type":"link","label":"Upsert ART Adherence Self-Reporting Tool","href":"/adaptors/library/jobs/auto/Upsert-ART-Adherence-Self-Reporting-Tool-2021-04-30","docId":"library/jobs/auto/Upsert-ART-Adherence-Self-Reporting-Tool-2021-04-30"},{"type":"link","label":"Upsert Aggregate Service Referrals","href":"/adaptors/library/jobs/auto/Upsert-Aggregate-Service-Referrals-2021-04-30","docId":"library/jobs/auto/Upsert-Aggregate-Service-Referrals-2021-04-30"},{"type":"link","label":"Upsert Coach Support Visit (CSV)","href":"/adaptors/library/jobs/auto/Upsert-Coach-Support-Visit-CSV-2021-04-28","docId":"library/jobs/auto/Upsert-Coach-Support-Visit-CSV-2021-04-28"},{"type":"link","label":"Upsert Confirm Services Received","href":"/adaptors/library/jobs/auto/Upsert-Confirm-Services-Received-2021-06-14","docId":"library/jobs/auto/Upsert-Confirm-Services-Received-2021-06-14"},{"type":"link","label":"Upsert Home Visit Log Form","href":"/adaptors/library/jobs/auto/Upsert-Home-Visit-Log-Form-2021-05-03","docId":"library/jobs/auto/Upsert-Home-Visit-Log-Form-2021-05-03"},{"type":"link","label":"\u2728 Upsert Intervention Notes","href":"/adaptors/library/jobs/auto/Upsert-Intervention-Notes-2021-04-28","docId":"library/jobs/auto/Upsert-Intervention-Notes-2021-04-28"},{"type":"link","label":"Upsert Register Event","href":"/adaptors/library/jobs/auto/Upsert-Register-Event-2021-04-30","docId":"library/jobs/auto/Upsert-Register-Event-2021-04-30"},{"type":"link","label":"Upsert Register Skills plus Club","href":"/adaptors/library/jobs/auto/Upsert-Register-Skills-plus-Club-2021-04-30","docId":"library/jobs/auto/Upsert-Register-Skills-plus-Club-2021-04-30"},{"type":"link","label":"Upsert Risk & Vulnerability Assessment | Service Referral","href":"/adaptors/library/jobs/auto/Upsert-Risk-Vulnerability-Assessment-Service-Referral-2021-05-25","docId":"library/jobs/auto/Upsert-Risk-Vulnerability-Assessment-Service-Referral-2021-05-25"},{"type":"link","label":"Upsert Service Referral","href":"/adaptors/library/jobs/auto/Upsert-Service-Referral-2021-04-30","docId":"library/jobs/auto/Upsert-Service-Referral-2021-04-30"},{"type":"link","label":"Upsert Service Referral 2","href":"/adaptors/library/jobs/auto/Upsert-Service-Referral-2-2021-06-14","docId":"library/jobs/auto/Upsert-Service-Referral-2-2021-06-14"},{"type":"link","label":"Upsert Service Referral Followup","href":"/adaptors/library/jobs/auto/Upsert-Service-Referral-Followup-2021-04-30","docId":"library/jobs/auto/Upsert-Service-Referral-Followup-2021-04-30"},{"type":"link","label":"Upsert Team/Group Name","href":"/adaptors/library/jobs/auto/Upsert-Team-Group-Name-2021-04-28","docId":"library/jobs/auto/Upsert-Team-Group-Name-2021-04-28"},{"type":"link","label":"Register Participant - V2 Skillz","href":"/adaptors/library/jobs/auto/Register-Participant-V2-Skillz-2021-06-02","docId":"library/jobs/auto/Register-Participant-V2-Skillz-2021-06-02"},{"type":"link","label":"Upsert User in Salesforce","href":"/adaptors/library/jobs/auto/Upsert-User-in-Salesforce-2021-04-16","docId":"library/jobs/auto/Upsert-User-in-Salesforce-2021-04-16"},{"type":"link","label":"Create Person in SF","href":"/adaptors/library/jobs/auto/Create-Person-in-SF-2019-02-25","docId":"library/jobs/auto/Create-Person-in-SF-2019-02-25"},{"type":"link","label":"1. Create Payment in SF","href":"/adaptors/library/jobs/auto/1-Create-Payment-in-SF-2018-09-03","docId":"library/jobs/auto/1-Create-Payment-in-SF-2018-09-03"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/salesforce-changelog","docId":"packages/salesforce-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/salesforce-readme","docId":"packages/salesforce-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"sftp","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/sftp-docs","docId":"packages/sftp-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/sftp-configuration-schema","docId":"packages/sftp-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/sftp-changelog","docId":"packages/sftp-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/sftp-readme","docId":"packages/sftp-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"smpp","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/smpp-docs","docId":"packages/smpp-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/smpp-configuration-schema","docId":"packages/smpp-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/smpp-changelog","docId":"packages/smpp-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/smpp-readme","docId":"packages/smpp-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"surveycto","items":[{"type":"link","label":"Overview","href":"/adaptors/surveycto","docId":"surveycto"},{"type":"link","label":"Functions","href":"/adaptors/packages/surveycto-docs","docId":"packages/surveycto-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/surveycto-configuration-schema","docId":"packages/surveycto-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/surveycto-changelog","docId":"packages/surveycto-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/surveycto-readme","docId":"packages/surveycto-readme"}],"collapsed":true,"collapsible":true},{"type":"link","label":"tableau","href":"/adaptors/tableau","docId":"tableau"},{"type":"category","label":"telerivet","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/telerivet-docs","docId":"packages/telerivet-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/telerivet-configuration-schema","docId":"packages/telerivet-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"\ud83d\udcdc Send sms from Salesforce workflow action","href":"/adaptors/library/jobs/auto/send-sms-from-salesforce-workflow","docId":"library/jobs/auto/send-sms-from-salesforce-workflow"},{"type":"link","label":"2. SMS Balance Update to Customer","href":"/adaptors/library/jobs/auto/2-SMS-Balance-Update-to-Customer-2018-12-14","docId":"library/jobs/auto/2-SMS-Balance-Update-to-Customer-2018-12-14"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/telerivet-changelog","docId":"packages/telerivet-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/telerivet-readme","docId":"packages/telerivet-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"template","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/template-docs","docId":"packages/template-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/template-configuration-schema","docId":"packages/template-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/template-changelog","docId":"packages/template-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/template-readme","docId":"packages/template-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"twilio","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/twilio-docs","docId":"packages/twilio-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/twilio-configuration-schema","docId":"packages/twilio-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/twilio-changelog","docId":"packages/twilio-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/twilio-readme","docId":"packages/twilio-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"vtiger","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/vtiger-docs","docId":"packages/vtiger-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/vtiger-configuration-schema","docId":"packages/vtiger-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/vtiger-changelog","docId":"packages/vtiger-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/vtiger-readme","docId":"packages/vtiger-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"zoho","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/zoho-docs","docId":"packages/zoho-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/zoho-configuration-schema","docId":"packages/zoho-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/zoho-changelog","docId":"packages/zoho-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/zoho-readme","docId":"packages/zoho-readme"}],"collapsed":true,"collapsible":true}]},"docs":{"adaptors-intro":{"id":"adaptors-intro","title":"Adaptors","description":"Connect Anything.","sidebar":"adaptors"},"cht":{"id":"cht","title":"Community Health Toolkit","description":"1. To push data from CHT applications to OpenFn, leverage the","sidebar":"adaptors"},"ckan":{"id":"ckan","title":"CKAN","description":"App Overview","sidebar":"adaptors"},"commcare":{"id":"commcare","title":"CommCare","description":"App Overview","sidebar":"adaptors"},"dhis2":{"id":"dhis2","title":"DHIS2","description":"App Overview","sidebar":"adaptors"},"godata":{"id":"godata","title":"Go.Data","description":"Overview","sidebar":"adaptors"},"googlesheets":{"id":"googlesheets","title":"Google Forms/Google Sheets","description":"Google Forms/Google Sheets","sidebar":"adaptors"},"kobotoolbox":{"id":"kobotoolbox","title":"Kobo Toolbox","description":"App Overview","sidebar":"adaptors"},"library-intro":{"id":"library-intro","title":"The Community Job Library","description":"A growing knowledge base","sidebar":"adaptors"},"library/jobs/auto/0-Get-TEI-data-2021-06-02":{"id":"library/jobs/auto/0-Get-TEI-data-2021-06-02","title":"0 - Get TEI data","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/01-send-mailgun-email-2018-12-04":{"id":"library/jobs/auto/01-send-mailgun-email-2018-12-04","title":"01 send mailgun email","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/01a-Create-Registrants-2019-11-19":{"id":"library/jobs/auto/01a-Create-Registrants-2019-11-19","title":"01a/ Create Registrants","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/01b-Query-new-person-record-2019-12-13":{"id":"library/jobs/auto/01b-Query-new-person-record-2019-12-13","title":"01b/ Query new person record","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/01c-Create-person_position-record-2019-12-13":{"id":"library/jobs/auto/01c-Create-person_position-record-2019-12-13","title":"01c/ Create person_position record","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/02a-Query-DB-for-people-to-pay-2019-12-11":{"id":"library/jobs/auto/02a-Query-DB-for-people-to-pay-2019-12-11","title":"02a/ Query DB for people to pay","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/02b-Initiate-Payments-2019-11-19":{"id":"library/jobs/auto/02b-Initiate-Payments-2019-11-19","title":"02b/ Initiate Payments","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/03-Update-Payment-Status-2019-11-19":{"id":"library/jobs/auto/03-Update-Payment-Status-2019-11-19","title":"03/ Update Payment Status","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/04a-Query-for-job-changes-2019-12-12":{"id":"library/jobs/auto/04a-Query-for-job-changes-2019-12-12","title":"04a/Query for job changes","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/04b-Update-ODK-form-2019-12-03":{"id":"library/jobs/auto/04b-Update-ODK-form-2019-12-03","title":"04b/ Update ODK form","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/05-Submit-employee-evaluation-2019-12-03":{"id":"library/jobs/auto/05-Submit-employee-evaluation-2019-12-03","title":"05/ Submit employee evaluation","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/05a-Query-for-new-employees-2019-12-19":{"id":"library/jobs/auto/05a-Query-for-new-employees-2019-12-19","title":"05a/Query for new employees","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/05b-Update-ODK-eval-form-2019-12-19":{"id":"library/jobs/auto/05b-Update-ODK-eval-form-2019-12-19","title":"05b/Update ODK eval form","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/1-Create-Payment-in-SF-2018-09-03":{"id":"library/jobs/auto/1-Create-Payment-in-SF-2018-09-03","title":"1. Create Payment in SF","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/1-Get-CommCare-Forms-Bulk-Extract-2021-04-08":{"id":"library/jobs/auto/1-Get-CommCare-Forms-Bulk-Extract-2021-04-08","title":"1. Get CommCare Forms (Bulk Extract)","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/1-Get-data-from-SLUHIS-2023-03-08":{"id":"library/jobs/auto/1-Get-data-from-SLUHIS-2023-03-08","title":"1. Get data from SLUHIS","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/2-SMS-Balance-Update-to-Customer-2018-12-14":{"id":"library/jobs/auto/2-SMS-Balance-Update-to-Customer-2018-12-14","title":"2. SMS Balance Update to Customer","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Add-DHIS2-Data-Value-Sets-2016-03-28":{"id":"library/jobs/auto/Add-DHIS2-Data-Value-Sets-2016-03-28","title":"Add DHIS2 Data Value Sets","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/aleksa-cron-2022-04-29":{"id":"library/jobs/auto/aleksa-cron-2022-04-29","title":"aleksa cron","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/alter-state-before-operations":{"id":"library/jobs/auto/alter-state-before-operations","title":"Pre-processing data","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/async-and-array-dot-map":{"id":"library/jobs/auto/async-and-array-dot-map","title":"Using async and array.map","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/async-findValue":{"id":"library/jobs/auto/async-findValue","title":"Using findValue with an array of data","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/Attendance-Non-Skillz-2021-06-14":{"id":"library/jobs/auto/Attendance-Non-Skillz-2021-06-14","title":"Attendance Non Skillz","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/bring-formId-into-data-array-then-create-parent-and-children-in-salesforce":{"id":"library/jobs/auto/bring-formId-into-data-array-then-create-parent-and-children-in-salesforce","title":"Using merge and each","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/Catch-Error-in-HTTP-Request-2016-08-26":{"id":"library/jobs/auto/Catch-Error-in-HTTP-Request-2016-08-26","title":"Catch Error in HTTP Request","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/CHW-case-to-DHIS2-2023-04-27":{"id":"library/jobs/auto/CHW-case-to-DHIS2-2023-04-27","title":"CHW case to DHIS2","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Coach-Session-Register-2021-05-03":{"id":"library/jobs/auto/Coach-Session-Register-2021-05-03","title":"Coach Session Register","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/CommCare-FHIR":{"id":"library/jobs/auto/CommCare-FHIR","title":"Create encounter in OpenHIM","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/commcare-reports-api-2016-08-29":{"id":"library/jobs/auto/commcare-reports-api-2016-08-29","title":"commcare reports api","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/CommCare-to-Azure-Sql-2020-01-27":{"id":"library/jobs/auto/CommCare-to-Azure-Sql-2020-01-27","title":"CommCare to Azure Sql","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/complex-http-request-chains":{"id":"library/jobs/auto/complex-http-request-chains","title":"Chaining HTTP Requests","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/complex-state-control":{"id":"library/jobs/auto/complex-state-control","title":"Using promises","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/concatenate-many-fields-with-nulls":{"id":"library/jobs/auto/concatenate-many-fields-with-nulls","title":"Concat fields with nulls","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/Create-contact-2021-03-01":{"id":"library/jobs/auto/Create-contact-2021-03-01","title":"Create contact","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/create-if-proposal":{"id":"library/jobs/auto/create-if-proposal","title":"Create/update records if...","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/Create-Intervention-2021-04-08":{"id":"library/jobs/auto/Create-Intervention-2021-04-08","title":"Create Intervention","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Create-Patient-in-OpenMRS-2019-10-24":{"id":"library/jobs/auto/Create-Patient-in-OpenMRS-2019-10-24","title":"Create Patient in OpenMRS","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Create-Person-in-OpenMRS-2016-02-12":{"id":"library/jobs/auto/Create-Person-in-OpenMRS-2016-02-12","title":"Create Person in OpenMRS","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Create-Person-in-SF-2019-02-25":{"id":"library/jobs/auto/Create-Person-in-SF-2019-02-25","title":"Create Person in SF","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Create-SMS-Linked-to-Contact-in-SF":{"id":"library/jobs/auto/Create-SMS-Linked-to-Contact-in-SF","title":"Create SMS linked to contact","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/Create-TEI-dhis2-2021-03-22":{"id":"library/jobs/auto/Create-TEI-dhis2-2021-03-22","title":"Create TEI (dhis2)","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/DHIS2-DataValues-API":{"id":"library/jobs/auto/DHIS2-DataValues-API","title":"Add data values","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/DHIS2-Events-2016-01-27":{"id":"library/jobs/auto/DHIS2-Events-2016-01-27","title":"DHIS2 Events","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/DHIS2-Events-API":{"id":"library/jobs/auto/DHIS2-Events-API","title":"Add events","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/Extract-Vitas-Data-2021-05-11":{"id":"library/jobs/auto/Extract-Vitas-Data-2021-05-11","title":"Extract Vitas Data","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Failed-Payment-Notification-2021-04-23":{"id":"library/jobs/auto/Failed-Payment-Notification-2021-04-23","title":"Failed Payment Notification","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Fetch-Claims-2023-07-17":{"id":"library/jobs/auto/Fetch-Claims-2023-07-17","title":"Fetch Claims","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Get-cases-from-Primero-2021-09-23":{"id":"library/jobs/auto/Get-cases-from-Primero-2021-09-23","title":"Get cases from Primero","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Get-CommCare-Forms-Bulk-Extract-2022-05-16":{"id":"library/jobs/auto/Get-CommCare-Forms-Bulk-Extract-2022-05-16","title":"Get CommCare Forms (Bulk Extract)","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/GET-Data-From-KoboToolbox-2022-03-22":{"id":"library/jobs/auto/GET-Data-From-KoboToolbox-2022-03-22","title":"GET Data From KoboToolbox","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/getKoboData":{"id":"library/jobs/auto/getKoboData","title":"Extract Kobo data from API to send to OpenFn Inbox","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/HIV-Testing-Event-Snapshot-2021-05-03":{"id":"library/jobs/auto/HIV-Testing-Event-Snapshot-2021-05-03","title":"HIV Testing Event Snapshot","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/HIV-Testing-Event-Statistics-2021-05-03":{"id":"library/jobs/auto/HIV-Testing-Event-Statistics-2021-05-03","title":"HIV Testing Event Statistics","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Load-to-DB-2022-05-16":{"id":"library/jobs/auto/Load-to-DB-2022-05-16","title":"Load to DB","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Load-to-DHIS2-2023-07-17":{"id":"library/jobs/auto/Load-to-DHIS2-2023-07-17","title":"Load to DHIS2","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Load-Upsert-Data-into-PostgreSQL-2022-03-22":{"id":"library/jobs/auto/Load-Upsert-Data-into-PostgreSQL-2022-03-22","title":"Load / Upsert Data into PostgreSQL","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Malaria-Testing-Event-Snapshot-2021-05-03":{"id":"library/jobs/auto/Malaria-Testing-Event-Snapshot-2021-05-03","title":"Malaria Testing Event Snapshot","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Malaria-Testing-Event-Statistics-2021-05-03":{"id":"library/jobs/auto/Malaria-Testing-Event-Statistics-2021-05-03","title":"Malaria Testing Event Statistics","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/nawiri-2023-05-03":{"id":"library/jobs/auto/nawiri-2023-05-03","title":"nawiri","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/no-return-2023-01-06":{"id":"library/jobs/auto/no-return-2023-01-06","title":"no return","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/ODK-Create-Many-Records-Moving-In-And-Out-Of-Repeat-Blocks":{"id":"library/jobs/auto/ODK-Create-Many-Records-Moving-In-And-Out-Of-Repeat-Blocks","title":"Handling multiple ODK repeat groups","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/Pay-CHW-2021-04-23":{"id":"library/jobs/auto/Pay-CHW-2021-04-23","title":"Pay CHW","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/PHQ9-2021-05-03":{"id":"library/jobs/auto/PHQ9-2021-05-03","title":"PHQ9","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/promise-all-nested-requests":{"id":"library/jobs/auto/promise-all-nested-requests","title":"Promises and nested requests","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/Q3-2022-Create-Distribution-Referral-in-SF-2020-06-19":{"id":"library/jobs/auto/Q3-2022-Create-Distribution-Referral-in-SF-2020-06-19","title":"Q3 2022] Create Distribution & Referral in SF","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Q3-2022-Update-HH-Name-in-CommCare-2021-09-27":{"id":"library/jobs/auto/Q3-2022-Update-HH-Name-in-CommCare-2021-09-27","title":"Q3 2022] Update HH Name in CommCare","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Q3-2022-Upsert-Household-Household-Visit-in-SF-2022-06-28":{"id":"library/jobs/auto/Q3-2022-Upsert-Household-Household-Visit-in-SF-2022-06-28","title":"Q3 2022] Upsert Household & Household Visit in SF","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Q3-2022-Upsert-Person-2022-04-21":{"id":"library/jobs/auto/Q3-2022-Upsert-Person-2022-04-21","title":"Q3 2022] Upsert Person","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Q3-2022-Upsert-Person-Visit-2022-06-28":{"id":"library/jobs/auto/Q3-2022-Upsert-Person-Visit-2022-06-28","title":"Q3 2022] Upsert Person Visit","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Q4-2022-Upsert-Supervision-Accompaniment-2022-08-22":{"id":"library/jobs/auto/Q4-2022-Upsert-Supervision-Accompaniment-2022-08-22","title":"Q4 2022] Upsert Supervision - Accompaniment","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Q4-2022-Upsert-Supervision-Feedback-2022-08-19":{"id":"library/jobs/auto/Q4-2022-Upsert-Supervision-Feedback-2022-08-19","title":"Q4 2022] Upsert Supervision - Feedback","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Q4-2022-Upsert-Supervision-Household-Spot-Check-2022-08-24":{"id":"library/jobs/auto/Q4-2022-Upsert-Supervision-Household-Spot-Check-2022-08-24","title":"Q4 2022] Upsert Supervision - Household Spot Check","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Register-Participant-V2-Skillz-2021-06-02":{"id":"library/jobs/auto/Register-Participant-V2-Skillz-2021-06-02","title":"Register Participant - V2 Skillz","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Register-Patient-2021-03-02":{"id":"library/jobs/auto/Register-Patient-2021-03-02","title":"Register Patient","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Registration-forms-new-case-2023-06-22":{"id":"library/jobs/auto/Registration-forms-new-case-2023-06-22","title":"Registration forms(new case)","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Request-Vitas-Sync-2021-05-11":{"id":"library/jobs/auto/Request-Vitas-Sync-2021-05-11","title":"Request Vitas Sync","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Risk-and-Vulnerability-Assessment-2021-05-27":{"id":"library/jobs/auto/Risk-and-Vulnerability-Assessment-2021-05-27","title":"Risk and Vulnerability Assessment","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/send-mail-in-mailgun":{"id":"library/jobs/auto/send-mail-in-mailgun","title":"send email","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/send-sms-from-salesforce-workflow":{"id":"library/jobs/auto/send-sms-from-salesforce-workflow","title":"Send sms from Salesforce workflow action","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/synchronous-http-request":{"id":"library/jobs/auto/synchronous-http-request","title":"Chaining synchronous http requests","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/timeout":{"id":"library/jobs/auto/timeout","title":"Timeout to create a delay","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Aggregate-Service-Referrals-2021-04-30":{"id":"library/jobs/auto/Upsert-Aggregate-Service-Referrals-2021-04-30","title":"Upsert Aggregate Service Referrals","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-ART-Adherence-Self-Reporting-Tool-2021-04-30":{"id":"library/jobs/auto/Upsert-ART-Adherence-Self-Reporting-Tool-2021-04-30","title":"Upsert ART Adherence Self-Reporting Tool","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Attendance-Skillz-Plus-Club-2021-05-24":{"id":"library/jobs/auto/Upsert-Attendance-Skillz-Plus-Club-2021-05-24","title":"Upsert Attendance Skillz Plus Club","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Coach-Support-Visit-CSV-2021-04-28":{"id":"library/jobs/auto/Upsert-Coach-Support-Visit-CSV-2021-04-28","title":"Upsert Coach Support Visit (CSV)","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Confirm-Services-Received-2021-06-14":{"id":"library/jobs/auto/Upsert-Confirm-Services-Received-2021-06-14","title":"Upsert Confirm Services Received","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Home-Visit-Log-Form-2021-05-03":{"id":"library/jobs/auto/Upsert-Home-Visit-Log-Form-2021-05-03","title":"Upsert Home Visit Log Form","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Intervention-Notes-2021-04-28":{"id":"library/jobs/auto/Upsert-Intervention-Notes-2021-04-28","title":"Upsert Intervention Notes","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/upsert-many-items-in-array-with-value-outside-array":{"id":"library/jobs/auto/upsert-many-items-in-array-with-value-outside-array","title":"Merge data into child array then upsert","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Post-Challenges-2021-04-30":{"id":"library/jobs/auto/Upsert-Post-Challenges-2021-04-30","title":"Upsert Post Challenges","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Pre-Challenges-2021-04-30":{"id":"library/jobs/auto/Upsert-Pre-Challenges-2021-04-30","title":"Upsert Pre Challenges","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Register-Event-2021-04-30":{"id":"library/jobs/auto/Upsert-Register-Event-2021-04-30","title":"Upsert Register Event","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Register-Participant-2021-04-28":{"id":"library/jobs/auto/Upsert-Register-Participant-2021-04-28","title":"Upsert Register Participant","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Register-Participant-Skillz-2021-08-30":{"id":"library/jobs/auto/Upsert-Register-Participant-Skillz-2021-08-30","title":"Upsert Register Participant (Skillz)","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Register-Skills-plus-Club-2021-04-30":{"id":"library/jobs/auto/Upsert-Register-Skills-plus-Club-2021-04-30","title":"Upsert Register Skills plus Club","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Risk-Vulnerability-Assessment-Service-Referral-2021-05-25":{"id":"library/jobs/auto/Upsert-Risk-Vulnerability-Assessment-Service-Referral-2021-05-25","title":"Upsert Risk & Vulnerability Assessment | Service Referral","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Service-Referral-2-2021-06-14":{"id":"library/jobs/auto/Upsert-Service-Referral-2-2021-06-14","title":"Upsert Service Referral 2","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Service-Referral-2021-04-30":{"id":"library/jobs/auto/Upsert-Service-Referral-2021-04-30","title":"Upsert Service Referral","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Service-Referral-Followup-2021-04-30":{"id":"library/jobs/auto/Upsert-Service-Referral-Followup-2021-04-30","title":"Upsert Service Referral Followup","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Team-Group-Name-2021-04-28":{"id":"library/jobs/auto/Upsert-Team-Group-Name-2021-04-28","title":"Upsert Team/Group Name","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-to-mBrana-2021-05-11":{"id":"library/jobs/auto/Upsert-to-mBrana-2021-05-11","title":"Upsert to mBrana","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-User-in-Salesforce-2021-04-16":{"id":"library/jobs/auto/Upsert-User-in-Salesforce-2021-04-16","title":"Upsert User in Salesforce","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/WF1-1-Bulk-get-HH-cases-2023-05-19":{"id":"library/jobs/auto/WF1-1-Bulk-get-HH-cases-2023-05-19","title":"WF1-1. Bulk get HH cases","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/WF1-2-Bulk-upsert-HHs-and-HH-Visits-2023-05-19":{"id":"library/jobs/auto/WF1-2-Bulk-upsert-HHs-and-HH-Visits-2023-05-19","title":"WF1-2. Bulk upsert HHs and HH Visits","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/WF2-1-Bulk-get-Person-cases-2023-05-19":{"id":"library/jobs/auto/WF2-1-Bulk-get-Person-cases-2023-05-19","title":"WF2-1. Bulk get Person cases","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/WF2-2-Bulk-upsert-Persons-2023-05-19":{"id":"library/jobs/auto/WF2-2-Bulk-upsert-Persons-2023-05-19","title":"WF2-2. Bulk upsert Persons","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/WF3-1-Bulk-get-Person-Visit-cases-2023-05-19":{"id":"library/jobs/auto/WF3-1-Bulk-get-Person-Visit-cases-2023-05-19","title":"WF3-1. Bulk get Person Visit cases","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/WF3-2-Bulk-upsert-Person-Visits-2023-05-19":{"id":"library/jobs/auto/WF3-2-Bulk-upsert-Person-Visits-2023-05-19","title":"WF3-2. Bulk upsert Person Visits","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/WF3-2a-Repeat-Failed-Person-Visits-2023-05-31":{"id":"library/jobs/auto/WF3-2a-Repeat-Failed-Person-Visits-2023-05-31","title":"WF3-2a/ Repeat Failed Person Visits","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/WF4-1-Bulk-get-Referral-Cases-2023-05-19":{"id":"library/jobs/auto/WF4-1-Bulk-get-Referral-Cases-2023-05-19","title":"WF4-1. Bulk get Referral Cases","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/WF4-2-Bulk-upsert-Services-2023-05-19":{"id":"library/jobs/auto/WF4-2-Bulk-upsert-Services-2023-05-19","title":"WF4-2. Bulk upsert Services","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/triggers/xmlns":{"id":"library/triggers/xmlns","title":"Match a message with a fragment inside another object called `form`","description":""},"magpi":{"id":"magpi","title":"Magpi","description":"Magpi is not able to push data to external URLs. In order to fetch data from","sidebar":"adaptors"},"moodle":{"id":"moodle","title":"Moodle","description":"Overview","sidebar":"adaptors"},"odk":{"id":"odk","title":"Open Data Kit (ODK)","description":"Open Data Kit (ODK) Collect","sidebar":"adaptors"},"ona":{"id":"ona","title":"Ona.io","description":"Webhooks to push form data to OpenFn","sidebar":"adaptors"},"packages/asana-changelog":{"id":"packages/asana-changelog","title":"asana changelog","description":"3.0.1","sidebar":"adaptors"},"packages/asana-configuration-schema":{"id":"packages/asana-configuration-schema","title":"Config for asana","description":"Jobs that use the asana adaptor may require authentication. A","sidebar":"adaptors"},"packages/asana-docs":{"id":"packages/asana-docs","title":"asana@3.0.1","description":"Functions","sidebar":"adaptors"},"packages/asana-readme":{"id":"packages/asana-readme","title":"asana developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/asana","sidebar":"adaptors"},"packages/beyonic-changelog":{"id":"packages/beyonic-changelog","title":"beyonic changelog","description":"0.2.1","sidebar":"adaptors"},"packages/beyonic-configuration-schema":{"id":"packages/beyonic-configuration-schema","title":"Config for beyonic","description":"Jobs that use the beyonic adaptor may require authentication. A","sidebar":"adaptors"},"packages/beyonic-docs":{"id":"packages/beyonic-docs","title":"beyonic@0.2.1","description":"Functions","sidebar":"adaptors"},"packages/beyonic-readme":{"id":"packages/beyonic-readme","title":"beyonic developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/beyonic","sidebar":"adaptors"},"packages/bigquery-changelog":{"id":"packages/bigquery-changelog","title":"bigquery changelog","description":"2.0.3","sidebar":"adaptors"},"packages/bigquery-configuration-schema":{"id":"packages/bigquery-configuration-schema","title":"Config for bigquery","description":"Jobs that use the bigquery adaptor may require authentication. A","sidebar":"adaptors"},"packages/bigquery-docs":{"id":"packages/bigquery-docs","title":"bigquery@2.0.3","description":"load","sidebar":"adaptors"},"packages/bigquery-readme":{"id":"packages/bigquery-readme","title":"bigquery developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/bigquery","sidebar":"adaptors"},"packages/commcare-changelog":{"id":"packages/commcare-changelog","title":"commcare changelog","description":"1.6.9","sidebar":"adaptors"},"packages/commcare-configuration-schema":{"id":"packages/commcare-configuration-schema","title":"Config for commcare","description":"Jobs that use the commcare adaptor may require authentication. A","sidebar":"adaptors"},"packages/commcare-docs":{"id":"packages/commcare-docs","title":"commcare@1.6.9","description":"Functions","sidebar":"adaptors"},"packages/commcare-readme":{"id":"packages/commcare-readme","title":"commcare developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/commcare","sidebar":"adaptors"},"packages/common-changelog":{"id":"packages/common-changelog","title":"common changelog","description":"v0.4.0","sidebar":"adaptors"},"packages/common-configuration-schema":{"id":"packages/common-configuration-schema","title":"Config for common","description":"No configuration schema has been defined for the common adaptor.","sidebar":"adaptors"},"packages/common-docs":{"id":"packages/common-docs","title":"common@1.11.0","description":"Functions","sidebar":"adaptors"},"packages/common-readme":{"id":"packages/common-readme","title":"common developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/common","sidebar":"adaptors"},"packages/dhis2-changelog":{"id":"packages/dhis2-changelog","title":"dhis2 changelog","description":"4.0.2","sidebar":"adaptors"},"packages/dhis2-configuration-schema":{"id":"packages/dhis2-configuration-schema","title":"Config for dhis2","description":"Jobs that use the dhis2 adaptor may require authentication. A","sidebar":"adaptors"},"packages/dhis2-docs":{"id":"packages/dhis2-docs","title":"dhis2@4.0.2","description":"Functions","sidebar":"adaptors"},"packages/dhis2-readme":{"id":"packages/dhis2-readme","title":"dhis2 developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/dhis2","sidebar":"adaptors"},"packages/dynamics-changelog":{"id":"packages/dynamics-changelog","title":"dynamics changelog","description":"0.4.7","sidebar":"adaptors"},"packages/dynamics-configuration-schema":{"id":"packages/dynamics-configuration-schema","title":"Config for dynamics","description":"Jobs that use the dynamics adaptor may require authentication. A","sidebar":"adaptors"},"packages/dynamics-docs":{"id":"packages/dynamics-docs","title":"dynamics@0.4.7","description":"","sidebar":"adaptors"},"packages/dynamics-readme":{"id":"packages/dynamics-readme","title":"dynamics developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/dynamics","sidebar":"adaptors"},"packages/facebook-changelog":{"id":"packages/facebook-changelog","title":"facebook changelog","description":"0.3.2","sidebar":"adaptors"},"packages/facebook-configuration-schema":{"id":"packages/facebook-configuration-schema","title":"Config for facebook","description":"Jobs that use the facebook adaptor may require authentication. A","sidebar":"adaptors"},"packages/facebook-docs":{"id":"packages/facebook-docs","title":"facebook@0.3.2","description":"postMessage","sidebar":"adaptors"},"packages/facebook-readme":{"id":"packages/facebook-readme","title":"facebook developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/facebook","sidebar":"adaptors"},"packages/fhir-changelog":{"id":"packages/fhir-changelog","title":"fhir changelog","description":"3.1.0","sidebar":"adaptors"},"packages/fhir-configuration-schema":{"id":"packages/fhir-configuration-schema","title":"Config for fhir","description":"Jobs that use the fhir adaptor may require authentication. A","sidebar":"adaptors"},"packages/fhir-docs":{"id":"packages/fhir-docs","title":"fhir@3.1.0","description":"Functions","sidebar":"adaptors"},"packages/fhir-readme":{"id":"packages/fhir-readme","title":"fhir developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/fhir","sidebar":"adaptors"},"packages/godata-changelog":{"id":"packages/godata-changelog","title":"godata changelog","description":"3.3.1","sidebar":"adaptors"},"packages/godata-configuration-schema":{"id":"packages/godata-configuration-schema","title":"Config for godata","description":"Jobs that use the godata adaptor may require authentication. A","sidebar":"adaptors"},"packages/godata-docs":{"id":"packages/godata-docs","title":"godata@3.3.1","description":"Functions","sidebar":"adaptors"},"packages/godata-readme":{"id":"packages/godata-readme","title":"godata developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/godata","sidebar":"adaptors"},"packages/googlehealthcare-changelog":{"id":"packages/googlehealthcare-changelog","title":"googlehealthcare changelog","description":"1.0.0","sidebar":"adaptors"},"packages/googlehealthcare-configuration-schema":{"id":"packages/googlehealthcare-configuration-schema","title":"Config for googlehealthcare","description":"Jobs that use the googlehealthcare adaptor may require authentication. A","sidebar":"adaptors"},"packages/googlehealthcare-docs":{"id":"packages/googlehealthcare-docs","title":"googlehealthcare@1.0.0","description":"createFhirResource","sidebar":"adaptors"},"packages/googlehealthcare-readme":{"id":"packages/googlehealthcare-readme","title":"googlehealthcare developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/googlehealthcare","sidebar":"adaptors"},"packages/googlesheets-changelog":{"id":"packages/googlesheets-changelog","title":"googlesheets changelog","description":"2.2.2","sidebar":"adaptors"},"packages/googlesheets-configuration-schema":{"id":"packages/googlesheets-configuration-schema","title":"Config for googlesheets","description":"Jobs that use the googlesheets adaptor may require authentication. A","sidebar":"adaptors"},"packages/googlesheets-docs":{"id":"packages/googlesheets-docs","title":"googlesheets@2.2.2","description":"appendValues","sidebar":"adaptors"},"packages/googlesheets-readme":{"id":"packages/googlesheets-readme","title":"googlesheets developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/googlesheets","sidebar":"adaptors"},"packages/http-changelog":{"id":"packages/http-changelog","title":"http changelog","description":"5.0.3","sidebar":"adaptors"},"packages/http-configuration-schema":{"id":"packages/http-configuration-schema","title":"Config for http","description":"Jobs that use the http adaptor may require authentication. A","sidebar":"adaptors"},"packages/http-docs":{"id":"packages/http-docs","title":"http@5.0.3","description":"Functions","sidebar":"adaptors"},"packages/http-readme":{"id":"packages/http-readme","title":"http developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/http","sidebar":"adaptors"},"packages/khanacademy-changelog":{"id":"packages/khanacademy-changelog","title":"khanacademy changelog","description":"0.4.1","sidebar":"adaptors"},"packages/khanacademy-configuration-schema":{"id":"packages/khanacademy-configuration-schema","title":"Config for khanacademy","description":"Jobs that use the khanacademy adaptor may require authentication. A","sidebar":"adaptors"},"packages/khanacademy-docs":{"id":"packages/khanacademy-docs","title":"khanacademy@0.4.1","description":"fetch","sidebar":"adaptors"},"packages/khanacademy-readme":{"id":"packages/khanacademy-readme","title":"khanacademy developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/khanacademy","sidebar":"adaptors"},"packages/kobotoolbox-changelog":{"id":"packages/kobotoolbox-changelog","title":"kobotoolbox changelog","description":"2.1.0","sidebar":"adaptors"},"packages/kobotoolbox-configuration-schema":{"id":"packages/kobotoolbox-configuration-schema","title":"Config for kobotoolbox","description":"Jobs that use the kobotoolbox adaptor may require authentication. A","sidebar":"adaptors"},"packages/kobotoolbox-docs":{"id":"packages/kobotoolbox-docs","title":"kobotoolbox@2.1.0","description":"Functions","sidebar":"adaptors"},"packages/kobotoolbox-readme":{"id":"packages/kobotoolbox-readme","title":"kobotoolbox developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/kobotoolbox","sidebar":"adaptors"},"packages/magpi-changelog":{"id":"packages/magpi-changelog","title":"magpi changelog","description":"1.1.1","sidebar":"adaptors"},"packages/magpi-configuration-schema":{"id":"packages/magpi-configuration-schema","title":"Config for magpi","description":"Jobs that use the magpi adaptor may require authentication. A","sidebar":"adaptors"},"packages/magpi-docs":{"id":"packages/magpi-docs","title":"magpi@1.1.1","description":"Functions","sidebar":"adaptors"},"packages/magpi-readme":{"id":"packages/magpi-readme","title":"magpi developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/magpi","sidebar":"adaptors"},"packages/mailchimp-changelog":{"id":"packages/mailchimp-changelog","title":"mailchimp changelog","description":"0.7.1","sidebar":"adaptors"},"packages/mailchimp-configuration-schema":{"id":"packages/mailchimp-configuration-schema","title":"Config for mailchimp","description":"Jobs that use the mailchimp adaptor may require authentication. A","sidebar":"adaptors"},"packages/mailchimp-docs":{"id":"packages/mailchimp-docs","title":"mailchimp@0.7.1","description":"Functions","sidebar":"adaptors"},"packages/mailchimp-readme":{"id":"packages/mailchimp-readme","title":"mailchimp developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/mailchimp","sidebar":"adaptors"},"packages/mailgun-changelog":{"id":"packages/mailgun-changelog","title":"mailgun changelog","description":"0.4.3","sidebar":"adaptors"},"packages/mailgun-configuration-schema":{"id":"packages/mailgun-configuration-schema","title":"Config for mailgun","description":"Jobs that use the mailgun adaptor may require authentication. A","sidebar":"adaptors"},"packages/mailgun-docs":{"id":"packages/mailgun-docs","title":"mailgun@0.4.3","description":"send","sidebar":"adaptors"},"packages/mailgun-readme":{"id":"packages/mailgun-readme","title":"mailgun developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/mailgun","sidebar":"adaptors"},"packages/maximo-changelog":{"id":"packages/maximo-changelog","title":"maximo changelog","description":"0.4.1","sidebar":"adaptors"},"packages/maximo-configuration-schema":{"id":"packages/maximo-configuration-schema","title":"Config for maximo","description":"Jobs that use the maximo adaptor may require authentication. A","sidebar":"adaptors"},"packages/maximo-docs":{"id":"packages/maximo-docs","title":"maximo@0.4.1","description":"Functions","sidebar":"adaptors"},"packages/maximo-readme":{"id":"packages/maximo-readme","title":"maximo developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/maximo","sidebar":"adaptors"},"packages/medicmobile-changelog":{"id":"packages/medicmobile-changelog","title":"medicmobile changelog","description":"0.4.2","sidebar":"adaptors"},"packages/medicmobile-configuration-schema":{"id":"packages/medicmobile-configuration-schema","title":"Config for medicmobile","description":"Jobs that use the medicmobile adaptor may require authentication. A","sidebar":"adaptors"},"packages/medicmobile-docs":{"id":"packages/medicmobile-docs","title":"medicmobile@0.4.2","description":"Functions","sidebar":"adaptors"},"packages/medicmobile-readme":{"id":"packages/medicmobile-readme","title":"medicmobile developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/medicmobile","sidebar":"adaptors"},"packages/mogli-changelog":{"id":"packages/mogli-changelog","title":"mogli changelog","description":"v0.1.6","sidebar":"adaptors"},"packages/mogli-configuration-schema":{"id":"packages/mogli-configuration-schema","title":"Config for mogli","description":"Jobs that use the mogli adaptor may require authentication. A","sidebar":"adaptors"},"packages/mogli-docs":{"id":"packages/mogli-docs","title":"mogli@0.4.1","description":"Functions","sidebar":"adaptors"},"packages/mogli-readme":{"id":"packages/mogli-readme","title":"mogli developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/mogli","sidebar":"adaptors"},"packages/mongodb-changelog":{"id":"packages/mongodb-changelog","title":"mongodb changelog","description":"2.0.0","sidebar":"adaptors"},"packages/mongodb-configuration-schema":{"id":"packages/mongodb-configuration-schema","title":"Config for mongodb","description":"Jobs that use the mongodb adaptor may require authentication. A","sidebar":"adaptors"},"packages/mongodb-docs":{"id":"packages/mongodb-docs","title":"mongodb@2.0.0","description":"Functions","sidebar":"adaptors"},"packages/mongodb-readme":{"id":"packages/mongodb-readme","title":"mongodb developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/mongodb","sidebar":"adaptors"},"packages/msgraph-changelog":{"id":"packages/msgraph-changelog","title":"msgraph changelog","description":"0.3.5","sidebar":"adaptors"},"packages/msgraph-configuration-schema":{"id":"packages/msgraph-configuration-schema","title":"Config for msgraph","description":"Jobs that use the msgraph adaptor may require authentication. A","sidebar":"adaptors"},"packages/msgraph-docs":{"id":"packages/msgraph-docs","title":"msgraph@0.3.5","description":"Functions","sidebar":"adaptors"},"packages/msgraph-readme":{"id":"packages/msgraph-readme","title":"msgraph developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/msgraph","sidebar":"adaptors"},"packages/mssql-changelog":{"id":"packages/mssql-changelog","title":"mssql changelog","description":"4.1.7","sidebar":"adaptors"},"packages/mssql-configuration-schema":{"id":"packages/mssql-configuration-schema","title":"Config for mssql","description":"Jobs that use the mssql adaptor may require authentication. A","sidebar":"adaptors"},"packages/mssql-docs":{"id":"packages/mssql-docs","title":"mssql@4.1.7","description":"Functions","sidebar":"adaptors"},"packages/mssql-readme":{"id":"packages/mssql-readme","title":"mssql developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/mssql","sidebar":"adaptors"},"packages/mysql-changelog":{"id":"packages/mysql-changelog","title":"mysql changelog","description":"1.4.7","sidebar":"adaptors"},"packages/mysql-configuration-schema":{"id":"packages/mysql-configuration-schema","title":"Config for mysql","description":"Jobs that use the mysql adaptor may require authentication. A","sidebar":"adaptors"},"packages/mysql-docs":{"id":"packages/mysql-docs","title":"mysql@1.4.7","description":"Functions","sidebar":"adaptors"},"packages/mysql-readme":{"id":"packages/mysql-readme","title":"mysql developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/mysql","sidebar":"adaptors"},"packages/nexmo-changelog":{"id":"packages/nexmo-changelog","title":"nexmo changelog","description":"0.4.2","sidebar":"adaptors"},"packages/nexmo-configuration-schema":{"id":"packages/nexmo-configuration-schema","title":"Config for nexmo","description":"Jobs that use the nexmo adaptor may require authentication. A","sidebar":"adaptors"},"packages/nexmo-docs":{"id":"packages/nexmo-docs","title":"nexmo@0.4.2","description":"sendSMS","sidebar":"adaptors"},"packages/nexmo-readme":{"id":"packages/nexmo-readme","title":"nexmo developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/nexmo","sidebar":"adaptors"},"packages/ocl-changelog":{"id":"packages/ocl-changelog","title":"ocl changelog","description":"1.1.6","sidebar":"adaptors"},"packages/ocl-configuration-schema":{"id":"packages/ocl-configuration-schema","title":"Config for ocl","description":"Jobs that use the ocl adaptor may require authentication. A","sidebar":"adaptors"},"packages/ocl-docs":{"id":"packages/ocl-docs","title":"ocl@1.1.6","description":"Functions","sidebar":"adaptors"},"packages/ocl-readme":{"id":"packages/ocl-readme","title":"ocl developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/ocl","sidebar":"adaptors"},"packages/openfn-changelog":{"id":"packages/openfn-changelog","title":"openfn changelog","description":"1.3.7","sidebar":"adaptors"},"packages/openfn-configuration-schema":{"id":"packages/openfn-configuration-schema","title":"Config for openfn","description":"Jobs that use the openfn adaptor may require authentication. A","sidebar":"adaptors"},"packages/openfn-docs":{"id":"packages/openfn-docs","title":"openfn@1.3.7","description":"request","sidebar":"adaptors"},"packages/openfn-readme":{"id":"packages/openfn-readme","title":"openfn developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/openfn","sidebar":"adaptors"},"packages/openhim-changelog":{"id":"packages/openhim-changelog","title":"openhim changelog","description":"0.2.1","sidebar":"adaptors"},"packages/openhim-configuration-schema":{"id":"packages/openhim-configuration-schema","title":"Config for openhim","description":"Jobs that use the openhim adaptor may require authentication. A","sidebar":"adaptors"},"packages/openhim-docs":{"id":"packages/openhim-docs","title":"openhim@0.2.1","description":"encounter","sidebar":"adaptors"},"packages/openhim-readme":{"id":"packages/openhim-readme","title":"openhim developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/openhim","sidebar":"adaptors"},"packages/openmrs-changelog":{"id":"packages/openmrs-changelog","title":"openmrs changelog","description":"2.0.7","sidebar":"adaptors"},"packages/openmrs-configuration-schema":{"id":"packages/openmrs-configuration-schema","title":"Config for openmrs","description":"Jobs that use the openmrs adaptor may require authentication. A","sidebar":"adaptors"},"packages/openmrs-docs":{"id":"packages/openmrs-docs","title":"openmrs@2.0.7","description":"Functions","sidebar":"adaptors"},"packages/openmrs-readme":{"id":"packages/openmrs-readme","title":"openmrs developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/openmrs","sidebar":"adaptors"},"packages/postgresql-changelog":{"id":"packages/postgresql-changelog","title":"postgresql changelog","description":"4.1.7","sidebar":"adaptors"},"packages/postgresql-configuration-schema":{"id":"packages/postgresql-configuration-schema","title":"Config for postgresql","description":"Jobs that use the postgresql adaptor may require authentication. A","sidebar":"adaptors"},"packages/postgresql-docs":{"id":"packages/postgresql-docs","title":"postgresql@4.1.7","description":"Functions","sidebar":"adaptors"},"packages/postgresql-readme":{"id":"packages/postgresql-readme","title":"postgresql developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/postgresql","sidebar":"adaptors"},"packages/primero-changelog":{"id":"packages/primero-changelog","title":"primero changelog","description":"2.11.7","sidebar":"adaptors"},"packages/primero-configuration-schema":{"id":"packages/primero-configuration-schema","title":"Config for primero","description":"Jobs that use the primero adaptor may require authentication. A","sidebar":"adaptors"},"packages/primero-docs":{"id":"packages/primero-docs","title":"primero@2.11.7","description":"Functions","sidebar":"adaptors"},"packages/primero-readme":{"id":"packages/primero-readme","title":"primero developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/primero","sidebar":"adaptors"},"packages/progres-changelog":{"id":"packages/progres-changelog","title":"progres changelog","description":"1.3.7","sidebar":"adaptors"},"packages/progres-configuration-schema":{"id":"packages/progres-configuration-schema","title":"Config for progres","description":"Jobs that use the progres adaptor may require authentication. A","sidebar":"adaptors"},"packages/progres-docs":{"id":"packages/progres-docs","title":"progres@1.3.7","description":"postData","sidebar":"adaptors"},"packages/progres-readme":{"id":"packages/progres-readme","title":"progres developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/progres","sidebar":"adaptors"},"packages/rapidpro-changelog":{"id":"packages/rapidpro-changelog","title":"rapidpro changelog","description":"1.0.7","sidebar":"adaptors"},"packages/rapidpro-configuration-schema":{"id":"packages/rapidpro-configuration-schema","title":"Config for rapidpro","description":"Jobs that use the rapidpro adaptor may require authentication. A","sidebar":"adaptors"},"packages/rapidpro-docs":{"id":"packages/rapidpro-docs","title":"rapidpro@1.0.7","description":"Functions","sidebar":"adaptors"},"packages/rapidpro-readme":{"id":"packages/rapidpro-readme","title":"rapidpro developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/rapidpro","sidebar":"adaptors"},"packages/resourcemap-changelog":{"id":"packages/resourcemap-changelog","title":"resourcemap changelog","description":"0.3.1","sidebar":"adaptors"},"packages/resourcemap-configuration-schema":{"id":"packages/resourcemap-configuration-schema","title":"Config for resourcemap","description":"Jobs that use the resourcemap adaptor may require authentication. A","sidebar":"adaptors"},"packages/resourcemap-docs":{"id":"packages/resourcemap-docs","title":"resourcemap@0.3.1","description":"submitSite","sidebar":"adaptors"},"packages/resourcemap-readme":{"id":"packages/resourcemap-readme","title":"resourcemap developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/resourcemap","sidebar":"adaptors"},"packages/salesforce-changelog":{"id":"packages/salesforce-changelog","title":"salesforce changelog","description":"4.2.0","sidebar":"adaptors"},"packages/salesforce-configuration-schema":{"id":"packages/salesforce-configuration-schema","title":"Config for salesforce","description":"Jobs that use the salesforce adaptor may require authentication. A","sidebar":"adaptors"},"packages/salesforce-docs":{"id":"packages/salesforce-docs","title":"salesforce@4.2.0","description":"Functions","sidebar":"adaptors"},"packages/salesforce-readme":{"id":"packages/salesforce-readme","title":"salesforce developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/salesforce","sidebar":"adaptors"},"packages/sftp-changelog":{"id":"packages/sftp-changelog","title":"sftp changelog","description":"0.8.7","sidebar":"adaptors"},"packages/sftp-configuration-schema":{"id":"packages/sftp-configuration-schema","title":"Config for sftp","description":"Jobs that use the sftp adaptor may require authentication. A","sidebar":"adaptors"},"packages/sftp-docs":{"id":"packages/sftp-docs","title":"sftp@0.8.7","description":"Functions","sidebar":"adaptors"},"packages/sftp-readme":{"id":"packages/sftp-readme","title":"sftp developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/sftp","sidebar":"adaptors"},"packages/smpp-changelog":{"id":"packages/smpp-changelog","title":"smpp changelog","description":"1.3.1","sidebar":"adaptors"},"packages/smpp-configuration-schema":{"id":"packages/smpp-configuration-schema","title":"Config for smpp","description":"Jobs that use the smpp adaptor may require authentication. A","sidebar":"adaptors"},"packages/smpp-docs":{"id":"packages/smpp-docs","title":"smpp@1.3.1","description":"","sidebar":"adaptors"},"packages/smpp-readme":{"id":"packages/smpp-readme","title":"smpp developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/smpp","sidebar":"adaptors"},"packages/surveycto-changelog":{"id":"packages/surveycto-changelog","title":"surveycto changelog","description":"1.2.1","sidebar":"adaptors"},"packages/surveycto-configuration-schema":{"id":"packages/surveycto-configuration-schema","title":"Config for surveycto","description":"Jobs that use the surveycto adaptor may require authentication. A","sidebar":"adaptors"},"packages/surveycto-docs":{"id":"packages/surveycto-docs","title":"surveycto@1.2.1","description":"fetchSubmissions","sidebar":"adaptors"},"packages/surveycto-readme":{"id":"packages/surveycto-readme","title":"surveycto developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/surveycto","sidebar":"adaptors"},"packages/telerivet-changelog":{"id":"packages/telerivet-changelog","title":"telerivet changelog","description":"0.2.1","sidebar":"adaptors"},"packages/telerivet-configuration-schema":{"id":"packages/telerivet-configuration-schema","title":"Config for telerivet","description":"Jobs that use the telerivet adaptor may require authentication. A","sidebar":"adaptors"},"packages/telerivet-docs":{"id":"packages/telerivet-docs","title":"telerivet@0.2.1","description":"send","sidebar":"adaptors"},"packages/telerivet-readme":{"id":"packages/telerivet-readme","title":"telerivet developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/telerivet","sidebar":"adaptors"},"packages/template-changelog":{"id":"packages/template-changelog","title":"template changelog","description":"3.0.1","sidebar":"adaptors"},"packages/template-configuration-schema":{"id":"packages/template-configuration-schema","title":"Config for template","description":"Jobs that use the template adaptor may require authentication. A","sidebar":"adaptors"},"packages/template-docs":{"id":"packages/template-docs","title":"template@3.0.1","description":"create","sidebar":"adaptors"},"packages/template-readme":{"id":"packages/template-readme","title":"template developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/template","sidebar":"adaptors"},"packages/twilio-changelog":{"id":"packages/twilio-changelog","title":"twilio changelog","description":"0.4.1","sidebar":"adaptors"},"packages/twilio-configuration-schema":{"id":"packages/twilio-configuration-schema","title":"Config for twilio","description":"Jobs that use the twilio adaptor may require authentication. A","sidebar":"adaptors"},"packages/twilio-docs":{"id":"packages/twilio-docs","title":"twilio@0.4.1","description":"sendSMS","sidebar":"adaptors"},"packages/twilio-readme":{"id":"packages/twilio-readme","title":"twilio developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/twilio","sidebar":"adaptors"},"packages/vtiger-changelog":{"id":"packages/vtiger-changelog","title":"vtiger changelog","description":"1.2.1","sidebar":"adaptors"},"packages/vtiger-configuration-schema":{"id":"packages/vtiger-configuration-schema","title":"Config for vtiger","description":"Jobs that use the vtiger adaptor may require authentication. A","sidebar":"adaptors"},"packages/vtiger-docs":{"id":"packages/vtiger-docs","title":"vtiger@1.2.1","description":"","sidebar":"adaptors"},"packages/vtiger-readme":{"id":"packages/vtiger-readme","title":"vtiger developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/vtiger","sidebar":"adaptors"},"packages/zoho-changelog":{"id":"packages/zoho-changelog","title":"zoho changelog","description":"0.3.1","sidebar":"adaptors"},"packages/zoho-configuration-schema":{"id":"packages/zoho-configuration-schema","title":"Config for zoho","description":"Jobs that use the zoho adaptor may require authentication. A","sidebar":"adaptors"},"packages/zoho-docs":{"id":"packages/zoho-docs","title":"zoho@0.3.1","description":"addRow","sidebar":"adaptors"},"packages/zoho-readme":{"id":"packages/zoho-readme","title":"zoho developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/zoho","sidebar":"adaptors"},"postgresql":{"id":"postgresql","title":"PostgreSQL","description":"Overview","sidebar":"adaptors"},"powerbi":{"id":"powerbi","title":"Power BI","description":"(Work in progress)","sidebar":"adaptors"},"primero":{"id":"primero","title":"Primero","description":"Overview","sidebar":"adaptors"},"salesforce":{"id":"salesforce","title":"Salesforce","description":"App Overview","sidebar":"adaptors"},"surveycto":{"id":"surveycto","title":"SurveyCTO","description":"Real-time (with webhooks)","sidebar":"adaptors"},"tableau":{"id":"tableau","title":"Tableau","description":"(Work in progress)","sidebar":"adaptors"}}}')}}]); \ No newline at end of file +"use strict";(self.webpackChunk_openfn_docs=self.webpackChunk_openfn_docs||[]).push([[85960],{73451:a=>{a.exports=JSON.parse('{"pluginId":"adaptors","version":"current","label":"Next","banner":null,"badge":false,"noIndex":false,"className":"docs-version-current","isLast":true,"docsSidebars":{"adaptors":[{"type":"link","label":"Introduction","href":"/adaptors/","docId":"adaptors-intro"},{"type":"link","label":"Library Examples","href":"/adaptors/library","docId":"library-intro"},{"type":"category","label":"asana","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/asana-docs","docId":"packages/asana-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/asana-configuration-schema","docId":"packages/asana-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/asana-changelog","docId":"packages/asana-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/asana-readme","docId":"packages/asana-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"beyonic","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/beyonic-docs","docId":"packages/beyonic-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/beyonic-configuration-schema","docId":"packages/beyonic-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"Pay CHW","href":"/adaptors/library/jobs/auto/Pay-CHW-2021-04-23","docId":"library/jobs/auto/Pay-CHW-2021-04-23"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/beyonic-changelog","docId":"packages/beyonic-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/beyonic-readme","docId":"packages/beyonic-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"bigquery","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/bigquery-docs","docId":"packages/bigquery-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/bigquery-configuration-schema","docId":"packages/bigquery-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/bigquery-changelog","docId":"packages/bigquery-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/bigquery-readme","docId":"packages/bigquery-readme"}],"collapsed":true,"collapsible":true},{"type":"link","label":"cht","href":"/adaptors/cht","docId":"cht"},{"type":"link","label":"ckan","href":"/adaptors/ckan","docId":"ckan"},{"type":"category","label":"commcare","items":[{"type":"link","label":"Overview","href":"/adaptors/commcare","docId":"commcare"},{"type":"link","label":"Functions","href":"/adaptors/packages/commcare-docs","docId":"packages/commcare-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/commcare-configuration-schema","docId":"packages/commcare-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"\u2728 Q3 2022] Update HH Name in CommCare","href":"/adaptors/library/jobs/auto/Q3-2022-Update-HH-Name-in-CommCare-2021-09-27","docId":"library/jobs/auto/Q3-2022-Update-HH-Name-in-CommCare-2021-09-27"},{"type":"link","label":"nawiri","href":"/adaptors/library/jobs/auto/nawiri-2023-05-03","docId":"library/jobs/auto/nawiri-2023-05-03"},{"type":"link","label":"Registration forms(new case)","href":"/adaptors/library/jobs/auto/Registration-forms-new-case-2023-06-22","docId":"library/jobs/auto/Registration-forms-new-case-2023-06-22"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/commcare-changelog","docId":"packages/commcare-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/commcare-readme","docId":"packages/commcare-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"common","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/common-docs","docId":"packages/common-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/common-configuration-schema","docId":"packages/common-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/common-changelog","docId":"packages/common-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/common-readme","docId":"packages/common-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"dhis2","items":[{"type":"link","label":"Overview","href":"/adaptors/dhis2","docId":"dhis2"},{"type":"link","label":"Functions","href":"/adaptors/packages/dhis2-docs","docId":"packages/dhis2-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/dhis2-configuration-schema","docId":"packages/dhis2-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"\ud83d\udcdc Add data values","href":"/adaptors/library/jobs/auto/DHIS2-DataValues-API","docId":"library/jobs/auto/DHIS2-DataValues-API"},{"type":"link","label":"\ud83d\udcdc Add events","href":"/adaptors/library/jobs/auto/DHIS2-Events-API","docId":"library/jobs/auto/DHIS2-Events-API"},{"type":"link","label":"\u2728 Load to DHIS2","href":"/adaptors/library/jobs/auto/Load-to-DHIS2-2023-07-17","docId":"library/jobs/auto/Load-to-DHIS2-2023-07-17"},{"type":"link","label":"Create TEI (dhis2)","href":"/adaptors/library/jobs/auto/Create-TEI-dhis2-2021-03-22","docId":"library/jobs/auto/Create-TEI-dhis2-2021-03-22"},{"type":"link","label":"CHW case to DHIS2","href":"/adaptors/library/jobs/auto/CHW-case-to-DHIS2-2023-04-27","docId":"library/jobs/auto/CHW-case-to-DHIS2-2023-04-27"},{"type":"link","label":"0 - Get TEI data","href":"/adaptors/library/jobs/auto/0-Get-TEI-data-2021-06-02","docId":"library/jobs/auto/0-Get-TEI-data-2021-06-02"},{"type":"link","label":"DHIS2 Events","href":"/adaptors/library/jobs/auto/DHIS2-Events-2016-01-27","docId":"library/jobs/auto/DHIS2-Events-2016-01-27"},{"type":"link","label":"Add DHIS2 Data Value Sets","href":"/adaptors/library/jobs/auto/Add-DHIS2-Data-Value-Sets-2016-03-28","docId":"library/jobs/auto/Add-DHIS2-Data-Value-Sets-2016-03-28"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/dhis2-changelog","docId":"packages/dhis2-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/dhis2-readme","docId":"packages/dhis2-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"dynamics","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/dynamics-docs","docId":"packages/dynamics-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/dynamics-configuration-schema","docId":"packages/dynamics-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/dynamics-changelog","docId":"packages/dynamics-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/dynamics-readme","docId":"packages/dynamics-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"facebook","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/facebook-docs","docId":"packages/facebook-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/facebook-configuration-schema","docId":"packages/facebook-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/facebook-changelog","docId":"packages/facebook-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/facebook-readme","docId":"packages/facebook-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"fhir","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/fhir-docs","docId":"packages/fhir-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/fhir-configuration-schema","docId":"packages/fhir-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/fhir-changelog","docId":"packages/fhir-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/fhir-readme","docId":"packages/fhir-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"godata","items":[{"type":"link","label":"Overview","href":"/adaptors/godata","docId":"godata"},{"type":"link","label":"Functions","href":"/adaptors/packages/godata-docs","docId":"packages/godata-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/godata-configuration-schema","docId":"packages/godata-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/godata-changelog","docId":"packages/godata-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/godata-readme","docId":"packages/godata-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"googlehealthcare","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/googlehealthcare-docs","docId":"packages/googlehealthcare-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/googlehealthcare-configuration-schema","docId":"packages/googlehealthcare-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/googlehealthcare-changelog","docId":"packages/googlehealthcare-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/googlehealthcare-readme","docId":"packages/googlehealthcare-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"googlesheets","items":[{"type":"link","label":"Overview","href":"/adaptors/googlesheets","docId":"googlesheets"},{"type":"link","label":"Functions","href":"/adaptors/packages/googlesheets-docs","docId":"packages/googlesheets-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/googlesheets-configuration-schema","docId":"packages/googlesheets-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"Register Patient","href":"/adaptors/library/jobs/auto/Register-Patient-2021-03-02","docId":"library/jobs/auto/Register-Patient-2021-03-02"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/googlesheets-changelog","docId":"packages/googlesheets-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/googlesheets-readme","docId":"packages/googlesheets-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"http","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/http-docs","docId":"packages/http-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/http-configuration-schema","docId":"packages/http-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"\ud83d\udcdc Extract Kobo data from API to send to OpenFn Inbox","href":"/adaptors/library/jobs/auto/getKoboData","docId":"library/jobs/auto/getKoboData"},{"type":"link","label":"\ud83d\udcdc Using async and array.map","href":"/adaptors/library/jobs/auto/async-and-array-dot-map","docId":"library/jobs/auto/async-and-array-dot-map"},{"type":"link","label":"\ud83d\udcdc Chaining HTTP Requests","href":"/adaptors/library/jobs/auto/complex-http-request-chains","docId":"library/jobs/auto/complex-http-request-chains"},{"type":"link","label":"\ud83d\udcdc Promises and nested requests","href":"/adaptors/library/jobs/auto/promise-all-nested-requests","docId":"library/jobs/auto/promise-all-nested-requests"},{"type":"link","label":"\ud83d\udcdc Timeout to create a delay","href":"/adaptors/library/jobs/auto/timeout","docId":"library/jobs/auto/timeout"},{"type":"link","label":"\ud83d\udcdc Chaining synchronous http requests","href":"/adaptors/library/jobs/auto/synchronous-http-request","docId":"library/jobs/auto/synchronous-http-request"},{"type":"link","label":"\u2728 WF3-1. Bulk get Person Visit cases","href":"/adaptors/library/jobs/auto/WF3-1-Bulk-get-Person-Visit-cases-2023-05-19","docId":"library/jobs/auto/WF3-1-Bulk-get-Person-Visit-cases-2023-05-19"},{"type":"link","label":"\u2728 WF2-1. Bulk get Person cases","href":"/adaptors/library/jobs/auto/WF2-1-Bulk-get-Person-cases-2023-05-19","docId":"library/jobs/auto/WF2-1-Bulk-get-Person-cases-2023-05-19"},{"type":"link","label":"\u2728 WF4-1. Bulk get Referral Cases","href":"/adaptors/library/jobs/auto/WF4-1-Bulk-get-Referral-Cases-2023-05-19","docId":"library/jobs/auto/WF4-1-Bulk-get-Referral-Cases-2023-05-19"},{"type":"link","label":"\u2728 WF1-1. Bulk get HH cases","href":"/adaptors/library/jobs/auto/WF1-1-Bulk-get-HH-cases-2023-05-19","docId":"library/jobs/auto/WF1-1-Bulk-get-HH-cases-2023-05-19"},{"type":"link","label":"Fetch Claims","href":"/adaptors/library/jobs/auto/Fetch-Claims-2023-07-17","docId":"library/jobs/auto/Fetch-Claims-2023-07-17"},{"type":"link","label":"no return","href":"/adaptors/library/jobs/auto/no-return-2023-01-06","docId":"library/jobs/auto/no-return-2023-01-06"},{"type":"link","label":"Catch Error in HTTP Request","href":"/adaptors/library/jobs/auto/Catch-Error-in-HTTP-Request-2016-08-26","docId":"library/jobs/auto/Catch-Error-in-HTTP-Request-2016-08-26"},{"type":"link","label":"Get CommCare Forms (Bulk Extract)","href":"/adaptors/library/jobs/auto/Get-CommCare-Forms-Bulk-Extract-2022-05-16","docId":"library/jobs/auto/Get-CommCare-Forms-Bulk-Extract-2022-05-16"},{"type":"link","label":"aleksa cron","href":"/adaptors/library/jobs/auto/aleksa-cron-2022-04-29","docId":"library/jobs/auto/aleksa-cron-2022-04-29"},{"type":"link","label":"1. Get CommCare Forms (Bulk Extract)","href":"/adaptors/library/jobs/auto/1-Get-CommCare-Forms-Bulk-Extract-2021-04-08","docId":"library/jobs/auto/1-Get-CommCare-Forms-Bulk-Extract-2021-04-08"},{"type":"link","label":"Request Vitas Sync","href":"/adaptors/library/jobs/auto/Request-Vitas-Sync-2021-05-11","docId":"library/jobs/auto/Request-Vitas-Sync-2021-05-11"},{"type":"link","label":"Failed Payment Notification","href":"/adaptors/library/jobs/auto/Failed-Payment-Notification-2021-04-23","docId":"library/jobs/auto/Failed-Payment-Notification-2021-04-23"},{"type":"link","label":"02b/ Initiate Payments","href":"/adaptors/library/jobs/auto/02b-Initiate-Payments-2019-11-19","docId":"library/jobs/auto/02b-Initiate-Payments-2019-11-19"},{"type":"link","label":"01c/ Create person_position record","href":"/adaptors/library/jobs/auto/01c-Create-person_position-record-2019-12-13","docId":"library/jobs/auto/01c-Create-person_position-record-2019-12-13"},{"type":"link","label":"01a/ Create Registrants","href":"/adaptors/library/jobs/auto/01a-Create-Registrants-2019-11-19","docId":"library/jobs/auto/01a-Create-Registrants-2019-11-19"},{"type":"link","label":"05b/Update ODK eval form","href":"/adaptors/library/jobs/auto/05b-Update-ODK-eval-form-2019-12-19","docId":"library/jobs/auto/05b-Update-ODK-eval-form-2019-12-19"},{"type":"link","label":"05/ Submit employee evaluation","href":"/adaptors/library/jobs/auto/05-Submit-employee-evaluation-2019-12-03","docId":"library/jobs/auto/05-Submit-employee-evaluation-2019-12-03"},{"type":"link","label":"04b/ Update ODK form","href":"/adaptors/library/jobs/auto/04b-Update-ODK-form-2019-12-03","docId":"library/jobs/auto/04b-Update-ODK-form-2019-12-03"},{"type":"link","label":"commcare reports api","href":"/adaptors/library/jobs/auto/commcare-reports-api-2016-08-29","docId":"library/jobs/auto/commcare-reports-api-2016-08-29"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/http-changelog","docId":"packages/http-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/http-readme","docId":"packages/http-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"khanacademy","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/khanacademy-docs","docId":"packages/khanacademy-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/khanacademy-configuration-schema","docId":"packages/khanacademy-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/khanacademy-changelog","docId":"packages/khanacademy-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/khanacademy-readme","docId":"packages/khanacademy-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"kobotoolbox","items":[{"type":"link","label":"Overview","href":"/adaptors/kobotoolbox","docId":"kobotoolbox"},{"type":"link","label":"Functions","href":"/adaptors/packages/kobotoolbox-docs","docId":"packages/kobotoolbox-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/kobotoolbox-configuration-schema","docId":"packages/kobotoolbox-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"GET Data From KoboToolbox","href":"/adaptors/library/jobs/auto/GET-Data-From-KoboToolbox-2022-03-22","docId":"library/jobs/auto/GET-Data-From-KoboToolbox-2022-03-22"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/kobotoolbox-changelog","docId":"packages/kobotoolbox-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/kobotoolbox-readme","docId":"packages/kobotoolbox-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"magpi","items":[{"type":"link","label":"Overview","href":"/adaptors/magpi","docId":"magpi"},{"type":"link","label":"Functions","href":"/adaptors/packages/magpi-docs","docId":"packages/magpi-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/magpi-configuration-schema","docId":"packages/magpi-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/magpi-changelog","docId":"packages/magpi-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/magpi-readme","docId":"packages/magpi-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"mailchimp","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/mailchimp-docs","docId":"packages/mailchimp-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/mailchimp-configuration-schema","docId":"packages/mailchimp-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/mailchimp-changelog","docId":"packages/mailchimp-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/mailchimp-readme","docId":"packages/mailchimp-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"mailgun","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/mailgun-docs","docId":"packages/mailgun-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/mailgun-configuration-schema","docId":"packages/mailgun-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"\ud83d\udcdc send email","href":"/adaptors/library/jobs/auto/send-mail-in-mailgun","docId":"library/jobs/auto/send-mail-in-mailgun"},{"type":"link","label":"01 send mailgun email","href":"/adaptors/library/jobs/auto/01-send-mailgun-email-2018-12-04","docId":"library/jobs/auto/01-send-mailgun-email-2018-12-04"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/mailgun-changelog","docId":"packages/mailgun-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/mailgun-readme","docId":"packages/mailgun-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"maximo","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/maximo-docs","docId":"packages/maximo-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/maximo-configuration-schema","docId":"packages/maximo-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/maximo-changelog","docId":"packages/maximo-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/maximo-readme","docId":"packages/maximo-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"medicmobile","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/medicmobile-docs","docId":"packages/medicmobile-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/medicmobile-configuration-schema","docId":"packages/medicmobile-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/medicmobile-changelog","docId":"packages/medicmobile-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/medicmobile-readme","docId":"packages/medicmobile-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"mogli","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/mogli-docs","docId":"packages/mogli-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/mogli-configuration-schema","docId":"packages/mogli-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/mogli-changelog","docId":"packages/mogli-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/mogli-readme","docId":"packages/mogli-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"mongodb","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/mongodb-docs","docId":"packages/mongodb-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/mongodb-configuration-schema","docId":"packages/mongodb-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/mongodb-changelog","docId":"packages/mongodb-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/mongodb-readme","docId":"packages/mongodb-readme"}],"collapsed":true,"collapsible":true},{"type":"link","label":"moodle","href":"/adaptors/moodle","docId":"moodle"},{"type":"category","label":"msgraph","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/msgraph-docs","docId":"packages/msgraph-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/msgraph-configuration-schema","docId":"packages/msgraph-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/msgraph-changelog","docId":"packages/msgraph-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/msgraph-readme","docId":"packages/msgraph-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"mssql","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/mssql-docs","docId":"packages/mssql-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/mssql-configuration-schema","docId":"packages/mssql-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"Extract Vitas Data","href":"/adaptors/library/jobs/auto/Extract-Vitas-Data-2021-05-11","docId":"library/jobs/auto/Extract-Vitas-Data-2021-05-11"},{"type":"link","label":"CommCare to Azure Sql","href":"/adaptors/library/jobs/auto/CommCare-to-Azure-Sql-2020-01-27","docId":"library/jobs/auto/CommCare-to-Azure-Sql-2020-01-27"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/mssql-changelog","docId":"packages/mssql-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/mssql-readme","docId":"packages/mssql-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"mysql","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/mysql-docs","docId":"packages/mysql-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/mysql-configuration-schema","docId":"packages/mysql-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"01b/ Query new person record","href":"/adaptors/library/jobs/auto/01b-Query-new-person-record-2019-12-13","docId":"library/jobs/auto/01b-Query-new-person-record-2019-12-13"},{"type":"link","label":"03/ Update Payment Status","href":"/adaptors/library/jobs/auto/03-Update-Payment-Status-2019-11-19","docId":"library/jobs/auto/03-Update-Payment-Status-2019-11-19"},{"type":"link","label":"05a/Query for new employees","href":"/adaptors/library/jobs/auto/05a-Query-for-new-employees-2019-12-19","docId":"library/jobs/auto/05a-Query-for-new-employees-2019-12-19"},{"type":"link","label":"04a/Query for job changes","href":"/adaptors/library/jobs/auto/04a-Query-for-job-changes-2019-12-12","docId":"library/jobs/auto/04a-Query-for-job-changes-2019-12-12"},{"type":"link","label":"02a/ Query DB for people to pay","href":"/adaptors/library/jobs/auto/02a-Query-DB-for-people-to-pay-2019-12-11","docId":"library/jobs/auto/02a-Query-DB-for-people-to-pay-2019-12-11"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/mysql-changelog","docId":"packages/mysql-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/mysql-readme","docId":"packages/mysql-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"nexmo","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/nexmo-docs","docId":"packages/nexmo-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/nexmo-configuration-schema","docId":"packages/nexmo-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/nexmo-changelog","docId":"packages/nexmo-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/nexmo-readme","docId":"packages/nexmo-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"ocl","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/ocl-docs","docId":"packages/ocl-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/ocl-configuration-schema","docId":"packages/ocl-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/ocl-changelog","docId":"packages/ocl-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/ocl-readme","docId":"packages/ocl-readme"}],"collapsed":true,"collapsible":true},{"type":"link","label":"odk","href":"/adaptors/odk","docId":"odk"},{"type":"link","label":"ona","href":"/adaptors/ona","docId":"ona"},{"type":"category","label":"openfn","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/openfn-docs","docId":"packages/openfn-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/openfn-configuration-schema","docId":"packages/openfn-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/openfn-changelog","docId":"packages/openfn-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/openfn-readme","docId":"packages/openfn-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"openhim","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/openhim-docs","docId":"packages/openhim-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/openhim-configuration-schema","docId":"packages/openhim-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"\ud83d\udcdc Create encounter in OpenHIM","href":"/adaptors/library/jobs/auto/CommCare-FHIR","docId":"library/jobs/auto/CommCare-FHIR"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/openhim-changelog","docId":"packages/openhim-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/openhim-readme","docId":"packages/openhim-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"openmrs","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/openmrs-docs","docId":"packages/openmrs-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/openmrs-configuration-schema","docId":"packages/openmrs-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"Create Person in OpenMRS","href":"/adaptors/library/jobs/auto/Create-Person-in-OpenMRS-2016-02-12","docId":"library/jobs/auto/Create-Person-in-OpenMRS-2016-02-12"},{"type":"link","label":"Create Patient in OpenMRS","href":"/adaptors/library/jobs/auto/Create-Patient-in-OpenMRS-2019-10-24","docId":"library/jobs/auto/Create-Patient-in-OpenMRS-2019-10-24"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/openmrs-changelog","docId":"packages/openmrs-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/openmrs-readme","docId":"packages/openmrs-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"postgresql","items":[{"type":"link","label":"Overview","href":"/adaptors/postgresql","docId":"postgresql"},{"type":"link","label":"Functions","href":"/adaptors/packages/postgresql-docs","docId":"packages/postgresql-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/postgresql-configuration-schema","docId":"packages/postgresql-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"\ud83d\udcdc Using findValue with an array of data","href":"/adaptors/library/jobs/auto/async-findValue","docId":"library/jobs/auto/async-findValue"},{"type":"link","label":"1. Get data from SLUHIS","href":"/adaptors/library/jobs/auto/1-Get-data-from-SLUHIS-2023-03-08","docId":"library/jobs/auto/1-Get-data-from-SLUHIS-2023-03-08"},{"type":"link","label":"Load to DB","href":"/adaptors/library/jobs/auto/Load-to-DB-2022-05-16","docId":"library/jobs/auto/Load-to-DB-2022-05-16"},{"type":"link","label":"Load / Upsert Data into PostgreSQL","href":"/adaptors/library/jobs/auto/Load-Upsert-Data-into-PostgreSQL-2022-03-22","docId":"library/jobs/auto/Load-Upsert-Data-into-PostgreSQL-2022-03-22"},{"type":"link","label":"Upsert to mBrana","href":"/adaptors/library/jobs/auto/Upsert-to-mBrana-2021-05-11","docId":"library/jobs/auto/Upsert-to-mBrana-2021-05-11"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/postgresql-changelog","docId":"packages/postgresql-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/postgresql-readme","docId":"packages/postgresql-readme"}],"collapsed":true,"collapsible":true},{"type":"link","label":"powerbi","href":"/adaptors/powerbi","docId":"powerbi"},{"type":"category","label":"primero","items":[{"type":"link","label":"Overview","href":"/adaptors/primero","docId":"primero"},{"type":"link","label":"Functions","href":"/adaptors/packages/primero-docs","docId":"packages/primero-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/primero-configuration-schema","docId":"packages/primero-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"Get cases from Primero","href":"/adaptors/library/jobs/auto/Get-cases-from-Primero-2021-09-23","docId":"library/jobs/auto/Get-cases-from-Primero-2021-09-23"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/primero-changelog","docId":"packages/primero-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/primero-readme","docId":"packages/primero-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"progres","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/progres-docs","docId":"packages/progres-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/progres-configuration-schema","docId":"packages/progres-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/progres-changelog","docId":"packages/progres-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/progres-readme","docId":"packages/progres-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"rapidpro","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/rapidpro-docs","docId":"packages/rapidpro-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/rapidpro-configuration-schema","docId":"packages/rapidpro-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/rapidpro-changelog","docId":"packages/rapidpro-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/rapidpro-readme","docId":"packages/rapidpro-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"resourcemap","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/resourcemap-docs","docId":"packages/resourcemap-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/resourcemap-configuration-schema","docId":"packages/resourcemap-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/resourcemap-changelog","docId":"packages/resourcemap-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/resourcemap-readme","docId":"packages/resourcemap-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"salesforce","items":[{"type":"link","label":"Overview","href":"/adaptors/salesforce","docId":"salesforce"},{"type":"link","label":"Functions","href":"/adaptors/packages/salesforce-docs","docId":"packages/salesforce-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/salesforce-configuration-schema","docId":"packages/salesforce-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"\ud83d\udcdc Pre-processing data","href":"/adaptors/library/jobs/auto/alter-state-before-operations","docId":"library/jobs/auto/alter-state-before-operations"},{"type":"link","label":"\ud83d\udcdc Using merge and each","href":"/adaptors/library/jobs/auto/bring-formId-into-data-array-then-create-parent-and-children-in-salesforce","docId":"library/jobs/auto/bring-formId-into-data-array-then-create-parent-and-children-in-salesforce"},{"type":"link","label":"\ud83d\udcdc Using promises","href":"/adaptors/library/jobs/auto/complex-state-control","docId":"library/jobs/auto/complex-state-control"},{"type":"link","label":"\ud83d\udcdc Concat fields with nulls","href":"/adaptors/library/jobs/auto/concatenate-many-fields-with-nulls","docId":"library/jobs/auto/concatenate-many-fields-with-nulls"},{"type":"link","label":"\ud83d\udcdc Create/update records if...","href":"/adaptors/library/jobs/auto/create-if-proposal","docId":"library/jobs/auto/create-if-proposal"},{"type":"link","label":"\ud83d\udcdc Create SMS linked to contact","href":"/adaptors/library/jobs/auto/Create-SMS-Linked-to-Contact-in-SF","docId":"library/jobs/auto/Create-SMS-Linked-to-Contact-in-SF"},{"type":"link","label":"\ud83d\udcdc Handling multiple ODK repeat groups","href":"/adaptors/library/jobs/auto/ODK-Create-Many-Records-Moving-In-And-Out-Of-Repeat-Blocks","docId":"library/jobs/auto/ODK-Create-Many-Records-Moving-In-And-Out-Of-Repeat-Blocks"},{"type":"link","label":"\ud83d\udcdc Merge data into child array then upsert","href":"/adaptors/library/jobs/auto/upsert-many-items-in-array-with-value-outside-array","docId":"library/jobs/auto/upsert-many-items-in-array-with-value-outside-array"},{"type":"link","label":"\u2728 Upsert Pre Challenges","href":"/adaptors/library/jobs/auto/Upsert-Pre-Challenges-2021-04-30","docId":"library/jobs/auto/Upsert-Pre-Challenges-2021-04-30"},{"type":"link","label":"\u2728 Attendance Non Skillz","href":"/adaptors/library/jobs/auto/Attendance-Non-Skillz-2021-06-14","docId":"library/jobs/auto/Attendance-Non-Skillz-2021-06-14"},{"type":"link","label":"\u2728 Upsert Post Challenges","href":"/adaptors/library/jobs/auto/Upsert-Post-Challenges-2021-04-30","docId":"library/jobs/auto/Upsert-Post-Challenges-2021-04-30"},{"type":"link","label":"WF3-2a/ Repeat Failed Person Visits","href":"/adaptors/library/jobs/auto/WF3-2a-Repeat-Failed-Person-Visits-2023-05-31","docId":"library/jobs/auto/WF3-2a-Repeat-Failed-Person-Visits-2023-05-31"},{"type":"link","label":"Upsert Register Participant (Skillz)","href":"/adaptors/library/jobs/auto/Upsert-Register-Participant-Skillz-2021-08-30","docId":"library/jobs/auto/Upsert-Register-Participant-Skillz-2021-08-30"},{"type":"link","label":"\u2728 Upsert Register Participant","href":"/adaptors/library/jobs/auto/Upsert-Register-Participant-2021-04-28","docId":"library/jobs/auto/Upsert-Register-Participant-2021-04-28"},{"type":"link","label":"\u2728 Coach Session Register","href":"/adaptors/library/jobs/auto/Coach-Session-Register-2021-05-03","docId":"library/jobs/auto/Coach-Session-Register-2021-05-03"},{"type":"link","label":"\u2728 WF2-2. Bulk upsert Persons","href":"/adaptors/library/jobs/auto/WF2-2-Bulk-upsert-Persons-2023-05-19","docId":"library/jobs/auto/WF2-2-Bulk-upsert-Persons-2023-05-19"},{"type":"link","label":"\u2728 Create Intervention","href":"/adaptors/library/jobs/auto/Create-Intervention-2021-04-08","docId":"library/jobs/auto/Create-Intervention-2021-04-08"},{"type":"link","label":"\u2728 WF3-2. Bulk upsert Person Visits","href":"/adaptors/library/jobs/auto/WF3-2-Bulk-upsert-Person-Visits-2023-05-19","docId":"library/jobs/auto/WF3-2-Bulk-upsert-Person-Visits-2023-05-19"},{"type":"link","label":"\u2728 WF1-2. Bulk upsert HHs and HH Visits","href":"/adaptors/library/jobs/auto/WF1-2-Bulk-upsert-HHs-and-HH-Visits-2023-05-19","docId":"library/jobs/auto/WF1-2-Bulk-upsert-HHs-and-HH-Visits-2023-05-19"},{"type":"link","label":"\u2728 WF4-2. Bulk upsert Services","href":"/adaptors/library/jobs/auto/WF4-2-Bulk-upsert-Services-2023-05-19","docId":"library/jobs/auto/WF4-2-Bulk-upsert-Services-2023-05-19"},{"type":"link","label":"Q3 2022] Upsert Person Visit","href":"/adaptors/library/jobs/auto/Q3-2022-Upsert-Person-Visit-2022-06-28","docId":"library/jobs/auto/Q3-2022-Upsert-Person-Visit-2022-06-28"},{"type":"link","label":"Q4 2022] Upsert Supervision - Accompaniment","href":"/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Accompaniment-2022-08-22","docId":"library/jobs/auto/Q4-2022-Upsert-Supervision-Accompaniment-2022-08-22"},{"type":"link","label":"Q4 2022] Upsert Supervision - Household Spot Check","href":"/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Household-Spot-Check-2022-08-24","docId":"library/jobs/auto/Q4-2022-Upsert-Supervision-Household-Spot-Check-2022-08-24"},{"type":"link","label":"Q4 2022] Upsert Supervision - Feedback","href":"/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Feedback-2022-08-19","docId":"library/jobs/auto/Q4-2022-Upsert-Supervision-Feedback-2022-08-19"},{"type":"link","label":"\u2728 Q3 2022] Create Distribution & Referral in SF","href":"/adaptors/library/jobs/auto/Q3-2022-Create-Distribution-Referral-in-SF-2020-06-19","docId":"library/jobs/auto/Q3-2022-Create-Distribution-Referral-in-SF-2020-06-19"},{"type":"link","label":"Create contact","href":"/adaptors/library/jobs/auto/Create-contact-2021-03-01","docId":"library/jobs/auto/Create-contact-2021-03-01"},{"type":"link","label":"Q3 2022] Upsert Person","href":"/adaptors/library/jobs/auto/Q3-2022-Upsert-Person-2022-04-21","docId":"library/jobs/auto/Q3-2022-Upsert-Person-2022-04-21"},{"type":"link","label":"Q3 2022] Upsert Household & Household Visit in SF","href":"/adaptors/library/jobs/auto/Q3-2022-Upsert-Household-Household-Visit-in-SF-2022-06-28","docId":"library/jobs/auto/Q3-2022-Upsert-Household-Household-Visit-in-SF-2022-06-28"},{"type":"link","label":"HIV Testing Event Statistics","href":"/adaptors/library/jobs/auto/HIV-Testing-Event-Statistics-2021-05-03","docId":"library/jobs/auto/HIV-Testing-Event-Statistics-2021-05-03"},{"type":"link","label":"Malaria Testing Event Statistics","href":"/adaptors/library/jobs/auto/Malaria-Testing-Event-Statistics-2021-05-03","docId":"library/jobs/auto/Malaria-Testing-Event-Statistics-2021-05-03"},{"type":"link","label":"HIV Testing Event Snapshot","href":"/adaptors/library/jobs/auto/HIV-Testing-Event-Snapshot-2021-05-03","docId":"library/jobs/auto/HIV-Testing-Event-Snapshot-2021-05-03"},{"type":"link","label":"Malaria Testing Event Snapshot","href":"/adaptors/library/jobs/auto/Malaria-Testing-Event-Snapshot-2021-05-03","docId":"library/jobs/auto/Malaria-Testing-Event-Snapshot-2021-05-03"},{"type":"link","label":"PHQ9","href":"/adaptors/library/jobs/auto/PHQ9-2021-05-03","docId":"library/jobs/auto/PHQ9-2021-05-03"},{"type":"link","label":"Risk and Vulnerability Assessment","href":"/adaptors/library/jobs/auto/Risk-and-Vulnerability-Assessment-2021-05-27","docId":"library/jobs/auto/Risk-and-Vulnerability-Assessment-2021-05-27"},{"type":"link","label":"Upsert Attendance Skillz Plus Club","href":"/adaptors/library/jobs/auto/Upsert-Attendance-Skillz-Plus-Club-2021-05-24","docId":"library/jobs/auto/Upsert-Attendance-Skillz-Plus-Club-2021-05-24"},{"type":"link","label":"Upsert ART Adherence Self-Reporting Tool","href":"/adaptors/library/jobs/auto/Upsert-ART-Adherence-Self-Reporting-Tool-2021-04-30","docId":"library/jobs/auto/Upsert-ART-Adherence-Self-Reporting-Tool-2021-04-30"},{"type":"link","label":"Upsert Aggregate Service Referrals","href":"/adaptors/library/jobs/auto/Upsert-Aggregate-Service-Referrals-2021-04-30","docId":"library/jobs/auto/Upsert-Aggregate-Service-Referrals-2021-04-30"},{"type":"link","label":"Upsert Coach Support Visit (CSV)","href":"/adaptors/library/jobs/auto/Upsert-Coach-Support-Visit-CSV-2021-04-28","docId":"library/jobs/auto/Upsert-Coach-Support-Visit-CSV-2021-04-28"},{"type":"link","label":"Upsert Confirm Services Received","href":"/adaptors/library/jobs/auto/Upsert-Confirm-Services-Received-2021-06-14","docId":"library/jobs/auto/Upsert-Confirm-Services-Received-2021-06-14"},{"type":"link","label":"Upsert Home Visit Log Form","href":"/adaptors/library/jobs/auto/Upsert-Home-Visit-Log-Form-2021-05-03","docId":"library/jobs/auto/Upsert-Home-Visit-Log-Form-2021-05-03"},{"type":"link","label":"\u2728 Upsert Intervention Notes","href":"/adaptors/library/jobs/auto/Upsert-Intervention-Notes-2021-04-28","docId":"library/jobs/auto/Upsert-Intervention-Notes-2021-04-28"},{"type":"link","label":"Upsert Register Event","href":"/adaptors/library/jobs/auto/Upsert-Register-Event-2021-04-30","docId":"library/jobs/auto/Upsert-Register-Event-2021-04-30"},{"type":"link","label":"Upsert Register Skills plus Club","href":"/adaptors/library/jobs/auto/Upsert-Register-Skills-plus-Club-2021-04-30","docId":"library/jobs/auto/Upsert-Register-Skills-plus-Club-2021-04-30"},{"type":"link","label":"Upsert Risk & Vulnerability Assessment | Service Referral","href":"/adaptors/library/jobs/auto/Upsert-Risk-Vulnerability-Assessment-Service-Referral-2021-05-25","docId":"library/jobs/auto/Upsert-Risk-Vulnerability-Assessment-Service-Referral-2021-05-25"},{"type":"link","label":"Upsert Service Referral","href":"/adaptors/library/jobs/auto/Upsert-Service-Referral-2021-04-30","docId":"library/jobs/auto/Upsert-Service-Referral-2021-04-30"},{"type":"link","label":"Upsert Service Referral 2","href":"/adaptors/library/jobs/auto/Upsert-Service-Referral-2-2021-06-14","docId":"library/jobs/auto/Upsert-Service-Referral-2-2021-06-14"},{"type":"link","label":"Upsert Service Referral Followup","href":"/adaptors/library/jobs/auto/Upsert-Service-Referral-Followup-2021-04-30","docId":"library/jobs/auto/Upsert-Service-Referral-Followup-2021-04-30"},{"type":"link","label":"Upsert Team/Group Name","href":"/adaptors/library/jobs/auto/Upsert-Team-Group-Name-2021-04-28","docId":"library/jobs/auto/Upsert-Team-Group-Name-2021-04-28"},{"type":"link","label":"Register Participant - V2 Skillz","href":"/adaptors/library/jobs/auto/Register-Participant-V2-Skillz-2021-06-02","docId":"library/jobs/auto/Register-Participant-V2-Skillz-2021-06-02"},{"type":"link","label":"Upsert User in Salesforce","href":"/adaptors/library/jobs/auto/Upsert-User-in-Salesforce-2021-04-16","docId":"library/jobs/auto/Upsert-User-in-Salesforce-2021-04-16"},{"type":"link","label":"Create Person in SF","href":"/adaptors/library/jobs/auto/Create-Person-in-SF-2019-02-25","docId":"library/jobs/auto/Create-Person-in-SF-2019-02-25"},{"type":"link","label":"1. Create Payment in SF","href":"/adaptors/library/jobs/auto/1-Create-Payment-in-SF-2018-09-03","docId":"library/jobs/auto/1-Create-Payment-in-SF-2018-09-03"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/salesforce-changelog","docId":"packages/salesforce-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/salesforce-readme","docId":"packages/salesforce-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"sftp","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/sftp-docs","docId":"packages/sftp-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/sftp-configuration-schema","docId":"packages/sftp-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/sftp-changelog","docId":"packages/sftp-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/sftp-readme","docId":"packages/sftp-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"smpp","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/smpp-docs","docId":"packages/smpp-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/smpp-configuration-schema","docId":"packages/smpp-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/smpp-changelog","docId":"packages/smpp-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/smpp-readme","docId":"packages/smpp-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"surveycto","items":[{"type":"link","label":"Overview","href":"/adaptors/surveycto","docId":"surveycto"},{"type":"link","label":"Functions","href":"/adaptors/packages/surveycto-docs","docId":"packages/surveycto-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/surveycto-configuration-schema","docId":"packages/surveycto-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/surveycto-changelog","docId":"packages/surveycto-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/surveycto-readme","docId":"packages/surveycto-readme"}],"collapsed":true,"collapsible":true},{"type":"link","label":"tableau","href":"/adaptors/tableau","docId":"tableau"},{"type":"category","label":"telerivet","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/telerivet-docs","docId":"packages/telerivet-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/telerivet-configuration-schema","docId":"packages/telerivet-configuration-schema"},{"type":"category","label":"Examples","items":[{"type":"link","label":"\ud83d\udcdc Send sms from Salesforce workflow action","href":"/adaptors/library/jobs/auto/send-sms-from-salesforce-workflow","docId":"library/jobs/auto/send-sms-from-salesforce-workflow"},{"type":"link","label":"2. SMS Balance Update to Customer","href":"/adaptors/library/jobs/auto/2-SMS-Balance-Update-to-Customer-2018-12-14","docId":"library/jobs/auto/2-SMS-Balance-Update-to-Customer-2018-12-14"}],"collapsed":true,"collapsible":true},{"type":"link","label":"Changelog","href":"/adaptors/packages/telerivet-changelog","docId":"packages/telerivet-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/telerivet-readme","docId":"packages/telerivet-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"template","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/template-docs","docId":"packages/template-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/template-configuration-schema","docId":"packages/template-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/template-changelog","docId":"packages/template-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/template-readme","docId":"packages/template-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"twilio","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/twilio-docs","docId":"packages/twilio-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/twilio-configuration-schema","docId":"packages/twilio-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/twilio-changelog","docId":"packages/twilio-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/twilio-readme","docId":"packages/twilio-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"vtiger","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/vtiger-docs","docId":"packages/vtiger-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/vtiger-configuration-schema","docId":"packages/vtiger-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/vtiger-changelog","docId":"packages/vtiger-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/vtiger-readme","docId":"packages/vtiger-readme"}],"collapsed":true,"collapsible":true},{"type":"category","label":"zoho","items":[{"type":"link","label":"Functions","href":"/adaptors/packages/zoho-docs","docId":"packages/zoho-docs"},{"type":"link","label":"Configuration","href":"/adaptors/packages/zoho-configuration-schema","docId":"packages/zoho-configuration-schema"},{"type":"link","label":"Changelog","href":"/adaptors/packages/zoho-changelog","docId":"packages/zoho-changelog"},{"type":"link","label":"README.md","href":"/adaptors/packages/zoho-readme","docId":"packages/zoho-readme"}],"collapsed":true,"collapsible":true}]},"docs":{"adaptors-intro":{"id":"adaptors-intro","title":"Adaptors","description":"Connect Anything.","sidebar":"adaptors"},"cht":{"id":"cht","title":"Community Health Toolkit","description":"1. To push data from CHT applications to OpenFn, leverage the","sidebar":"adaptors"},"ckan":{"id":"ckan","title":"CKAN","description":"App Overview","sidebar":"adaptors"},"commcare":{"id":"commcare","title":"CommCare","description":"App Overview","sidebar":"adaptors"},"dhis2":{"id":"dhis2","title":"DHIS2","description":"App Overview","sidebar":"adaptors"},"godata":{"id":"godata","title":"Go.Data","description":"Overview","sidebar":"adaptors"},"googlesheets":{"id":"googlesheets","title":"Google Forms/Google Sheets","description":"Google Forms/Google Sheets","sidebar":"adaptors"},"kobotoolbox":{"id":"kobotoolbox","title":"Kobo Toolbox","description":"App Overview","sidebar":"adaptors"},"library-intro":{"id":"library-intro","title":"The Community Job Library","description":"A growing knowledge base","sidebar":"adaptors"},"library/jobs/auto/0-Get-TEI-data-2021-06-02":{"id":"library/jobs/auto/0-Get-TEI-data-2021-06-02","title":"0 - Get TEI data","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/01-send-mailgun-email-2018-12-04":{"id":"library/jobs/auto/01-send-mailgun-email-2018-12-04","title":"01 send mailgun email","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/01a-Create-Registrants-2019-11-19":{"id":"library/jobs/auto/01a-Create-Registrants-2019-11-19","title":"01a/ Create Registrants","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/01b-Query-new-person-record-2019-12-13":{"id":"library/jobs/auto/01b-Query-new-person-record-2019-12-13","title":"01b/ Query new person record","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/01c-Create-person_position-record-2019-12-13":{"id":"library/jobs/auto/01c-Create-person_position-record-2019-12-13","title":"01c/ Create person_position record","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/02a-Query-DB-for-people-to-pay-2019-12-11":{"id":"library/jobs/auto/02a-Query-DB-for-people-to-pay-2019-12-11","title":"02a/ Query DB for people to pay","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/02b-Initiate-Payments-2019-11-19":{"id":"library/jobs/auto/02b-Initiate-Payments-2019-11-19","title":"02b/ Initiate Payments","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/03-Update-Payment-Status-2019-11-19":{"id":"library/jobs/auto/03-Update-Payment-Status-2019-11-19","title":"03/ Update Payment Status","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/04a-Query-for-job-changes-2019-12-12":{"id":"library/jobs/auto/04a-Query-for-job-changes-2019-12-12","title":"04a/Query for job changes","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/04b-Update-ODK-form-2019-12-03":{"id":"library/jobs/auto/04b-Update-ODK-form-2019-12-03","title":"04b/ Update ODK form","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/05-Submit-employee-evaluation-2019-12-03":{"id":"library/jobs/auto/05-Submit-employee-evaluation-2019-12-03","title":"05/ Submit employee evaluation","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/05a-Query-for-new-employees-2019-12-19":{"id":"library/jobs/auto/05a-Query-for-new-employees-2019-12-19","title":"05a/Query for new employees","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/05b-Update-ODK-eval-form-2019-12-19":{"id":"library/jobs/auto/05b-Update-ODK-eval-form-2019-12-19","title":"05b/Update ODK eval form","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/1-Create-Payment-in-SF-2018-09-03":{"id":"library/jobs/auto/1-Create-Payment-in-SF-2018-09-03","title":"1. Create Payment in SF","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/1-Get-CommCare-Forms-Bulk-Extract-2021-04-08":{"id":"library/jobs/auto/1-Get-CommCare-Forms-Bulk-Extract-2021-04-08","title":"1. Get CommCare Forms (Bulk Extract)","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/1-Get-data-from-SLUHIS-2023-03-08":{"id":"library/jobs/auto/1-Get-data-from-SLUHIS-2023-03-08","title":"1. Get data from SLUHIS","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/2-SMS-Balance-Update-to-Customer-2018-12-14":{"id":"library/jobs/auto/2-SMS-Balance-Update-to-Customer-2018-12-14","title":"2. SMS Balance Update to Customer","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Add-DHIS2-Data-Value-Sets-2016-03-28":{"id":"library/jobs/auto/Add-DHIS2-Data-Value-Sets-2016-03-28","title":"Add DHIS2 Data Value Sets","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/aleksa-cron-2022-04-29":{"id":"library/jobs/auto/aleksa-cron-2022-04-29","title":"aleksa cron","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/alter-state-before-operations":{"id":"library/jobs/auto/alter-state-before-operations","title":"Pre-processing data","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/async-and-array-dot-map":{"id":"library/jobs/auto/async-and-array-dot-map","title":"Using async and array.map","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/async-findValue":{"id":"library/jobs/auto/async-findValue","title":"Using findValue with an array of data","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/Attendance-Non-Skillz-2021-06-14":{"id":"library/jobs/auto/Attendance-Non-Skillz-2021-06-14","title":"Attendance Non Skillz","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/bring-formId-into-data-array-then-create-parent-and-children-in-salesforce":{"id":"library/jobs/auto/bring-formId-into-data-array-then-create-parent-and-children-in-salesforce","title":"Using merge and each","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/Catch-Error-in-HTTP-Request-2016-08-26":{"id":"library/jobs/auto/Catch-Error-in-HTTP-Request-2016-08-26","title":"Catch Error in HTTP Request","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/CHW-case-to-DHIS2-2023-04-27":{"id":"library/jobs/auto/CHW-case-to-DHIS2-2023-04-27","title":"CHW case to DHIS2","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Coach-Session-Register-2021-05-03":{"id":"library/jobs/auto/Coach-Session-Register-2021-05-03","title":"Coach Session Register","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/CommCare-FHIR":{"id":"library/jobs/auto/CommCare-FHIR","title":"Create encounter in OpenHIM","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/commcare-reports-api-2016-08-29":{"id":"library/jobs/auto/commcare-reports-api-2016-08-29","title":"commcare reports api","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/CommCare-to-Azure-Sql-2020-01-27":{"id":"library/jobs/auto/CommCare-to-Azure-Sql-2020-01-27","title":"CommCare to Azure Sql","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/complex-http-request-chains":{"id":"library/jobs/auto/complex-http-request-chains","title":"Chaining HTTP Requests","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/complex-state-control":{"id":"library/jobs/auto/complex-state-control","title":"Using promises","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/concatenate-many-fields-with-nulls":{"id":"library/jobs/auto/concatenate-many-fields-with-nulls","title":"Concat fields with nulls","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/Create-contact-2021-03-01":{"id":"library/jobs/auto/Create-contact-2021-03-01","title":"Create contact","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/create-if-proposal":{"id":"library/jobs/auto/create-if-proposal","title":"Create/update records if...","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/Create-Intervention-2021-04-08":{"id":"library/jobs/auto/Create-Intervention-2021-04-08","title":"Create Intervention","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Create-Patient-in-OpenMRS-2019-10-24":{"id":"library/jobs/auto/Create-Patient-in-OpenMRS-2019-10-24","title":"Create Patient in OpenMRS","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Create-Person-in-OpenMRS-2016-02-12":{"id":"library/jobs/auto/Create-Person-in-OpenMRS-2016-02-12","title":"Create Person in OpenMRS","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Create-Person-in-SF-2019-02-25":{"id":"library/jobs/auto/Create-Person-in-SF-2019-02-25","title":"Create Person in SF","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Create-SMS-Linked-to-Contact-in-SF":{"id":"library/jobs/auto/Create-SMS-Linked-to-Contact-in-SF","title":"Create SMS linked to contact","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/Create-TEI-dhis2-2021-03-22":{"id":"library/jobs/auto/Create-TEI-dhis2-2021-03-22","title":"Create TEI (dhis2)","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/DHIS2-DataValues-API":{"id":"library/jobs/auto/DHIS2-DataValues-API","title":"Add data values","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/DHIS2-Events-2016-01-27":{"id":"library/jobs/auto/DHIS2-Events-2016-01-27","title":"DHIS2 Events","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/DHIS2-Events-API":{"id":"library/jobs/auto/DHIS2-Events-API","title":"Add events","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/Extract-Vitas-Data-2021-05-11":{"id":"library/jobs/auto/Extract-Vitas-Data-2021-05-11","title":"Extract Vitas Data","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Failed-Payment-Notification-2021-04-23":{"id":"library/jobs/auto/Failed-Payment-Notification-2021-04-23","title":"Failed Payment Notification","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Fetch-Claims-2023-07-17":{"id":"library/jobs/auto/Fetch-Claims-2023-07-17","title":"Fetch Claims","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Get-cases-from-Primero-2021-09-23":{"id":"library/jobs/auto/Get-cases-from-Primero-2021-09-23","title":"Get cases from Primero","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Get-CommCare-Forms-Bulk-Extract-2022-05-16":{"id":"library/jobs/auto/Get-CommCare-Forms-Bulk-Extract-2022-05-16","title":"Get CommCare Forms (Bulk Extract)","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/GET-Data-From-KoboToolbox-2022-03-22":{"id":"library/jobs/auto/GET-Data-From-KoboToolbox-2022-03-22","title":"GET Data From KoboToolbox","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/getKoboData":{"id":"library/jobs/auto/getKoboData","title":"Extract Kobo data from API to send to OpenFn Inbox","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/HIV-Testing-Event-Snapshot-2021-05-03":{"id":"library/jobs/auto/HIV-Testing-Event-Snapshot-2021-05-03","title":"HIV Testing Event Snapshot","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/HIV-Testing-Event-Statistics-2021-05-03":{"id":"library/jobs/auto/HIV-Testing-Event-Statistics-2021-05-03","title":"HIV Testing Event Statistics","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Load-to-DB-2022-05-16":{"id":"library/jobs/auto/Load-to-DB-2022-05-16","title":"Load to DB","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Load-to-DHIS2-2023-07-17":{"id":"library/jobs/auto/Load-to-DHIS2-2023-07-17","title":"Load to DHIS2","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Load-Upsert-Data-into-PostgreSQL-2022-03-22":{"id":"library/jobs/auto/Load-Upsert-Data-into-PostgreSQL-2022-03-22","title":"Load / Upsert Data into PostgreSQL","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Malaria-Testing-Event-Snapshot-2021-05-03":{"id":"library/jobs/auto/Malaria-Testing-Event-Snapshot-2021-05-03","title":"Malaria Testing Event Snapshot","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Malaria-Testing-Event-Statistics-2021-05-03":{"id":"library/jobs/auto/Malaria-Testing-Event-Statistics-2021-05-03","title":"Malaria Testing Event Statistics","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/nawiri-2023-05-03":{"id":"library/jobs/auto/nawiri-2023-05-03","title":"nawiri","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/no-return-2023-01-06":{"id":"library/jobs/auto/no-return-2023-01-06","title":"no return","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/ODK-Create-Many-Records-Moving-In-And-Out-Of-Repeat-Blocks":{"id":"library/jobs/auto/ODK-Create-Many-Records-Moving-In-And-Out-Of-Repeat-Blocks","title":"Handling multiple ODK repeat groups","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/Pay-CHW-2021-04-23":{"id":"library/jobs/auto/Pay-CHW-2021-04-23","title":"Pay CHW","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/PHQ9-2021-05-03":{"id":"library/jobs/auto/PHQ9-2021-05-03","title":"PHQ9","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/promise-all-nested-requests":{"id":"library/jobs/auto/promise-all-nested-requests","title":"Promises and nested requests","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/Q3-2022-Create-Distribution-Referral-in-SF-2020-06-19":{"id":"library/jobs/auto/Q3-2022-Create-Distribution-Referral-in-SF-2020-06-19","title":"Q3 2022] Create Distribution & Referral in SF","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Q3-2022-Update-HH-Name-in-CommCare-2021-09-27":{"id":"library/jobs/auto/Q3-2022-Update-HH-Name-in-CommCare-2021-09-27","title":"Q3 2022] Update HH Name in CommCare","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Q3-2022-Upsert-Household-Household-Visit-in-SF-2022-06-28":{"id":"library/jobs/auto/Q3-2022-Upsert-Household-Household-Visit-in-SF-2022-06-28","title":"Q3 2022] Upsert Household & Household Visit in SF","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Q3-2022-Upsert-Person-2022-04-21":{"id":"library/jobs/auto/Q3-2022-Upsert-Person-2022-04-21","title":"Q3 2022] Upsert Person","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Q3-2022-Upsert-Person-Visit-2022-06-28":{"id":"library/jobs/auto/Q3-2022-Upsert-Person-Visit-2022-06-28","title":"Q3 2022] Upsert Person Visit","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Q4-2022-Upsert-Supervision-Accompaniment-2022-08-22":{"id":"library/jobs/auto/Q4-2022-Upsert-Supervision-Accompaniment-2022-08-22","title":"Q4 2022] Upsert Supervision - Accompaniment","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Q4-2022-Upsert-Supervision-Feedback-2022-08-19":{"id":"library/jobs/auto/Q4-2022-Upsert-Supervision-Feedback-2022-08-19","title":"Q4 2022] Upsert Supervision - Feedback","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Q4-2022-Upsert-Supervision-Household-Spot-Check-2022-08-24":{"id":"library/jobs/auto/Q4-2022-Upsert-Supervision-Household-Spot-Check-2022-08-24","title":"Q4 2022] Upsert Supervision - Household Spot Check","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Register-Participant-V2-Skillz-2021-06-02":{"id":"library/jobs/auto/Register-Participant-V2-Skillz-2021-06-02","title":"Register Participant - V2 Skillz","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Register-Patient-2021-03-02":{"id":"library/jobs/auto/Register-Patient-2021-03-02","title":"Register Patient","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Registration-forms-new-case-2023-06-22":{"id":"library/jobs/auto/Registration-forms-new-case-2023-06-22","title":"Registration forms(new case)","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Request-Vitas-Sync-2021-05-11":{"id":"library/jobs/auto/Request-Vitas-Sync-2021-05-11","title":"Request Vitas Sync","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Risk-and-Vulnerability-Assessment-2021-05-27":{"id":"library/jobs/auto/Risk-and-Vulnerability-Assessment-2021-05-27","title":"Risk and Vulnerability Assessment","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/send-mail-in-mailgun":{"id":"library/jobs/auto/send-mail-in-mailgun","title":"send email","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/send-sms-from-salesforce-workflow":{"id":"library/jobs/auto/send-sms-from-salesforce-workflow","title":"Send sms from Salesforce workflow action","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/synchronous-http-request":{"id":"library/jobs/auto/synchronous-http-request","title":"Chaining synchronous http requests","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/timeout":{"id":"library/jobs/auto/timeout","title":"Timeout to create a delay","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Aggregate-Service-Referrals-2021-04-30":{"id":"library/jobs/auto/Upsert-Aggregate-Service-Referrals-2021-04-30","title":"Upsert Aggregate Service Referrals","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-ART-Adherence-Self-Reporting-Tool-2021-04-30":{"id":"library/jobs/auto/Upsert-ART-Adherence-Self-Reporting-Tool-2021-04-30","title":"Upsert ART Adherence Self-Reporting Tool","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Attendance-Skillz-Plus-Club-2021-05-24":{"id":"library/jobs/auto/Upsert-Attendance-Skillz-Plus-Club-2021-05-24","title":"Upsert Attendance Skillz Plus Club","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Coach-Support-Visit-CSV-2021-04-28":{"id":"library/jobs/auto/Upsert-Coach-Support-Visit-CSV-2021-04-28","title":"Upsert Coach Support Visit (CSV)","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Confirm-Services-Received-2021-06-14":{"id":"library/jobs/auto/Upsert-Confirm-Services-Received-2021-06-14","title":"Upsert Confirm Services Received","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Home-Visit-Log-Form-2021-05-03":{"id":"library/jobs/auto/Upsert-Home-Visit-Log-Form-2021-05-03","title":"Upsert Home Visit Log Form","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Intervention-Notes-2021-04-28":{"id":"library/jobs/auto/Upsert-Intervention-Notes-2021-04-28","title":"Upsert Intervention Notes","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/upsert-many-items-in-array-with-value-outside-array":{"id":"library/jobs/auto/upsert-many-items-in-array-with-value-outside-array","title":"Merge data into child array then upsert","description":"\ud83d\udcdc This job is an official example from OpenFn.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Post-Challenges-2021-04-30":{"id":"library/jobs/auto/Upsert-Post-Challenges-2021-04-30","title":"Upsert Post Challenges","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Pre-Challenges-2021-04-30":{"id":"library/jobs/auto/Upsert-Pre-Challenges-2021-04-30","title":"Upsert Pre Challenges","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Register-Event-2021-04-30":{"id":"library/jobs/auto/Upsert-Register-Event-2021-04-30","title":"Upsert Register Event","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Register-Participant-2021-04-28":{"id":"library/jobs/auto/Upsert-Register-Participant-2021-04-28","title":"Upsert Register Participant","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Register-Participant-Skillz-2021-08-30":{"id":"library/jobs/auto/Upsert-Register-Participant-Skillz-2021-08-30","title":"Upsert Register Participant (Skillz)","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Register-Skills-plus-Club-2021-04-30":{"id":"library/jobs/auto/Upsert-Register-Skills-plus-Club-2021-04-30","title":"Upsert Register Skills plus Club","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Risk-Vulnerability-Assessment-Service-Referral-2021-05-25":{"id":"library/jobs/auto/Upsert-Risk-Vulnerability-Assessment-Service-Referral-2021-05-25","title":"Upsert Risk & Vulnerability Assessment | Service Referral","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Service-Referral-2-2021-06-14":{"id":"library/jobs/auto/Upsert-Service-Referral-2-2021-06-14","title":"Upsert Service Referral 2","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Service-Referral-2021-04-30":{"id":"library/jobs/auto/Upsert-Service-Referral-2021-04-30","title":"Upsert Service Referral","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Service-Referral-Followup-2021-04-30":{"id":"library/jobs/auto/Upsert-Service-Referral-Followup-2021-04-30","title":"Upsert Service Referral Followup","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-Team-Group-Name-2021-04-28":{"id":"library/jobs/auto/Upsert-Team-Group-Name-2021-04-28","title":"Upsert Team/Group Name","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-to-mBrana-2021-05-11":{"id":"library/jobs/auto/Upsert-to-mBrana-2021-05-11","title":"Upsert to mBrana","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/Upsert-User-in-Salesforce-2021-04-16":{"id":"library/jobs/auto/Upsert-User-in-Salesforce-2021-04-16","title":"Upsert User in Salesforce","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/WF1-1-Bulk-get-HH-cases-2023-05-19":{"id":"library/jobs/auto/WF1-1-Bulk-get-HH-cases-2023-05-19","title":"WF1-1. Bulk get HH cases","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/WF1-2-Bulk-upsert-HHs-and-HH-Visits-2023-05-19":{"id":"library/jobs/auto/WF1-2-Bulk-upsert-HHs-and-HH-Visits-2023-05-19","title":"WF1-2. Bulk upsert HHs and HH Visits","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/WF2-1-Bulk-get-Person-cases-2023-05-19":{"id":"library/jobs/auto/WF2-1-Bulk-get-Person-cases-2023-05-19","title":"WF2-1. Bulk get Person cases","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/WF2-2-Bulk-upsert-Persons-2023-05-19":{"id":"library/jobs/auto/WF2-2-Bulk-upsert-Persons-2023-05-19","title":"WF2-2. Bulk upsert Persons","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/WF3-1-Bulk-get-Person-Visit-cases-2023-05-19":{"id":"library/jobs/auto/WF3-1-Bulk-get-Person-Visit-cases-2023-05-19","title":"WF3-1. Bulk get Person Visit cases","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/WF3-2-Bulk-upsert-Person-Visits-2023-05-19":{"id":"library/jobs/auto/WF3-2-Bulk-upsert-Person-Visits-2023-05-19","title":"WF3-2. Bulk upsert Person Visits","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/WF3-2a-Repeat-Failed-Person-Visits-2023-05-31":{"id":"library/jobs/auto/WF3-2a-Repeat-Failed-Person-Visits-2023-05-31","title":"WF3-2a/ Repeat Failed Person Visits","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/WF4-1-Bulk-get-Referral-Cases-2023-05-19":{"id":"library/jobs/auto/WF4-1-Bulk-get-Referral-Cases-2023-05-19","title":"WF4-1. Bulk get Referral Cases","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/jobs/auto/WF4-2-Bulk-upsert-Services-2023-05-19":{"id":"library/jobs/auto/WF4-2-Bulk-upsert-Services-2023-05-19","title":"WF4-2. Bulk upsert Services","description":"This job was provided by an OpenFn.org user via the job library API.","sidebar":"adaptors"},"library/triggers/xmlns":{"id":"library/triggers/xmlns","title":"Match a message with a fragment inside another object called `form`","description":""},"magpi":{"id":"magpi","title":"Magpi","description":"Magpi is not able to push data to external URLs. In order to fetch data from","sidebar":"adaptors"},"moodle":{"id":"moodle","title":"Moodle","description":"Overview","sidebar":"adaptors"},"odk":{"id":"odk","title":"Open Data Kit (ODK)","description":"Open Data Kit (ODK) Collect","sidebar":"adaptors"},"ona":{"id":"ona","title":"Ona.io","description":"Webhooks to push form data to OpenFn","sidebar":"adaptors"},"packages/asana-changelog":{"id":"packages/asana-changelog","title":"asana changelog","description":"3.0.1","sidebar":"adaptors"},"packages/asana-configuration-schema":{"id":"packages/asana-configuration-schema","title":"Config for asana","description":"Jobs that use the asana adaptor may require authentication. A","sidebar":"adaptors"},"packages/asana-docs":{"id":"packages/asana-docs","title":"asana@3.0.1","description":"Functions","sidebar":"adaptors"},"packages/asana-readme":{"id":"packages/asana-readme","title":"asana developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/asana","sidebar":"adaptors"},"packages/beyonic-changelog":{"id":"packages/beyonic-changelog","title":"beyonic changelog","description":"0.2.1","sidebar":"adaptors"},"packages/beyonic-configuration-schema":{"id":"packages/beyonic-configuration-schema","title":"Config for beyonic","description":"Jobs that use the beyonic adaptor may require authentication. A","sidebar":"adaptors"},"packages/beyonic-docs":{"id":"packages/beyonic-docs","title":"beyonic@0.2.1","description":"Functions","sidebar":"adaptors"},"packages/beyonic-readme":{"id":"packages/beyonic-readme","title":"beyonic developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/beyonic","sidebar":"adaptors"},"packages/bigquery-changelog":{"id":"packages/bigquery-changelog","title":"bigquery changelog","description":"2.0.3","sidebar":"adaptors"},"packages/bigquery-configuration-schema":{"id":"packages/bigquery-configuration-schema","title":"Config for bigquery","description":"Jobs that use the bigquery adaptor may require authentication. A","sidebar":"adaptors"},"packages/bigquery-docs":{"id":"packages/bigquery-docs","title":"bigquery@2.0.3","description":"load","sidebar":"adaptors"},"packages/bigquery-readme":{"id":"packages/bigquery-readme","title":"bigquery developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/bigquery","sidebar":"adaptors"},"packages/commcare-changelog":{"id":"packages/commcare-changelog","title":"commcare changelog","description":"1.6.9","sidebar":"adaptors"},"packages/commcare-configuration-schema":{"id":"packages/commcare-configuration-schema","title":"Config for commcare","description":"Jobs that use the commcare adaptor may require authentication. A","sidebar":"adaptors"},"packages/commcare-docs":{"id":"packages/commcare-docs","title":"commcare@1.6.9","description":"Functions","sidebar":"adaptors"},"packages/commcare-readme":{"id":"packages/commcare-readme","title":"commcare developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/commcare","sidebar":"adaptors"},"packages/common-changelog":{"id":"packages/common-changelog","title":"common changelog","description":"v0.4.0","sidebar":"adaptors"},"packages/common-configuration-schema":{"id":"packages/common-configuration-schema","title":"Config for common","description":"No configuration schema has been defined for the common adaptor.","sidebar":"adaptors"},"packages/common-docs":{"id":"packages/common-docs","title":"common@1.11.0","description":"Functions","sidebar":"adaptors"},"packages/common-readme":{"id":"packages/common-readme","title":"common developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/common","sidebar":"adaptors"},"packages/dhis2-changelog":{"id":"packages/dhis2-changelog","title":"dhis2 changelog","description":"4.0.2","sidebar":"adaptors"},"packages/dhis2-configuration-schema":{"id":"packages/dhis2-configuration-schema","title":"Config for dhis2","description":"Jobs that use the dhis2 adaptor may require authentication. A","sidebar":"adaptors"},"packages/dhis2-docs":{"id":"packages/dhis2-docs","title":"dhis2@4.0.2","description":"Functions","sidebar":"adaptors"},"packages/dhis2-readme":{"id":"packages/dhis2-readme","title":"dhis2 developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/dhis2","sidebar":"adaptors"},"packages/dynamics-changelog":{"id":"packages/dynamics-changelog","title":"dynamics changelog","description":"0.4.7","sidebar":"adaptors"},"packages/dynamics-configuration-schema":{"id":"packages/dynamics-configuration-schema","title":"Config for dynamics","description":"Jobs that use the dynamics adaptor may require authentication. A","sidebar":"adaptors"},"packages/dynamics-docs":{"id":"packages/dynamics-docs","title":"dynamics@0.4.7","description":"","sidebar":"adaptors"},"packages/dynamics-readme":{"id":"packages/dynamics-readme","title":"dynamics developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/dynamics","sidebar":"adaptors"},"packages/facebook-changelog":{"id":"packages/facebook-changelog","title":"facebook changelog","description":"0.3.2","sidebar":"adaptors"},"packages/facebook-configuration-schema":{"id":"packages/facebook-configuration-schema","title":"Config for facebook","description":"Jobs that use the facebook adaptor may require authentication. A","sidebar":"adaptors"},"packages/facebook-docs":{"id":"packages/facebook-docs","title":"facebook@0.3.2","description":"postMessage","sidebar":"adaptors"},"packages/facebook-readme":{"id":"packages/facebook-readme","title":"facebook developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/facebook","sidebar":"adaptors"},"packages/fhir-changelog":{"id":"packages/fhir-changelog","title":"fhir changelog","description":"3.1.0","sidebar":"adaptors"},"packages/fhir-configuration-schema":{"id":"packages/fhir-configuration-schema","title":"Config for fhir","description":"Jobs that use the fhir adaptor may require authentication. A","sidebar":"adaptors"},"packages/fhir-docs":{"id":"packages/fhir-docs","title":"fhir@3.1.0","description":"Functions","sidebar":"adaptors"},"packages/fhir-readme":{"id":"packages/fhir-readme","title":"fhir developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/fhir","sidebar":"adaptors"},"packages/godata-changelog":{"id":"packages/godata-changelog","title":"godata changelog","description":"3.3.1","sidebar":"adaptors"},"packages/godata-configuration-schema":{"id":"packages/godata-configuration-schema","title":"Config for godata","description":"Jobs that use the godata adaptor may require authentication. A","sidebar":"adaptors"},"packages/godata-docs":{"id":"packages/godata-docs","title":"godata@3.3.1","description":"Functions","sidebar":"adaptors"},"packages/godata-readme":{"id":"packages/godata-readme","title":"godata developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/godata","sidebar":"adaptors"},"packages/googlehealthcare-changelog":{"id":"packages/googlehealthcare-changelog","title":"googlehealthcare changelog","description":"1.0.0","sidebar":"adaptors"},"packages/googlehealthcare-configuration-schema":{"id":"packages/googlehealthcare-configuration-schema","title":"Config for googlehealthcare","description":"Jobs that use the googlehealthcare adaptor may require authentication. A","sidebar":"adaptors"},"packages/googlehealthcare-docs":{"id":"packages/googlehealthcare-docs","title":"googlehealthcare@1.0.0","description":"createFhirResource","sidebar":"adaptors"},"packages/googlehealthcare-readme":{"id":"packages/googlehealthcare-readme","title":"googlehealthcare developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/googlehealthcare","sidebar":"adaptors"},"packages/googlesheets-changelog":{"id":"packages/googlesheets-changelog","title":"googlesheets changelog","description":"2.2.2","sidebar":"adaptors"},"packages/googlesheets-configuration-schema":{"id":"packages/googlesheets-configuration-schema","title":"Config for googlesheets","description":"Jobs that use the googlesheets adaptor may require authentication. A","sidebar":"adaptors"},"packages/googlesheets-docs":{"id":"packages/googlesheets-docs","title":"googlesheets@2.2.2","description":"appendValues","sidebar":"adaptors"},"packages/googlesheets-readme":{"id":"packages/googlesheets-readme","title":"googlesheets developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/googlesheets","sidebar":"adaptors"},"packages/http-changelog":{"id":"packages/http-changelog","title":"http changelog","description":"5.0.3","sidebar":"adaptors"},"packages/http-configuration-schema":{"id":"packages/http-configuration-schema","title":"Config for http","description":"Jobs that use the http adaptor may require authentication. A","sidebar":"adaptors"},"packages/http-docs":{"id":"packages/http-docs","title":"http@5.0.3","description":"Functions","sidebar":"adaptors"},"packages/http-readme":{"id":"packages/http-readme","title":"http developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/http","sidebar":"adaptors"},"packages/khanacademy-changelog":{"id":"packages/khanacademy-changelog","title":"khanacademy changelog","description":"0.4.1","sidebar":"adaptors"},"packages/khanacademy-configuration-schema":{"id":"packages/khanacademy-configuration-schema","title":"Config for khanacademy","description":"Jobs that use the khanacademy adaptor may require authentication. A","sidebar":"adaptors"},"packages/khanacademy-docs":{"id":"packages/khanacademy-docs","title":"khanacademy@0.4.1","description":"fetch","sidebar":"adaptors"},"packages/khanacademy-readme":{"id":"packages/khanacademy-readme","title":"khanacademy developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/khanacademy","sidebar":"adaptors"},"packages/kobotoolbox-changelog":{"id":"packages/kobotoolbox-changelog","title":"kobotoolbox changelog","description":"2.1.0","sidebar":"adaptors"},"packages/kobotoolbox-configuration-schema":{"id":"packages/kobotoolbox-configuration-schema","title":"Config for kobotoolbox","description":"Jobs that use the kobotoolbox adaptor may require authentication. A","sidebar":"adaptors"},"packages/kobotoolbox-docs":{"id":"packages/kobotoolbox-docs","title":"kobotoolbox@2.1.0","description":"Functions","sidebar":"adaptors"},"packages/kobotoolbox-readme":{"id":"packages/kobotoolbox-readme","title":"kobotoolbox developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/kobotoolbox","sidebar":"adaptors"},"packages/magpi-changelog":{"id":"packages/magpi-changelog","title":"magpi changelog","description":"1.1.1","sidebar":"adaptors"},"packages/magpi-configuration-schema":{"id":"packages/magpi-configuration-schema","title":"Config for magpi","description":"Jobs that use the magpi adaptor may require authentication. A","sidebar":"adaptors"},"packages/magpi-docs":{"id":"packages/magpi-docs","title":"magpi@1.1.1","description":"Functions","sidebar":"adaptors"},"packages/magpi-readme":{"id":"packages/magpi-readme","title":"magpi developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/magpi","sidebar":"adaptors"},"packages/mailchimp-changelog":{"id":"packages/mailchimp-changelog","title":"mailchimp changelog","description":"0.7.1","sidebar":"adaptors"},"packages/mailchimp-configuration-schema":{"id":"packages/mailchimp-configuration-schema","title":"Config for mailchimp","description":"Jobs that use the mailchimp adaptor may require authentication. A","sidebar":"adaptors"},"packages/mailchimp-docs":{"id":"packages/mailchimp-docs","title":"mailchimp@0.7.1","description":"Functions","sidebar":"adaptors"},"packages/mailchimp-readme":{"id":"packages/mailchimp-readme","title":"mailchimp developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/mailchimp","sidebar":"adaptors"},"packages/mailgun-changelog":{"id":"packages/mailgun-changelog","title":"mailgun changelog","description":"0.4.3","sidebar":"adaptors"},"packages/mailgun-configuration-schema":{"id":"packages/mailgun-configuration-schema","title":"Config for mailgun","description":"Jobs that use the mailgun adaptor may require authentication. A","sidebar":"adaptors"},"packages/mailgun-docs":{"id":"packages/mailgun-docs","title":"mailgun@0.4.3","description":"send","sidebar":"adaptors"},"packages/mailgun-readme":{"id":"packages/mailgun-readme","title":"mailgun developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/mailgun","sidebar":"adaptors"},"packages/maximo-changelog":{"id":"packages/maximo-changelog","title":"maximo changelog","description":"0.4.1","sidebar":"adaptors"},"packages/maximo-configuration-schema":{"id":"packages/maximo-configuration-schema","title":"Config for maximo","description":"Jobs that use the maximo adaptor may require authentication. A","sidebar":"adaptors"},"packages/maximo-docs":{"id":"packages/maximo-docs","title":"maximo@0.4.1","description":"Functions","sidebar":"adaptors"},"packages/maximo-readme":{"id":"packages/maximo-readme","title":"maximo developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/maximo","sidebar":"adaptors"},"packages/medicmobile-changelog":{"id":"packages/medicmobile-changelog","title":"medicmobile changelog","description":"0.4.2","sidebar":"adaptors"},"packages/medicmobile-configuration-schema":{"id":"packages/medicmobile-configuration-schema","title":"Config for medicmobile","description":"Jobs that use the medicmobile adaptor may require authentication. A","sidebar":"adaptors"},"packages/medicmobile-docs":{"id":"packages/medicmobile-docs","title":"medicmobile@0.4.2","description":"Functions","sidebar":"adaptors"},"packages/medicmobile-readme":{"id":"packages/medicmobile-readme","title":"medicmobile developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/medicmobile","sidebar":"adaptors"},"packages/mogli-changelog":{"id":"packages/mogli-changelog","title":"mogli changelog","description":"v0.1.6","sidebar":"adaptors"},"packages/mogli-configuration-schema":{"id":"packages/mogli-configuration-schema","title":"Config for mogli","description":"Jobs that use the mogli adaptor may require authentication. A","sidebar":"adaptors"},"packages/mogli-docs":{"id":"packages/mogli-docs","title":"mogli@0.4.1","description":"Functions","sidebar":"adaptors"},"packages/mogli-readme":{"id":"packages/mogli-readme","title":"mogli developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/mogli","sidebar":"adaptors"},"packages/mongodb-changelog":{"id":"packages/mongodb-changelog","title":"mongodb changelog","description":"2.0.0","sidebar":"adaptors"},"packages/mongodb-configuration-schema":{"id":"packages/mongodb-configuration-schema","title":"Config for mongodb","description":"Jobs that use the mongodb adaptor may require authentication. A","sidebar":"adaptors"},"packages/mongodb-docs":{"id":"packages/mongodb-docs","title":"mongodb@2.0.0","description":"Functions","sidebar":"adaptors"},"packages/mongodb-readme":{"id":"packages/mongodb-readme","title":"mongodb developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/mongodb","sidebar":"adaptors"},"packages/msgraph-changelog":{"id":"packages/msgraph-changelog","title":"msgraph changelog","description":"0.3.5","sidebar":"adaptors"},"packages/msgraph-configuration-schema":{"id":"packages/msgraph-configuration-schema","title":"Config for msgraph","description":"Jobs that use the msgraph adaptor may require authentication. A","sidebar":"adaptors"},"packages/msgraph-docs":{"id":"packages/msgraph-docs","title":"msgraph@0.3.5","description":"Functions","sidebar":"adaptors"},"packages/msgraph-readme":{"id":"packages/msgraph-readme","title":"msgraph developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/msgraph","sidebar":"adaptors"},"packages/mssql-changelog":{"id":"packages/mssql-changelog","title":"mssql changelog","description":"4.1.7","sidebar":"adaptors"},"packages/mssql-configuration-schema":{"id":"packages/mssql-configuration-schema","title":"Config for mssql","description":"Jobs that use the mssql adaptor may require authentication. A","sidebar":"adaptors"},"packages/mssql-docs":{"id":"packages/mssql-docs","title":"mssql@4.1.7","description":"Functions","sidebar":"adaptors"},"packages/mssql-readme":{"id":"packages/mssql-readme","title":"mssql developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/mssql","sidebar":"adaptors"},"packages/mysql-changelog":{"id":"packages/mysql-changelog","title":"mysql changelog","description":"1.4.7","sidebar":"adaptors"},"packages/mysql-configuration-schema":{"id":"packages/mysql-configuration-schema","title":"Config for mysql","description":"Jobs that use the mysql adaptor may require authentication. A","sidebar":"adaptors"},"packages/mysql-docs":{"id":"packages/mysql-docs","title":"mysql@1.4.7","description":"Functions","sidebar":"adaptors"},"packages/mysql-readme":{"id":"packages/mysql-readme","title":"mysql developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/mysql","sidebar":"adaptors"},"packages/nexmo-changelog":{"id":"packages/nexmo-changelog","title":"nexmo changelog","description":"0.4.2","sidebar":"adaptors"},"packages/nexmo-configuration-schema":{"id":"packages/nexmo-configuration-schema","title":"Config for nexmo","description":"Jobs that use the nexmo adaptor may require authentication. A","sidebar":"adaptors"},"packages/nexmo-docs":{"id":"packages/nexmo-docs","title":"nexmo@0.4.2","description":"sendSMS","sidebar":"adaptors"},"packages/nexmo-readme":{"id":"packages/nexmo-readme","title":"nexmo developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/nexmo","sidebar":"adaptors"},"packages/ocl-changelog":{"id":"packages/ocl-changelog","title":"ocl changelog","description":"1.1.6","sidebar":"adaptors"},"packages/ocl-configuration-schema":{"id":"packages/ocl-configuration-schema","title":"Config for ocl","description":"Jobs that use the ocl adaptor may require authentication. A","sidebar":"adaptors"},"packages/ocl-docs":{"id":"packages/ocl-docs","title":"ocl@1.1.6","description":"Functions","sidebar":"adaptors"},"packages/ocl-readme":{"id":"packages/ocl-readme","title":"ocl developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/ocl","sidebar":"adaptors"},"packages/openfn-changelog":{"id":"packages/openfn-changelog","title":"openfn changelog","description":"1.3.7","sidebar":"adaptors"},"packages/openfn-configuration-schema":{"id":"packages/openfn-configuration-schema","title":"Config for openfn","description":"Jobs that use the openfn adaptor may require authentication. A","sidebar":"adaptors"},"packages/openfn-docs":{"id":"packages/openfn-docs","title":"openfn@1.3.7","description":"request","sidebar":"adaptors"},"packages/openfn-readme":{"id":"packages/openfn-readme","title":"openfn developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/openfn","sidebar":"adaptors"},"packages/openhim-changelog":{"id":"packages/openhim-changelog","title":"openhim changelog","description":"0.2.1","sidebar":"adaptors"},"packages/openhim-configuration-schema":{"id":"packages/openhim-configuration-schema","title":"Config for openhim","description":"Jobs that use the openhim adaptor may require authentication. A","sidebar":"adaptors"},"packages/openhim-docs":{"id":"packages/openhim-docs","title":"openhim@0.2.1","description":"encounter","sidebar":"adaptors"},"packages/openhim-readme":{"id":"packages/openhim-readme","title":"openhim developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/openhim","sidebar":"adaptors"},"packages/openmrs-changelog":{"id":"packages/openmrs-changelog","title":"openmrs changelog","description":"2.0.7","sidebar":"adaptors"},"packages/openmrs-configuration-schema":{"id":"packages/openmrs-configuration-schema","title":"Config for openmrs","description":"Jobs that use the openmrs adaptor may require authentication. A","sidebar":"adaptors"},"packages/openmrs-docs":{"id":"packages/openmrs-docs","title":"openmrs@2.0.7","description":"Functions","sidebar":"adaptors"},"packages/openmrs-readme":{"id":"packages/openmrs-readme","title":"openmrs developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/openmrs","sidebar":"adaptors"},"packages/postgresql-changelog":{"id":"packages/postgresql-changelog","title":"postgresql changelog","description":"4.1.7","sidebar":"adaptors"},"packages/postgresql-configuration-schema":{"id":"packages/postgresql-configuration-schema","title":"Config for postgresql","description":"Jobs that use the postgresql adaptor may require authentication. A","sidebar":"adaptors"},"packages/postgresql-docs":{"id":"packages/postgresql-docs","title":"postgresql@4.1.7","description":"Functions","sidebar":"adaptors"},"packages/postgresql-readme":{"id":"packages/postgresql-readme","title":"postgresql developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/postgresql","sidebar":"adaptors"},"packages/primero-changelog":{"id":"packages/primero-changelog","title":"primero changelog","description":"2.11.7","sidebar":"adaptors"},"packages/primero-configuration-schema":{"id":"packages/primero-configuration-schema","title":"Config for primero","description":"Jobs that use the primero adaptor may require authentication. A","sidebar":"adaptors"},"packages/primero-docs":{"id":"packages/primero-docs","title":"primero@2.11.7","description":"Functions","sidebar":"adaptors"},"packages/primero-readme":{"id":"packages/primero-readme","title":"primero developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/primero","sidebar":"adaptors"},"packages/progres-changelog":{"id":"packages/progres-changelog","title":"progres changelog","description":"1.3.7","sidebar":"adaptors"},"packages/progres-configuration-schema":{"id":"packages/progres-configuration-schema","title":"Config for progres","description":"Jobs that use the progres adaptor may require authentication. A","sidebar":"adaptors"},"packages/progres-docs":{"id":"packages/progres-docs","title":"progres@1.3.7","description":"postData","sidebar":"adaptors"},"packages/progres-readme":{"id":"packages/progres-readme","title":"progres developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/progres","sidebar":"adaptors"},"packages/rapidpro-changelog":{"id":"packages/rapidpro-changelog","title":"rapidpro changelog","description":"1.0.7","sidebar":"adaptors"},"packages/rapidpro-configuration-schema":{"id":"packages/rapidpro-configuration-schema","title":"Config for rapidpro","description":"Jobs that use the rapidpro adaptor may require authentication. A","sidebar":"adaptors"},"packages/rapidpro-docs":{"id":"packages/rapidpro-docs","title":"rapidpro@1.0.7","description":"Functions","sidebar":"adaptors"},"packages/rapidpro-readme":{"id":"packages/rapidpro-readme","title":"rapidpro developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/rapidpro","sidebar":"adaptors"},"packages/resourcemap-changelog":{"id":"packages/resourcemap-changelog","title":"resourcemap changelog","description":"0.3.1","sidebar":"adaptors"},"packages/resourcemap-configuration-schema":{"id":"packages/resourcemap-configuration-schema","title":"Config for resourcemap","description":"Jobs that use the resourcemap adaptor may require authentication. A","sidebar":"adaptors"},"packages/resourcemap-docs":{"id":"packages/resourcemap-docs","title":"resourcemap@0.3.1","description":"submitSite","sidebar":"adaptors"},"packages/resourcemap-readme":{"id":"packages/resourcemap-readme","title":"resourcemap developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/resourcemap","sidebar":"adaptors"},"packages/salesforce-changelog":{"id":"packages/salesforce-changelog","title":"salesforce changelog","description":"4.2.1","sidebar":"adaptors"},"packages/salesforce-configuration-schema":{"id":"packages/salesforce-configuration-schema","title":"Config for salesforce","description":"Jobs that use the salesforce adaptor may require authentication. A","sidebar":"adaptors"},"packages/salesforce-docs":{"id":"packages/salesforce-docs","title":"salesforce@4.2.1","description":"Functions","sidebar":"adaptors"},"packages/salesforce-readme":{"id":"packages/salesforce-readme","title":"salesforce developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/salesforce","sidebar":"adaptors"},"packages/sftp-changelog":{"id":"packages/sftp-changelog","title":"sftp changelog","description":"0.8.7","sidebar":"adaptors"},"packages/sftp-configuration-schema":{"id":"packages/sftp-configuration-schema","title":"Config for sftp","description":"Jobs that use the sftp adaptor may require authentication. A","sidebar":"adaptors"},"packages/sftp-docs":{"id":"packages/sftp-docs","title":"sftp@0.8.7","description":"Functions","sidebar":"adaptors"},"packages/sftp-readme":{"id":"packages/sftp-readme","title":"sftp developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/sftp","sidebar":"adaptors"},"packages/smpp-changelog":{"id":"packages/smpp-changelog","title":"smpp changelog","description":"1.3.1","sidebar":"adaptors"},"packages/smpp-configuration-schema":{"id":"packages/smpp-configuration-schema","title":"Config for smpp","description":"Jobs that use the smpp adaptor may require authentication. A","sidebar":"adaptors"},"packages/smpp-docs":{"id":"packages/smpp-docs","title":"smpp@1.3.1","description":"","sidebar":"adaptors"},"packages/smpp-readme":{"id":"packages/smpp-readme","title":"smpp developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/smpp","sidebar":"adaptors"},"packages/surveycto-changelog":{"id":"packages/surveycto-changelog","title":"surveycto changelog","description":"1.2.1","sidebar":"adaptors"},"packages/surveycto-configuration-schema":{"id":"packages/surveycto-configuration-schema","title":"Config for surveycto","description":"Jobs that use the surveycto adaptor may require authentication. A","sidebar":"adaptors"},"packages/surveycto-docs":{"id":"packages/surveycto-docs","title":"surveycto@1.2.1","description":"fetchSubmissions","sidebar":"adaptors"},"packages/surveycto-readme":{"id":"packages/surveycto-readme","title":"surveycto developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/surveycto","sidebar":"adaptors"},"packages/telerivet-changelog":{"id":"packages/telerivet-changelog","title":"telerivet changelog","description":"0.2.1","sidebar":"adaptors"},"packages/telerivet-configuration-schema":{"id":"packages/telerivet-configuration-schema","title":"Config for telerivet","description":"Jobs that use the telerivet adaptor may require authentication. A","sidebar":"adaptors"},"packages/telerivet-docs":{"id":"packages/telerivet-docs","title":"telerivet@0.2.1","description":"send","sidebar":"adaptors"},"packages/telerivet-readme":{"id":"packages/telerivet-readme","title":"telerivet developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/telerivet","sidebar":"adaptors"},"packages/template-changelog":{"id":"packages/template-changelog","title":"template changelog","description":"3.0.1","sidebar":"adaptors"},"packages/template-configuration-schema":{"id":"packages/template-configuration-schema","title":"Config for template","description":"Jobs that use the template adaptor may require authentication. A","sidebar":"adaptors"},"packages/template-docs":{"id":"packages/template-docs","title":"template@3.0.1","description":"create","sidebar":"adaptors"},"packages/template-readme":{"id":"packages/template-readme","title":"template developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/template","sidebar":"adaptors"},"packages/twilio-changelog":{"id":"packages/twilio-changelog","title":"twilio changelog","description":"0.4.1","sidebar":"adaptors"},"packages/twilio-configuration-schema":{"id":"packages/twilio-configuration-schema","title":"Config for twilio","description":"Jobs that use the twilio adaptor may require authentication. A","sidebar":"adaptors"},"packages/twilio-docs":{"id":"packages/twilio-docs","title":"twilio@0.4.1","description":"sendSMS","sidebar":"adaptors"},"packages/twilio-readme":{"id":"packages/twilio-readme","title":"twilio developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/twilio","sidebar":"adaptors"},"packages/vtiger-changelog":{"id":"packages/vtiger-changelog","title":"vtiger changelog","description":"1.2.1","sidebar":"adaptors"},"packages/vtiger-configuration-schema":{"id":"packages/vtiger-configuration-schema","title":"Config for vtiger","description":"Jobs that use the vtiger adaptor may require authentication. A","sidebar":"adaptors"},"packages/vtiger-docs":{"id":"packages/vtiger-docs","title":"vtiger@1.2.1","description":"","sidebar":"adaptors"},"packages/vtiger-readme":{"id":"packages/vtiger-readme","title":"vtiger developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/vtiger","sidebar":"adaptors"},"packages/zoho-changelog":{"id":"packages/zoho-changelog","title":"zoho changelog","description":"0.3.1","sidebar":"adaptors"},"packages/zoho-configuration-schema":{"id":"packages/zoho-configuration-schema","title":"Config for zoho","description":"Jobs that use the zoho adaptor may require authentication. A","sidebar":"adaptors"},"packages/zoho-docs":{"id":"packages/zoho-docs","title":"zoho@0.3.1","description":"addRow","sidebar":"adaptors"},"packages/zoho-readme":{"id":"packages/zoho-readme","title":"zoho developer readme","description":"Source//github.com/OpenFn/adaptors/tree/main/packages/zoho","sidebar":"adaptors"},"postgresql":{"id":"postgresql","title":"PostgreSQL","description":"Overview","sidebar":"adaptors"},"powerbi":{"id":"powerbi","title":"Power BI","description":"(Work in progress)","sidebar":"adaptors"},"primero":{"id":"primero","title":"Primero","description":"Overview","sidebar":"adaptors"},"salesforce":{"id":"salesforce","title":"Salesforce","description":"App Overview","sidebar":"adaptors"},"surveycto":{"id":"surveycto","title":"SurveyCTO","description":"Real-time (with webhooks)","sidebar":"adaptors"},"tableau":{"id":"tableau","title":"Tableau","description":"(Work in progress)","sidebar":"adaptors"}}}')}}]); \ No newline at end of file diff --git a/assets/js/fcdeb347.37b3ae72.js b/assets/js/fcdeb347.37b3ae72.js deleted file mode 100644 index 4c6236dd1d3..00000000000 --- a/assets/js/fcdeb347.37b3ae72.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_openfn_docs=self.webpackChunk_openfn_docs||[]).push([[5670],{3905:(e,a,t)=>{t.d(a,{Zo:()=>p,kt:()=>g});var n=t(67294);function l(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function r(e){for(var a=1;a=0||(l[t]=e[t]);return l}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(l[t]=e[t])}return l}var h=n.createContext({}),o=function(e){var a=n.useContext(h),t=a;return e&&(t="function"==typeof e?e(a):r(r({},a),e)),t},p=function(e){var a=o(e.components);return n.createElement(h.Provider,{value:a},e.children)},s="mdxType",d={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},u=n.forwardRef((function(e,a){var t=e.components,l=e.mdxType,i=e.originalType,h=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),s=o(t),u=l,g=s["".concat(h,".").concat(u)]||s[u]||d[u]||i;return t?n.createElement(g,r(r({ref:a},p),{},{components:t})):n.createElement(g,r({ref:a},p))}));function g(e,a){var t=arguments,l=a&&a.mdxType;if("string"==typeof e||l){var i=t.length,r=new Array(i);r[0]=u;var c={};for(var h in a)hasOwnProperty.call(a,h)&&(c[h]=a[h]);c.originalType=e,c[s]="string"==typeof e?e:l,r[1]=c;for(var o=2;o{t.r(a),t.d(a,{assets:()=>h,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>c,toc:()=>o});var n=t(87462),l=(t(67294),t(3905));const i={title:"salesforce changelog",id:"salesforce-changelog",keywords:["adaptor","changelog","salesforce"]},r="Changelog for the salesforce adaptor",c={unversionedId:"packages/salesforce-changelog",id:"packages/salesforce-changelog",title:"salesforce changelog",description:"4.2.0",source:"@site/adaptors/packages/salesforce-changelog.md",sourceDirName:"packages",slug:"/packages/salesforce-changelog",permalink:"/adaptors/packages/salesforce-changelog",draft:!1,tags:[],version:"current",frontMatter:{title:"salesforce changelog",id:"salesforce-changelog",keywords:["adaptor","changelog","salesforce"]},sidebar:"adaptors",previous:{title:"1. Create Payment in SF",permalink:"/adaptors/library/jobs/auto/1-Create-Payment-in-SF-2018-09-03"},next:{title:"salesforce developer readme",permalink:"/adaptors/packages/salesforce-readme"}},h={},o=[{value:"4.2.0",id:"420",level:2},{value:"Minor Changes",id:"minor-changes",level:3},{value:"4.1.0",id:"410",level:2},{value:"Minor Changes",id:"minor-changes-1",level:3},{value:"4.0.8",id:"408",level:2},{value:"Patch Changes",id:"patch-changes",level:3},{value:"4.0.7",id:"407",level:2},{value:"Patch Changes",id:"patch-changes-1",level:3},{value:"4.0.6",id:"406",level:2},{value:"Patch Changes",id:"patch-changes-2",level:3},{value:"4.0.5",id:"405",level:2},{value:"Patch Changes",id:"patch-changes-3",level:3},{value:"4.0.4",id:"404",level:2},{value:"Patch Changes",id:"patch-changes-4",level:3},{value:"4.0.3",id:"403",level:2},{value:"Patch Changes",id:"patch-changes-5",level:3},{value:"4.0.2",id:"402",level:2},{value:"Patch Changes",id:"patch-changes-6",level:3},{value:"4.0.1",id:"401",level:2},{value:"Patch Changes",id:"patch-changes-7",level:3},{value:"4.0.0",id:"400",level:2},{value:"Major Changes",id:"major-changes",level:3},{value:"Patch Changes",id:"patch-changes-8",level:3},{value:"3.0.7",id:"307",level:2},{value:"Patch Changes",id:"patch-changes-9",level:3},{value:"3.0.6",id:"306",level:2},{value:"Patch Changes",id:"patch-changes-10",level:3},{value:"3.0.5",id:"305",level:2},{value:"Patch Changes",id:"patch-changes-11",level:3},{value:"3.0.4",id:"304",level:2},{value:"Patch Changes",id:"patch-changes-12",level:3},{value:"3.0.3",id:"303",level:2},{value:"Patch Changes",id:"patch-changes-13",level:3},{value:"3.0.2",id:"302",level:2},{value:"Patch Changes",id:"patch-changes-14",level:3},{value:"3.0.1",id:"301",level:2},{value:"Patch Changes",id:"patch-changes-15",level:3},{value:"3.0.0",id:"300",level:2},{value:"Major Changes",id:"major-changes-1",level:3},{value:"2.12.3",id:"2123",level:2},{value:"Patch Changes",id:"patch-changes-16",level:3},{value:"2.12.2",id:"2122",level:2},{value:"Patch Changes",id:"patch-changes-17",level:3},{value:"2.12.1",id:"2121",level:2},{value:"Patch Changes",id:"patch-changes-18",level:3},{value:"2.12.0",id:"2120",level:2},{value:"Minor Changes",id:"minor-changes-2",level:3},{value:"Patch Changes",id:"patch-changes-19",level:3},{value:"2.11.1",id:"2111",level:2},{value:"Patch Changes",id:"patch-changes-20",level:3},{value:"2.11.0",id:"2110",level:2},{value:"Minor Changes",id:"minor-changes-3",level:3}],p={toc:o},s="wrapper";function d(e){let{components:a,...t}=e;return(0,l.kt)(s,(0,n.Z)({},p,t,{components:a,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"changelog-for-the-salesforce-adaptor"},"Changelog for the salesforce adaptor"),(0,l.kt)("h1",{id:"openfnlanguage-salesforce"},"@openfn/language-salesforce"),(0,l.kt)("h2",{id:"420"},"4.2.0"),(0,l.kt)("h3",{id:"minor-changes"},"Minor Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"fc58f1c: add options in bulkQuery")),(0,l.kt)("h2",{id:"410"},"4.1.0"),(0,l.kt)("h3",{id:"minor-changes-1"},"Minor Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"1e3a083: add bulkQuery function")),(0,l.kt)("h2",{id:"408"},"4.0.8"),(0,l.kt)("h3",{id:"patch-changes"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[85c35b8]",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"@openfn/",(0,l.kt)("a",{parentName:"li",href:"mailto:language-common@1.11.0"},"language-common@1.11.0"))))),(0,l.kt)("h2",{id:"407"},"4.0.7"),(0,l.kt)("h3",{id:"patch-changes-1"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[df09270]",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"@openfn/",(0,l.kt)("a",{parentName:"li",href:"mailto:language-common@1.10.3"},"language-common@1.10.3"))))),(0,l.kt)("h2",{id:"406"},"4.0.6"),(0,l.kt)("h3",{id:"patch-changes-2"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"aceedd2: update jsforce and remove unused packages")),(0,l.kt)("h2",{id:"405"},"4.0.5"),(0,l.kt)("h3",{id:"patch-changes-3"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[26a303e]",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"@openfn/",(0,l.kt)("a",{parentName:"li",href:"mailto:language-common@1.10.2"},"language-common@1.10.2"))))),(0,l.kt)("h2",{id:"404"},"4.0.4"),(0,l.kt)("h3",{id:"patch-changes-4"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[8c32eb3]",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"@openfn/",(0,l.kt)("a",{parentName:"li",href:"mailto:language-common@1.10.1"},"language-common@1.10.1"))))),(0,l.kt)("h2",{id:"403"},"4.0.3"),(0,l.kt)("h3",{id:"patch-changes-5"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[aad9549]",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"@openfn/",(0,l.kt)("a",{parentName:"li",href:"mailto:language-common@1.10.0"},"language-common@1.10.0"))))),(0,l.kt)("h2",{id:"402"},"4.0.2"),(0,l.kt)("h3",{id:"patch-changes-6"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[111807f]",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"@openfn/",(0,l.kt)("a",{parentName:"li",href:"mailto:language-common@1.9.0"},"language-common@1.9.0"))))),(0,l.kt)("h2",{id:"401"},"4.0.1"),(0,l.kt)("h3",{id:"patch-changes-7"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Update lock files"),(0,l.kt)("li",{parentName:"ul"},"Updated dependencies",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"@openfn/",(0,l.kt)("a",{parentName:"li",href:"mailto:language-common@1.8.1"},"language-common@1.8.1"))))),(0,l.kt)("h2",{id:"400"},"4.0.0"),(0,l.kt)("h3",{id:"major-changes"},"Major Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"2c1d603: Remove parameter reassignment to ensure proper functioning inside an\n",(0,l.kt)("inlineCode",{parentName:"p"},"each")," block; add eslint"),(0,l.kt)("p",{parentName:"li"},"The packages receiving a major bump here exposed functions that didn't work as\nexpected inside ",(0,l.kt)("inlineCode",{parentName:"p"},"each")," blocks. Users were previously wrapping these functions\ninside their own custom ",(0,l.kt)("inlineCode",{parentName:"p"},"fn")," blocks, and this change will ensure that they can\nbe used inside a standard each."),(0,l.kt)("p",{parentName:"li"},"See ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/OpenFn/adaptors/issues/275"},"https://github.com/OpenFn/adaptors/issues/275")," for more details."))),(0,l.kt)("h3",{id:"patch-changes-8"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[2c1d603]",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"@openfn/",(0,l.kt)("a",{parentName:"li",href:"mailto:language-common@1.8.0"},"language-common@1.8.0"))))),(0,l.kt)("h2",{id:"307"},"3.0.7"),(0,l.kt)("h3",{id:"patch-changes-9"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"7cc8efc: remove FakeAdaptor references")),(0,l.kt)("h2",{id:"306"},"3.0.6"),(0,l.kt)("h3",{id:"patch-changes-10"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"705caab: Remove tools as devdependencies")),(0,l.kt)("h2",{id:"305"},"3.0.5"),(0,l.kt)("h3",{id:"patch-changes-11"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"929bca6: Use metadata helper function from common"),(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[929bca6]",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"@openfn/",(0,l.kt)("a",{parentName:"li",href:"mailto:language-common@1.7.7"},"language-common@1.7.7"))))),(0,l.kt)("h2",{id:"304"},"3.0.4"),(0,l.kt)("h3",{id:"patch-changes-12"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"ef828e7: update old urls in readme"),(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[2b4c61a]",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"@openfn/",(0,l.kt)("a",{parentName:"li",href:"mailto:language-common@1.7.6"},"language-common@1.7.6"))))),(0,l.kt)("h2",{id:"303"},"3.0.3"),(0,l.kt)("h3",{id:"patch-changes-13"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"06aced8: Fix dependencies")),(0,l.kt)("h2",{id:"302"},"3.0.2"),(0,l.kt)("h3",{id:"patch-changes-14"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"aed7e0b: fix required field in configuration schema")),(0,l.kt)("h2",{id:"301"},"3.0.1"),(0,l.kt)("h3",{id:"patch-changes-15"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"c09b821: Add @magic annotations")),(0,l.kt)("h2",{id:"300"},"3.0.0"),(0,l.kt)("h3",{id:"major-changes-1"},"Major Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"190f667: Remove curry from salesforce")),(0,l.kt)("h2",{id:"2123"},"2.12.3"),(0,l.kt)("h3",{id:"patch-changes-16"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"f7ebd3c: remove sample configuration")),(0,l.kt)("h2",{id:"2122"},"2.12.2"),(0,l.kt)("h3",{id:"patch-changes-17"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"f2aed32: add examples")),(0,l.kt)("h2",{id:"2121"},"2.12.1"),(0,l.kt)("h3",{id:"patch-changes-18"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"6d8de03: change @constructor to @function and remove /","*",(0,l.kt)("em",{parentName:"li"}," @module Adaptor "),"/")),(0,l.kt)("h2",{id:"2120"},"2.12.0"),(0,l.kt)("h3",{id:"minor-changes-2"},"Minor Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"5c883c6: Allow expansion for describe(), add describeAll()")),(0,l.kt)("h3",{id:"patch-changes-19"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"f2a91a4: Update package exports"),(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[f2a91a4]",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"@openfn/",(0,l.kt)("a",{parentName:"li",href:"mailto:language-common@1.7.5"},"language-common@1.7.5"))))),(0,l.kt)("h2",{id:"2111"},"2.11.1"),(0,l.kt)("h3",{id:"patch-changes-20"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"e7bf865: chore(deps): update dependency sinon to v14"),(0,l.kt)("li",{parentName:"ul"},"8566b26: Fix typings"),(0,l.kt)("li",{parentName:"ul"},"b3d45ff: Fix CJS export of npm package."),(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[8566b26]"),(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[b3d45ff]"),(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[b5eb665]"),(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[ecf5d30]",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"@openfn/",(0,l.kt)("a",{parentName:"li",href:"mailto:language-common@1.7.4"},"language-common@1.7.4"))))),(0,l.kt)("h2",{id:"2110"},"2.11.0"),(0,l.kt)("h3",{id:"minor-changes-3"},"Minor Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"edff578: Migrate salesforce")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/fcdeb347.bcc45e29.js b/assets/js/fcdeb347.bcc45e29.js new file mode 100644 index 00000000000..bd617cbdef4 --- /dev/null +++ b/assets/js/fcdeb347.bcc45e29.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunk_openfn_docs=self.webpackChunk_openfn_docs||[]).push([[5670],{3905:(e,a,t)=>{t.d(a,{Zo:()=>p,kt:()=>g});var n=t(67294);function l(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function i(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);a&&(n=n.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,n)}return t}function r(e){for(var a=1;a=0||(l[t]=e[t]);return l}(e,a);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(l[t]=e[t])}return l}var h=n.createContext({}),o=function(e){var a=n.useContext(h),t=a;return e&&(t="function"==typeof e?e(a):r(r({},a),e)),t},p=function(e){var a=o(e.components);return n.createElement(h.Provider,{value:a},e.children)},s="mdxType",d={inlineCode:"code",wrapper:function(e){var a=e.children;return n.createElement(n.Fragment,{},a)}},u=n.forwardRef((function(e,a){var t=e.components,l=e.mdxType,i=e.originalType,h=e.parentName,p=c(e,["components","mdxType","originalType","parentName"]),s=o(t),u=l,g=s["".concat(h,".").concat(u)]||s[u]||d[u]||i;return t?n.createElement(g,r(r({ref:a},p),{},{components:t})):n.createElement(g,r({ref:a},p))}));function g(e,a){var t=arguments,l=a&&a.mdxType;if("string"==typeof e||l){var i=t.length,r=new Array(i);r[0]=u;var c={};for(var h in a)hasOwnProperty.call(a,h)&&(c[h]=a[h]);c.originalType=e,c[s]="string"==typeof e?e:l,r[1]=c;for(var o=2;o{t.r(a),t.d(a,{assets:()=>h,contentTitle:()=>r,default:()=>d,frontMatter:()=>i,metadata:()=>c,toc:()=>o});var n=t(87462),l=(t(67294),t(3905));const i={title:"salesforce changelog",id:"salesforce-changelog",keywords:["adaptor","changelog","salesforce"]},r="Changelog for the salesforce adaptor",c={unversionedId:"packages/salesforce-changelog",id:"packages/salesforce-changelog",title:"salesforce changelog",description:"4.2.1",source:"@site/adaptors/packages/salesforce-changelog.md",sourceDirName:"packages",slug:"/packages/salesforce-changelog",permalink:"/adaptors/packages/salesforce-changelog",draft:!1,tags:[],version:"current",frontMatter:{title:"salesforce changelog",id:"salesforce-changelog",keywords:["adaptor","changelog","salesforce"]},sidebar:"adaptors",previous:{title:"1. Create Payment in SF",permalink:"/adaptors/library/jobs/auto/1-Create-Payment-in-SF-2018-09-03"},next:{title:"salesforce developer readme",permalink:"/adaptors/packages/salesforce-readme"}},h={},o=[{value:"4.2.1",id:"421",level:2},{value:"Patch Changes",id:"patch-changes",level:3},{value:"4.2.0",id:"420",level:2},{value:"Minor Changes",id:"minor-changes",level:3},{value:"4.1.0",id:"410",level:2},{value:"Minor Changes",id:"minor-changes-1",level:3},{value:"4.0.8",id:"408",level:2},{value:"Patch Changes",id:"patch-changes-1",level:3},{value:"4.0.7",id:"407",level:2},{value:"Patch Changes",id:"patch-changes-2",level:3},{value:"4.0.6",id:"406",level:2},{value:"Patch Changes",id:"patch-changes-3",level:3},{value:"4.0.5",id:"405",level:2},{value:"Patch Changes",id:"patch-changes-4",level:3},{value:"4.0.4",id:"404",level:2},{value:"Patch Changes",id:"patch-changes-5",level:3},{value:"4.0.3",id:"403",level:2},{value:"Patch Changes",id:"patch-changes-6",level:3},{value:"4.0.2",id:"402",level:2},{value:"Patch Changes",id:"patch-changes-7",level:3},{value:"4.0.1",id:"401",level:2},{value:"Patch Changes",id:"patch-changes-8",level:3},{value:"4.0.0",id:"400",level:2},{value:"Major Changes",id:"major-changes",level:3},{value:"Patch Changes",id:"patch-changes-9",level:3},{value:"3.0.7",id:"307",level:2},{value:"Patch Changes",id:"patch-changes-10",level:3},{value:"3.0.6",id:"306",level:2},{value:"Patch Changes",id:"patch-changes-11",level:3},{value:"3.0.5",id:"305",level:2},{value:"Patch Changes",id:"patch-changes-12",level:3},{value:"3.0.4",id:"304",level:2},{value:"Patch Changes",id:"patch-changes-13",level:3},{value:"3.0.3",id:"303",level:2},{value:"Patch Changes",id:"patch-changes-14",level:3},{value:"3.0.2",id:"302",level:2},{value:"Patch Changes",id:"patch-changes-15",level:3},{value:"3.0.1",id:"301",level:2},{value:"Patch Changes",id:"patch-changes-16",level:3},{value:"3.0.0",id:"300",level:2},{value:"Major Changes",id:"major-changes-1",level:3},{value:"2.12.3",id:"2123",level:2},{value:"Patch Changes",id:"patch-changes-17",level:3},{value:"2.12.2",id:"2122",level:2},{value:"Patch Changes",id:"patch-changes-18",level:3},{value:"2.12.1",id:"2121",level:2},{value:"Patch Changes",id:"patch-changes-19",level:3},{value:"2.12.0",id:"2120",level:2},{value:"Minor Changes",id:"minor-changes-2",level:3},{value:"Patch Changes",id:"patch-changes-20",level:3},{value:"2.11.1",id:"2111",level:2},{value:"Patch Changes",id:"patch-changes-21",level:3},{value:"2.11.0",id:"2110",level:2},{value:"Minor Changes",id:"minor-changes-3",level:3}],p={toc:o},s="wrapper";function d(e){let{components:a,...t}=e;return(0,l.kt)(s,(0,n.Z)({},p,t,{components:a,mdxType:"MDXLayout"}),(0,l.kt)("h1",{id:"changelog-for-the-salesforce-adaptor"},"Changelog for the salesforce adaptor"),(0,l.kt)("h1",{id:"openfnlanguage-salesforce"},"@openfn/language-salesforce"),(0,l.kt)("h2",{id:"421"},"4.2.1"),(0,l.kt)("h3",{id:"patch-changes"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"07debe9: Update bulkQuery to use bulkv2")),(0,l.kt)("h2",{id:"420"},"4.2.0"),(0,l.kt)("h3",{id:"minor-changes"},"Minor Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"fc58f1c: add options in bulkQuery")),(0,l.kt)("h2",{id:"410"},"4.1.0"),(0,l.kt)("h3",{id:"minor-changes-1"},"Minor Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"1e3a083: add bulkQuery function")),(0,l.kt)("h2",{id:"408"},"4.0.8"),(0,l.kt)("h3",{id:"patch-changes-1"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[85c35b8]",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"@openfn/",(0,l.kt)("a",{parentName:"li",href:"mailto:language-common@1.11.0"},"language-common@1.11.0"))))),(0,l.kt)("h2",{id:"407"},"4.0.7"),(0,l.kt)("h3",{id:"patch-changes-2"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[df09270]",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"@openfn/",(0,l.kt)("a",{parentName:"li",href:"mailto:language-common@1.10.3"},"language-common@1.10.3"))))),(0,l.kt)("h2",{id:"406"},"4.0.6"),(0,l.kt)("h3",{id:"patch-changes-3"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"aceedd2: update jsforce and remove unused packages")),(0,l.kt)("h2",{id:"405"},"4.0.5"),(0,l.kt)("h3",{id:"patch-changes-4"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[26a303e]",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"@openfn/",(0,l.kt)("a",{parentName:"li",href:"mailto:language-common@1.10.2"},"language-common@1.10.2"))))),(0,l.kt)("h2",{id:"404"},"4.0.4"),(0,l.kt)("h3",{id:"patch-changes-5"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[8c32eb3]",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"@openfn/",(0,l.kt)("a",{parentName:"li",href:"mailto:language-common@1.10.1"},"language-common@1.10.1"))))),(0,l.kt)("h2",{id:"403"},"4.0.3"),(0,l.kt)("h3",{id:"patch-changes-6"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[aad9549]",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"@openfn/",(0,l.kt)("a",{parentName:"li",href:"mailto:language-common@1.10.0"},"language-common@1.10.0"))))),(0,l.kt)("h2",{id:"402"},"4.0.2"),(0,l.kt)("h3",{id:"patch-changes-7"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[111807f]",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"@openfn/",(0,l.kt)("a",{parentName:"li",href:"mailto:language-common@1.9.0"},"language-common@1.9.0"))))),(0,l.kt)("h2",{id:"401"},"4.0.1"),(0,l.kt)("h3",{id:"patch-changes-8"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Update lock files"),(0,l.kt)("li",{parentName:"ul"},"Updated dependencies",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"@openfn/",(0,l.kt)("a",{parentName:"li",href:"mailto:language-common@1.8.1"},"language-common@1.8.1"))))),(0,l.kt)("h2",{id:"400"},"4.0.0"),(0,l.kt)("h3",{id:"major-changes"},"Major Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},(0,l.kt)("p",{parentName:"li"},"2c1d603: Remove parameter reassignment to ensure proper functioning inside an\n",(0,l.kt)("inlineCode",{parentName:"p"},"each")," block; add eslint"),(0,l.kt)("p",{parentName:"li"},"The packages receiving a major bump here exposed functions that didn't work as\nexpected inside ",(0,l.kt)("inlineCode",{parentName:"p"},"each")," blocks. Users were previously wrapping these functions\ninside their own custom ",(0,l.kt)("inlineCode",{parentName:"p"},"fn")," blocks, and this change will ensure that they can\nbe used inside a standard each."),(0,l.kt)("p",{parentName:"li"},"See ",(0,l.kt)("a",{parentName:"p",href:"https://github.com/OpenFn/adaptors/issues/275"},"https://github.com/OpenFn/adaptors/issues/275")," for more details."))),(0,l.kt)("h3",{id:"patch-changes-9"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[2c1d603]",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"@openfn/",(0,l.kt)("a",{parentName:"li",href:"mailto:language-common@1.8.0"},"language-common@1.8.0"))))),(0,l.kt)("h2",{id:"307"},"3.0.7"),(0,l.kt)("h3",{id:"patch-changes-10"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"7cc8efc: remove FakeAdaptor references")),(0,l.kt)("h2",{id:"306"},"3.0.6"),(0,l.kt)("h3",{id:"patch-changes-11"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"705caab: Remove tools as devdependencies")),(0,l.kt)("h2",{id:"305"},"3.0.5"),(0,l.kt)("h3",{id:"patch-changes-12"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"929bca6: Use metadata helper function from common"),(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[929bca6]",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"@openfn/",(0,l.kt)("a",{parentName:"li",href:"mailto:language-common@1.7.7"},"language-common@1.7.7"))))),(0,l.kt)("h2",{id:"304"},"3.0.4"),(0,l.kt)("h3",{id:"patch-changes-13"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"ef828e7: update old urls in readme"),(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[2b4c61a]",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"@openfn/",(0,l.kt)("a",{parentName:"li",href:"mailto:language-common@1.7.6"},"language-common@1.7.6"))))),(0,l.kt)("h2",{id:"303"},"3.0.3"),(0,l.kt)("h3",{id:"patch-changes-14"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"06aced8: Fix dependencies")),(0,l.kt)("h2",{id:"302"},"3.0.2"),(0,l.kt)("h3",{id:"patch-changes-15"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"aed7e0b: fix required field in configuration schema")),(0,l.kt)("h2",{id:"301"},"3.0.1"),(0,l.kt)("h3",{id:"patch-changes-16"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"c09b821: Add @magic annotations")),(0,l.kt)("h2",{id:"300"},"3.0.0"),(0,l.kt)("h3",{id:"major-changes-1"},"Major Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"190f667: Remove curry from salesforce")),(0,l.kt)("h2",{id:"2123"},"2.12.3"),(0,l.kt)("h3",{id:"patch-changes-17"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"f7ebd3c: remove sample configuration")),(0,l.kt)("h2",{id:"2122"},"2.12.2"),(0,l.kt)("h3",{id:"patch-changes-18"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"f2aed32: add examples")),(0,l.kt)("h2",{id:"2121"},"2.12.1"),(0,l.kt)("h3",{id:"patch-changes-19"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"6d8de03: change @constructor to @function and remove /","*",(0,l.kt)("em",{parentName:"li"}," @module Adaptor "),"/")),(0,l.kt)("h2",{id:"2120"},"2.12.0"),(0,l.kt)("h3",{id:"minor-changes-2"},"Minor Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"5c883c6: Allow expansion for describe(), add describeAll()")),(0,l.kt)("h3",{id:"patch-changes-20"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"f2a91a4: Update package exports"),(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[f2a91a4]",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"@openfn/",(0,l.kt)("a",{parentName:"li",href:"mailto:language-common@1.7.5"},"language-common@1.7.5"))))),(0,l.kt)("h2",{id:"2111"},"2.11.1"),(0,l.kt)("h3",{id:"patch-changes-21"},"Patch Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"e7bf865: chore(deps): update dependency sinon to v14"),(0,l.kt)("li",{parentName:"ul"},"8566b26: Fix typings"),(0,l.kt)("li",{parentName:"ul"},"b3d45ff: Fix CJS export of npm package."),(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[8566b26]"),(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[b3d45ff]"),(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[b5eb665]"),(0,l.kt)("li",{parentName:"ul"},"Updated dependencies ","[ecf5d30]",(0,l.kt)("ul",{parentName:"li"},(0,l.kt)("li",{parentName:"ul"},"@openfn/",(0,l.kt)("a",{parentName:"li",href:"mailto:language-common@1.7.4"},"language-common@1.7.4"))))),(0,l.kt)("h2",{id:"2110"},"2.11.0"),(0,l.kt)("h3",{id:"minor-changes-3"},"Minor Changes"),(0,l.kt)("ul",null,(0,l.kt)("li",{parentName:"ul"},"edff578: Migrate salesforce")))}d.isMDXComponent=!0}}]); \ No newline at end of file diff --git a/assets/js/main.df6be9fa.js b/assets/js/main.da6b8a3a.js similarity index 92% rename from assets/js/main.df6be9fa.js rename to assets/js/main.da6b8a3a.js index c6f52e80497..da5e9466b3d 100644 --- a/assets/js/main.df6be9fa.js +++ b/assets/js/main.da6b8a3a.js @@ -1,2 +1,2 @@ -/*! For license information please see main.df6be9fa.js.LICENSE.txt */ -(self.webpackChunk_openfn_docs=self.webpackChunk_openfn_docs||[]).push([[40179],{20830:(e,t,a)=>{"use strict";a.d(t,{W:()=>o});var n=a(67294);function o(){return n.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20"},n.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}},723:(e,t,a)=>{"use strict";a.d(t,{Z:()=>m});var n=a(67294),o=a(87462),r=a(68356),s=a.n(r),i=a(16887);const c={"006fd865":[()=>a.e(19923).then(a.t.bind(a,34591,19)),"~blog/articles/articles-tags-authentication-897.json",34591],"01a85c17":[()=>Promise.all([a.e(40532),a.e(64013)]).then(a.bind(a,91223)),"@theme/BlogTagsListPage",91223],"0210b704":[()=>a.e(8631).then(a.t.bind(a,49881,19)),"~blog/default/blog-tags-x-runner-c3e-list.json",49881],"02371d76":[()=>a.e(37274).then(a.bind(a,61506)),"@site/adaptors/packages/openmrs-readme.md",61506],"035d0344":[()=>a.e(8076).then(a.t.bind(a,3404,19)),"~blog/default/blog-tags-kgvk-fbf-list.json",3404],"03cd8e1c":[()=>a.e(21685).then(a.t.bind(a,30512,19)),"~blog/articles/articles-tags-elixir-9ab.json",30512],"0452e1bb":[()=>a.e(15288).then(a.bind(a,19019)),"@site/adaptors/library/jobs/auto/async-and-array-dot-map.md",19019],"0475f9cc":[()=>a.e(63816).then(a.t.bind(a,66571,19)),"~blog/articles/articles-tags-automation-b7b-list.json",66571],"050638ff":[()=>a.e(40381).then(a.bind(a,12623)),"@site/blog/2020-07-13-x-runner-case-study.md?truncated=true",12623],"0564f87a":[()=>a.e(6249).then(a.bind(a,75232)),"@site/adaptors/packages/medicmobile-configuration-schema.md",75232],"069211c5":[()=>a.e(65146).then(a.bind(a,76643)),"@site/adaptors/packages/surveycto-configuration-schema.md",76643],"06a5ba8b":[()=>a.e(27918).then(a.bind(a,84106)),"@site/docs/jobs/understanding.md",84106],"06b1e92d":[()=>a.e(76791).then(a.bind(a,55754)),"@site/adaptors/library/jobs/auto/CommCare-to-Azure-Sql-2020-01-27.md",55754],"073713d1":[()=>a.e(90111).then(a.bind(a,54542)),"@site/adaptors/packages/googlehealthcare-readme.md",54542],"07987921":[()=>a.e(83834).then(a.bind(a,25123)),"@site/adaptors/packages/vtiger-configuration-schema.md",25123],"07e96687":[()=>a.e(40280).then(a.bind(a,64701)),"@site/adaptors/packages/medicmobile-readme.md",64701],"080066ed":[()=>a.e(55889).then(a.bind(a,48085)),"@site/docs/source-apps.md",48085],"08e43170":[()=>a.e(84726).then(a.bind(a,6224)),"@site/adaptors/packages/msgraph-docs.md",6224],"09a69b27":[()=>a.e(94349).then(a.bind(a,83284)),"@site/articles/2020-12-09-upsert-in-dhis2.md?truncated=true",83284],"09b23959":[()=>a.e(83278).then(a.bind(a,78186)),"@site/adaptors/packages/salesforce-readme.md",78186],"09d8949d":[()=>a.e(87991).then(a.bind(a,71756)),"@site/docs/core.md",71756],"0a451647":[()=>a.e(65341).then(a.bind(a,17258)),"@site/adaptors/odk.md",17258],"0b31129f":[()=>a.e(63870).then(a.bind(a,75199)),"@site/adaptors/library/jobs/auto/CommCare-FHIR.md",75199],"0b854977":[()=>a.e(60162).then(a.bind(a,79323)),"@site/docs/getting-started/automation-inspiration.md",79323],"0c8b9afa":[()=>a.e(66609).then(a.t.bind(a,14252,19)),"~blog/default/blog-tags-comm-care-5d2.json",14252],"0d1eeea0":[()=>a.e(21356).then(a.bind(a,22641)),"@site/adaptors/packages/dhis2-changelog.md",22641],"0dffb83e":[()=>a.e(75075).then(a.bind(a,83208)),"@site/docs/roadmap.md",83208],"0e04b402":[()=>a.e(18902).then(a.bind(a,44019)),"@site/adaptors/library/jobs/auto/Upsert-Aggregate-Service-Referrals-2021-04-30.md",44019],"0e384e19":[()=>a.e(59671).then(a.bind(a,59881)),"@site/docs/intro.md",59881],"0f427d40":[()=>a.e(62650).then(a.bind(a,53885)),"@site/articles/2020-07-14-cron-is-better-than-a-timer.md?truncated=true",53885],10647879:[()=>a.e(53003).then(a.t.bind(a,19830,19)),"~blog/default/blog-tags-case-study-page-2-5eb.json",19830],"1074bb26":[()=>a.e(45702).then(a.bind(a,41921)),"@site/adaptors/ckan.md",41921],"10915d97":[()=>a.e(78314).then(a.bind(a,17384)),"@site/adaptors/packages/nexmo-readme.md",17384],"10eaf6bf":[()=>a.e(94498).then(a.t.bind(a,66905,19)),"~blog/articles/articles-tags-tips-page-2-95a-list.json",66905],"112be523":[()=>a.e(17895).then(a.bind(a,83386)),"@site/docs/jobs/each.md",83386],"1140a058":[()=>a.e(30674).then(a.bind(a,61721)),"@site/adaptors/library/jobs/auto/upsert-many-items-in-array-with-value-outside-array.md",61721],"11e6d144":[()=>a.e(11168).then(a.bind(a,14936)),"@site/adaptors/library/jobs/auto/Upsert-Service-Referral-2021-04-30.md",14936],"1280552c":[()=>a.e(41661).then(a.bind(a,44485)),"@site/articles/2021-02-03-hosted-or-local-deployment.md",44485],"12ebab0f":[()=>a.e(4213).then(a.bind(a,29175)),"@site/adaptors/packages/googlesheets-changelog.md",29175],"12f62dc2":[()=>a.e(23679).then(a.t.bind(a,54715,19)),"~blog/default/blog-tags-wash-936.json",54715],"133b4df0":[()=>a.e(59424).then(a.bind(a,71223)),"@site/docs/build/credentials.md",71223],"13a2a5ae":[()=>a.e(60330).then(a.bind(a,86654)),"@site/adaptors/packages/resourcemap-changelog.md",86654],"13a70009":[()=>a.e(6905).then(a.bind(a,35296)),"@site/adaptors/library/jobs/auto/Upsert-Risk-Vulnerability-Assessment-Service-Referral-2021-05-25.md",35296],"13c3e084":[()=>a.e(73032).then(a.bind(a,41071)),"@site/adaptors/googlesheets.md",41071],"14a767b9":[()=>a.e(42958).then(a.bind(a,23344)),"@site/blog/2020-06-09-enabling-scale-at-myagro.md",23344],"14ad7d65":[()=>a.e(21151).then(a.bind(a,29774)),"@site/adaptors/library/jobs/auto/Register-Participant-V2-Skillz-2021-06-02.md",29774],"14ee1fe9":[()=>a.e(19873).then(a.bind(a,1305)),"@site/adaptors/packages/maximo-readme.md",1305],"1578031d":[()=>a.e(5566).then(a.t.bind(a,8890,19)),"~blog/default/blog-tags-global-goods-020-list.json",8890],"15d749b5":[()=>a.e(98216).then(a.bind(a,34838)),"@site/adaptors/library/jobs/auto/concatenate-many-fields-with-nulls.md",34838],"16aa9458":[()=>a.e(1080).then(a.t.bind(a,82703,19)),"~blog/articles/articles-tags-annoucement-286-list.json",82703],17896441:[()=>Promise.all([a.e(40532),a.e(3473),a.e(31466),a.e(62339)]).then(a.bind(a,78945)),"@theme/DocItem",78945],"186444dd":[()=>a.e(43699).then(a.t.bind(a,39066,19)),"~blog/default/blog-tags-redash-39e.json",39066],"186b492d":[()=>a.e(50988).then(a.bind(a,61072)),"@site/blog/2021-07-30-processes-and-open-source-as-choice.md",61072],"192eff61":[()=>a.e(23046).then(a.bind(a,94797)),"@site/adaptors/packages/googlesheets-configuration-schema.md",94797],"193bf152":[()=>a.e(72937).then(a.bind(a,32862)),"@site/adaptors/library/jobs/auto/01a-Create-Registrants-2019-11-19.md",32862],"1954649e":[()=>a.e(73745).then(a.t.bind(a,97841,19)),"~blog/articles/articles-tags-build-5ce-list.json",97841],"199fcd36":[()=>a.e(34229).then(a.t.bind(a,28314,19)),"~blog/articles/articles-tags-webpack-01f.json",28314],"1a20bc57":[()=>a.e(54468).then(a.bind(a,57905)),"@site/docs/cli.md",57905],"1a43e018":[()=>a.e(74888).then(a.bind(a,885)),"@site/adaptors/library/jobs/auto/Registration-forms-new-case-2023-06-22.md",885],"1a4e3797":[()=>Promise.all([a.e(40532),a.e(97920)]).then(a.bind(a,39172)),"@theme/SearchPage",39172],"1a848321":[()=>a.e(7332).then(a.bind(a,90539)),"@site/adaptors/packages/primero-changelog.md",90539],"1a98f2d5":[()=>a.e(78914).then(a.bind(a,30307)),"@site/adaptors/packages/mssql-configuration-schema.md",30307],"1abd0bca":[()=>a.e(17470).then(a.t.bind(a,41870,19)),"~blog/default/blog-tags-automated-reporting-f2e-list.json",41870],"1af9c7d3":[()=>a.e(25035).then(a.bind(a,33403)),"@site/adaptors/packages/mailchimp-changelog.md",33403],"1b3816a8":[()=>a.e(38574).then(a.bind(a,29244)),"@site/adaptors/library/jobs/auto/nawiri-2023-05-03.md",29244],"1be78505":[()=>Promise.all([a.e(40532),a.e(29514)]).then(a.bind(a,19963)),"@theme/DocPage",19963],"1c091541":[()=>a.e(68271).then(a.t.bind(a,24469,19)),"/home/runner/work/docs/docs/.docusaurus/docusaurus-plugin-content-blog/default/plugin-route-context-module-100.json",24469],"1c7cc376":[()=>a.e(52853).then(a.t.bind(a,72174,19)),"~blog/default/blog-tags-case-management-986-list.json",72174],"1cd349ba":[()=>a.e(66863).then(a.bind(a,6367)),"@site/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Feedback-2022-08-19.md",6367],"1d48afb9":[()=>a.e(52610).then(a.bind(a,6740)),"@site/articles/2022-09-19-auth-security.md?truncated=true",6740],"1d970e9f":[()=>a.e(45190).then(a.bind(a,71759)),"@site/blog/2020-07-01-african-school-of-excellence-case-study.md",71759],"1dd16762":[()=>Promise.all([a.e(22004),a.e(10195)]).then(a.bind(a,76024)),"@site/docs/jobs/job-studio.md",76024],"1ddde2c7":[()=>a.e(81475).then(a.bind(a,5422)),"@site/adaptors/library/jobs/auto/02a-Query-DB-for-people-to-pay-2019-12-11.md",5422],"1de77d44":[()=>a.e(40268).then(a.t.bind(a,21121,19)),"~blog/default/blog-tags-primero-4c8-list.json",21121],"1e26ddab":[()=>a.e(35304).then(a.bind(a,93624)),"@site/adaptors/packages/rapidpro-configuration-schema.md",93624],"1e27a2df":[()=>a.e(27747).then(a.t.bind(a,35524,19)),"~blog/default/blog-tags-dhis-2-382.json",35524],"1e5c0d86":[()=>a.e(64693).then(a.bind(a,67590)),"@site/adaptors/packages/zoho-configuration-schema.md",67590],"1e613d61":[()=>a.e(61536).then(a.bind(a,13167)),"@site/docs/for-devs.md",13167],"1e9ef283":[()=>a.e(11953).then(a.bind(a,5691)),"@site/adaptors/library/jobs/auto/WF3-1-Bulk-get-Person-Visit-cases-2023-05-19.md",5691],"1ee9c635":[()=>a.e(40556).then(a.bind(a,76823)),"@site/adaptors/ona.md",76823],"1ef0096b":[()=>a.e(75).then(a.t.bind(a,29579,19)),"~blog/articles/articles-tags-elixir-9ab-list.json",29579],"1f86786a":[()=>a.e(35257).then(a.t.bind(a,36258,19)),"~blog/articles/articles-tags-security-e11-list.json",36258],"1ff7f4b8":[()=>a.e(87233).then(a.t.bind(a,15196,19)),"~blog/articles/articles-tags-docker-6d5.json",15196],"1ffdd7de":[()=>a.e(3211).then(a.bind(a,91150)),"@site/docs/faqs.md",91150],"203262b0":[()=>a.e(65826).then(a.bind(a,84799)),"@site/adaptors/postgresql.md",84799],"20501ae4":[()=>a.e(8097).then(a.bind(a,18575)),"@site/blog/2020-07-01-KGVK-case-study.md",18575],"207ee67a":[()=>a.e(13812).then(a.bind(a,30358)),"@site/adaptors/packages/commcare-configuration-schema.md",30358],"208114e0":[()=>a.e(81511).then(a.bind(a,80752)),"@site/blog/2023-06-01-open-function-group.md",80752],"2091582f":[()=>a.e(74089).then(a.bind(a,82394)),"@site/docs/jobs/operations.md",82394],"20a5a532":[()=>a.e(33089).then(a.bind(a,80969)),"@site/blog/2020-06-25-SwissTPH-case-study.md?truncated=true",80969],"20a7d97c":[()=>a.e(61484).then(a.bind(a,66345)),"@site/adaptors/packages/godata-changelog.md",66345],"20f8de15":[()=>a.e(33731).then(a.bind(a,71539)),"@site/adaptors/packages/ocl-readme.md",71539],"2127c55a":[()=>a.e(51161).then(a.bind(a,39091)),"@site/adaptors/packages/mysql-changelog.md",39091],"2158648d":[()=>a.e(15015).then(a.bind(a,97764)),"@site/adaptors/packages/telerivet-docs.md",97764],"216be533":[()=>a.e(94218).then(a.bind(a,12048)),"@site/blog/2020-06-10-iKapaData-Case-Study.md?truncated=true",12048],"21b56577":[()=>a.e(7463).then(a.bind(a,80564)),"@site/articles/2021-10-22-testing-react-app-with-jest-hound.md",80564],"22885a83":[()=>a.e(97963).then(a.bind(a,92389)),"@site/adaptors/packages/openmrs-changelog.md",92389],"22ef07eb":[()=>a.e(60771).then(a.bind(a,94409)),"@site/adaptors/packages/vtiger-docs.md",94409],"22ff6767":[()=>a.e(86179).then(a.t.bind(a,45358,19)),"~blog/default/blog-tags-ibm-maximo-f60-list.json",45358],"233cd645":[()=>a.e(28573).then(a.t.bind(a,59478,19)),"~blog/default/blog-tags-case-study-116.json",59478],"237f254e":[()=>a.e(9985).then(a.bind(a,25656)),"@site/blog/2022-06-28-Data-Integration-to-better-safeguard-the-world\u2019s-wildlife.md?truncated=true",25656],"247783bb":[()=>a.e(59334).then(a.t.bind(a,83769,19)),"/home/runner/work/docs/docs/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",83769],"24a5cb68":[()=>a.e(18918).then(a.bind(a,80926)),"@site/adaptors/packages/godata-readme.md",80926],"25057d02":[()=>a.e(66070).then(a.bind(a,72943)),"@site/blog/2020-07-01-african-school-of-excellence-case-study.md?truncated=true",72943],"26c54994":[()=>a.e(74697).then(a.t.bind(a,51883,19)),"~blog/articles/articles-tags-react-76f.json",51883],"271f7228":[()=>a.e(60379).then(a.bind(a,26503)),"@site/articles/2021-02-17-syncing-options.md",26503],"274548c6":[()=>a.e(12620).then(a.bind(a,15817)),"@site/articles/2021-10-08-improving-multistage-docker-builds-using-buildx.md",15817],"277d517a":[()=>a.e(43996).then(a.bind(a,46029)),"@site/blog/2020-07-26-sinapis-case-study.md?truncated=true",46029],"27e17dc0":[()=>a.e(88795).then(a.bind(a,59157)),"@site/articles/2022-06-07-workflow-automation.md?truncated=true",59157],"283e63f8":[()=>a.e(44157).then(a.t.bind(a,52844,19)),"~blog/default/blog-tags-announcement-752.json",52844],"28411ba4":[()=>a.e(98418).then(a.bind(a,2440)),"@site/adaptors/packages/resourcemap-configuration-schema.md",2440],"285ad496":[()=>a.e(17773).then(a.bind(a,91713)),"@site/adaptors/packages/mailchimp-readme.md",91713],"29a36bd7":[()=>a.e(14694).then(a.t.bind(a,3061,19)),"~blog/default/blog-tags-development-9e5-list.json",3061],"2bb14bf0":[()=>a.e(1140).then(a.bind(a,28655)),"@site/adaptors/cht.md",28655],"2bf9c0b5":[()=>a.e(86984).then(a.bind(a,10234)),"@site/adaptors/library/jobs/auto/Load-to-DB-2022-05-16.md",10234],"2c828998":[()=>a.e(25903).then(a.bind(a,71237)),"@site/adaptors/packages/openmrs-configuration-schema.md",71237],"2d1a235c":[()=>a.e(88941).then(a.bind(a,6897)),"@site/docs/manage/platform-mgmt.md",6897],"2d52fc42":[()=>a.e(4825).then(a.bind(a,27475)),"@site/adaptors/library/jobs/auto/2-SMS-Balance-Update-to-Customer-2018-12-14.md",27475],"2d68e16b":[()=>a.e(40597).then(a.bind(a,667)),"@site/adaptors/library/jobs/auto/Upsert-Post-Challenges-2021-04-30.md",667],"2db499ae":[()=>a.e(37737).then(a.bind(a,11973)),"@site/adaptors/library/jobs/auto/Load-to-DHIS2-2023-07-17.md",11973],"2dcd28d2":[()=>a.e(31262).then(a.bind(a,3925)),"@site/adaptors/packages/mailchimp-docs.md",3925],"2e7fdd6f":[()=>a.e(14050).then(a.t.bind(a,41408,19)),"~blog/articles/articles-tags-jobs-ef5.json",41408],"2f06f2be":[()=>a.e(1685).then(a.bind(a,47296)),"@site/adaptors/packages/zoho-docs.md",47296],"2f989304":[()=>a.e(41856).then(a.bind(a,95421)),"@site/docs/build/troubleshooting.md",95421],"2fd22369":[()=>a.e(78046).then(a.bind(a,90170)),"@site/adaptors/packages/beyonic-changelog.md",90170],"3062d10d":[()=>a.e(12831).then(a.t.bind(a,38147,19)),"~blog/articles/articles-tags-js-b88-list.json",38147],"30995fb4":[()=>a.e(56852).then(a.bind(a,56779)),"@site/adaptors/packages/surveycto-changelog.md",56779],"30ddeb5e":[()=>a.e(11990).then(a.bind(a,40153)),"@site/adaptors/packages/dynamics-docs.md",40153],"3124230e":[()=>a.e(59891).then(a.t.bind(a,76955,19)),"~blog/articles/articles-tags-testing-44b-list.json",76955],"31b72ec5":[()=>a.e(34737).then(a.bind(a,6970)),"@site/adaptors/packages/progres-changelog.md",6970],"31d20e13":[()=>a.e(45112).then(a.bind(a,91457)),"@site/adaptors/packages/beyonic-readme.md",91457],"326c0af7":[()=>a.e(47214).then(a.bind(a,1208)),"@site/adaptors/packages/http-changelog.md",1208],"330b8ea1":[()=>a.e(39799).then(a.bind(a,89446)),"@site/adaptors/packages/smpp-configuration-schema.md",89446],"33844ff3":[()=>a.e(34490).then(a.bind(a,69881)),"@site/adaptors/library/jobs/auto/async-findValue.md",69881],"33e1509d":[()=>a.e(11439).then(a.bind(a,26548)),"@site/blog/2021-07-30-processes-and-open-source-as-choice.md?truncated=true",26548],"341bd61f":[()=>a.e(55776).then(a.t.bind(a,22827,19)),"~blog/default/blog-tags-zoho-aea.json",22827],"342f32a4":[()=>a.e(80505).then(a.t.bind(a,50166,19)),"~blog/articles/articles-tags-phoenix-424-list.json",50166],"352bf367":[()=>a.e(60992).then(a.bind(a,13475)),"@site/adaptors/library/jobs/auto/Q3-2022-Upsert-Person-2022-04-21.md",13475],"36788d15":[()=>a.e(89642).then(a.t.bind(a,40493,19)),"~blog/default/blog-tags-kobo-toolbox-0a1-list.json",40493],"3685f909":[()=>a.e(71592).then(a.t.bind(a,96193,19)),"~blog/articles/articles-tags-security-e11.json",96193],"36a143db":[()=>a.e(67560).then(a.bind(a,51454)),"@site/articles/2021-02-17-syncing-options.md?truncated=true",51454],"36ded102":[()=>a.e(66102).then(a.t.bind(a,2732,19)),"~blog/articles/articles-tags-browser-testing-8ac-list.json",2732],"385718d4":[()=>a.e(30117).then(a.bind(a,8946)),"@site/adaptors/packages/mssql-readme.md",8946],"3874af3e":[()=>a.e(23913).then(a.bind(a,98652)),"@site/adaptors/packages/sftp-readme.md",98652],"38eccbde":[()=>a.e(55494).then(a.bind(a,19496)),"@site/adaptors/library/jobs/auto/Q3-2022-Upsert-Person-Visit-2022-06-28.md",19496],"3947b16e":[()=>a.e(22235).then(a.bind(a,57753)),"@site/adaptors/library/jobs/auto/Malaria-Testing-Event-Statistics-2021-05-03.md",57753],"39906be8":[()=>a.e(6819).then(a.t.bind(a,30648,19)),"~blog/default/blog-tags-redash-39e-list.json",30648],"39e9cb37":[()=>a.e(88652).then(a.bind(a,44257)),"@site/adaptors/packages/rapidpro-readme.md",44257],"3a232380":[()=>a.e(16203).then(a.bind(a,71048)),"@site/docs/getting-started/integration-toolkit.md",71048],"3a574a7f":[()=>a.e(53962).then(a.bind(a,87634)),"@site/blog/2023-08-14-OS4H-case-study.md?truncated=true",87634],"3aef9c59":[()=>a.e(46564).then(a.bind(a,99652)),"@site/docs/writing-code.md",99652],"3bc428dc":[()=>a.e(87070).then(a.bind(a,55775)),"@site/adaptors/packages/progres-readme.md",55775],"3c41cfdf":[()=>a.e(31883).then(a.bind(a,25347)),"@site/adaptors/packages/commcare-docs.md",25347],"3cc638e0":[()=>a.e(75558).then(a.t.bind(a,99233,19)),"~blog/articles/articles-tags-react-76f-list.json",99233],"3cf47477":[()=>a.e(64477).then(a.bind(a,11368)),"@site/adaptors/library/jobs/auto/Upsert-Attendance-Skillz-Plus-Club-2021-05-24.md",11368],"3d5c28b0":[()=>a.e(12306).then(a.bind(a,67082)),"@site/adaptors/salesforce.md",67082],"3d8bf3ab":[()=>a.e(20868).then(a.bind(a,16400)),"@site/adaptors/packages/facebook-changelog.md",16400],"3d8d21df":[()=>a.e(6535).then(a.bind(a,91171)),"@site/docs/about.md",91171],"3de04134":[()=>a.e(57178).then(a.bind(a,94073)),"@site/docs/getting-started/integrating-using-openfn.md",94073],"3e171e78":[()=>a.e(84568).then(a.t.bind(a,61137,19)),"~blog/default/blog-tags-kopo-kopo-6ae.json",61137],"3e1cef53":[()=>a.e(1589).then(a.bind(a,20188)),"@site/adaptors/packages/nexmo-changelog.md",20188],"3f2ad086":[()=>a.e(51917).then(a.bind(a,46771)),"@site/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Household-Spot-Check-2022-08-24.md",46771],"3fa9568c":[()=>a.e(34050).then(a.t.bind(a,63123,19)),"~blog/default/blog-tags-airport-3da-list.json",63123],"406b186f":[()=>a.e(56522).then(a.t.bind(a,7763,19)),"~blog/default/blog-tags-my-sql-540-list.json",7763],"40fd761e":[()=>a.e(96545).then(a.t.bind(a,53187,19)),"~blog/default/blog-tags-st-lucia-62b.json",53187],"419e73d5":[()=>a.e(74300).then(a.bind(a,57051)),"@site/adaptors/packages/smpp-readme.md",57051],"4224ef00":[()=>a.e(86565).then(a.bind(a,85577)),"@site/adaptors/kobotoolbox.md",85577],"4256eaf4":[()=>a.e(86719).then(a.bind(a,46828)),"@site/adaptors/packages/mongodb-docs.md",46828],"437618c4":[()=>a.e(10660).then(a.bind(a,63866)),"@site/blog/2022-06-28-Data-Integration-to-better-safeguard-the-world\u2019s-wildlife.md",63866],"444d5ed4":[()=>a.e(65442).then(a.bind(a,92986)),"@site/adaptors/packages/mailchimp-configuration-schema.md",92986],"45062c3f":[()=>a.e(55547).then(a.t.bind(a,64792,19)),"~blog/default/blog-tags-wcs-f94-list.json",64792],"450c527f":[()=>a.e(73446).then(a.bind(a,51233)),"@site/adaptors/packages/sftp-configuration-schema.md",51233],"45a8dc52":[()=>a.e(63812).then(a.bind(a,92339)),"@site/adaptors/library/jobs/auto/Upsert-Pre-Challenges-2021-04-30.md",92339],"45b0764f":[()=>a.e(9562).then(a.bind(a,44255)),"@site/blog/2020-06-04-Building-Integrated-Systems-That-Just-Work.md",44255],"45b3f811":[()=>a.e(17238).then(a.bind(a,25351)),"@site/adaptors/packages/salesforce-configuration-schema.md",25351],"460d220e":[()=>a.e(64947).then(a.bind(a,68128)),"@site/adaptors/packages/smpp-changelog.md",68128],"4646a8a4":[()=>a.e(59650).then(a.t.bind(a,74184,19)),"~blog/default/blog-tags-caris-foundation-ae9-list.json",74184],"4649e1c2":[()=>a.e(52025).then(a.t.bind(a,40998,19)),"~blog/articles/articles-tags-solution-037.json",40998],"4656ed6c":[()=>a.e(66433).then(a.bind(a,63399)),"@site/docs/jobs/errors.md",63399],"46bd2088":[()=>a.e(82276).then(a.bind(a,10083)),"@site/adaptors/packages/khanacademy-configuration-schema.md",10083],"471dcc6f":[()=>a.e(29889).then(a.t.bind(a,8734,19)),"~blog/default/blog-tags-payments-022.json",8734],"479e2d15":[()=>a.e(57019).then(a.bind(a,17052)),"@site/adaptors/packages/khanacademy-readme.md",17052],"48052ce1":[()=>a.e(8985).then(a.t.bind(a,44117,19)),"~blog/default/blog-tags-agriculture-1ba-list.json",44117],"49dd7e39":[()=>a.e(51065).then(a.bind(a,92479)),"@site/docs/instant-openhie.md",92479],"4aa43dae":[()=>a.e(31552).then(a.bind(a,87046)),"@site/adaptors/library/jobs/auto/send-mail-in-mailgun.md",87046],"4aaa0f44":[()=>a.e(8765).then(a.bind(a,6772)),"@site/adaptors/packages/twilio-docs.md",6772],"4b75119c":[()=>a.e(94831).then(a.bind(a,60406)),"@site/articles/2020-12-09-upsert-in-dhis2.md",60406],"4be7e5d0":[()=>a.e(44988).then(a.bind(a,38499)),"@site/adaptors/packages/rapidpro-docs.md",38499],"4c2772ab":[()=>a.e(69276).then(a.t.bind(a,49841,19)),"~blog/default/blog-tags-swiss-tph-a38.json",49841],"4cbb880b":[()=>a.e(87557).then(a.bind(a,76099)),"@site/adaptors/packages/mailgun-docs.md",76099],"4cd34504":[()=>a.e(5484).then(a.bind(a,52992)),"@site/blog/2023-04-13-lightning-beta.md?truncated=true",52992],"4e3d1533":[()=>a.e(58701).then(a.t.bind(a,16253,19)),"~blog/default/blog-tags-wildlife-907-list.json",16253],"4ef2e3ea":[()=>a.e(61624).then(a.t.bind(a,25845,19)),"~blog/articles/articles-tags-how-to-3b6-list.json",25845],"4ef508e9":[()=>a.e(56123).then(a.bind(a,47884)),"@site/adaptors/packages/fhir-configuration-schema.md",47884],"4f0c7b96":[()=>a.e(87802).then(a.t.bind(a,51627,19)),"~blog/default/blog-tags-moh-cfb-list.json",51627],"4f3e32ec":[()=>a.e(48338).then(a.t.bind(a,55118,19)),"~blog/default/blog-tags-agriculture-1ba.json",55118],"4f8f7d74":[()=>a.e(42531).then(a.bind(a,35236)),"@site/adaptors/library/jobs/auto/CHW-case-to-DHIS2-2023-04-27.md",35236],"500fb0e6":[()=>a.e(83897).then(a.bind(a,77416)),"@site/adaptors/library/jobs/auto/05-Submit-employee-evaluation-2019-12-03.md",77416],"50711b5c":[()=>a.e(19014).then(a.bind(a,39919)),"@site/adaptors/packages/primero-configuration-schema.md",39919],"507e1a4c":[()=>a.e(58509).then(a.t.bind(a,62276,19)),"~blog/articles/articles-archive-305.json",62276],"512d8cfa":[()=>a.e(38968).then(a.t.bind(a,21496,19)),"~blog/articles/articles-tags-annoucement-286.json",21496],"5153790b":[()=>a.e(59139).then(a.bind(a,12621)),"@site/adaptors/library/jobs/auto/WF1-1-Bulk-get-HH-cases-2023-05-19.md",12621],"519cbeed":[()=>a.e(86621).then(a.bind(a,55919)),"@site/blog/2020-06-04-Building-Integrated-Systems-That-Just-Work.md?truncated=true",55919],"524c9166":[()=>a.e(91705).then(a.bind(a,85197)),"@site/adaptors/library/jobs/auto/Create-Person-in-SF-2019-02-25.md",85197],"5426ac11":[()=>a.e(90560).then(a.bind(a,91479)),"@site/adaptors/packages/surveycto-readme.md",91479],"54e91ab5":[()=>a.e(7911).then(a.bind(a,5556)),"@site/adaptors/library/jobs/auto/WF3-2a-Repeat-Failed-Person-Visits-2023-05-31.md",5556],"554f4bd3":[()=>a.e(47077).then(a.bind(a,38796)),"@site/adaptors/packages/openfn-readme.md",38796],"5575e2a8":[()=>a.e(50258).then(a.bind(a,5394)),"@site/adaptors/library/jobs/auto/Q3-2022-Upsert-Household-Household-Visit-in-SF-2022-06-28.md",5394],"55ac83aa":[()=>a.e(42251).then(a.bind(a,83224)),"@site/articles/2021-10-15-webpack-to-esbuild-part1.md",83224],"55bb925b":[()=>a.e(22605).then(a.bind(a,92614)),"@site/blog/2020-05-31-the-new-openfn-blog.md",92614],"55cceff7":[()=>a.e(13986).then(a.t.bind(a,93020,19)),"~blog/default/blog-tags-tips-f72-list.json",93020],"5610898c":[()=>a.e(14687).then(a.t.bind(a,29251,19)),"~blog/articles/articles-tags-webpack-01f-list.json",29251],"5653e10f":[()=>a.e(43905).then(a.bind(a,34529)),"@site/adaptors/library/jobs/auto/02b-Initiate-Payments-2019-11-19.md",34529],"565d3b3a":[()=>a.e(86236).then(a.t.bind(a,53343,19)),"~blog/default/blog-tags-swiss-tph-a38-list.json",53343],"56b2a431":[()=>a.e(72978).then(a.bind(a,19640)),"@site/adaptors/commcare.md",19640],57859375:[()=>a.e(33059).then(a.bind(a,8466)),"@site/docs/getting-started/use-cases.md",8466],"57fbf2bd":[()=>a.e(23067).then(a.bind(a,6389)),"@site/adaptors/packages/twilio-configuration-schema.md",6389],"58cbfb5a":[()=>a.e(46953).then(a.t.bind(a,91936,19)),"~blog/articles/articles-tags-browser-testing-8ac.json",91936],"59b068d1":[()=>a.e(66385).then(a.t.bind(a,7085,19)),"/home/runner/work/docs/docs/.docusaurus/docusaurus-theme-search-algolia/default/plugin-route-context-module-100.json",7085],"5a047bf8":[()=>a.e(15795).then(a.t.bind(a,75236,19)),"~blog/default/blog-tags-sms-124-list.json",75236],"5b5d0fd6":[()=>a.e(11483).then(a.bind(a,37681)),"@site/adaptors/packages/openmrs-docs.md",37681],"5bcd0da1":[()=>a.e(45452).then(a.bind(a,98690)),"@site/adaptors/packages/bigquery-readme.md",98690],"5cecf783":[()=>a.e(52409).then(a.t.bind(a,10599,19)),"~blog/default/blog-tags-case-management-986.json",10599],"5de53f8e":[()=>a.e(33889).then(a.t.bind(a,43441,19)),"~blog/default/blog-tags-data-warehouse-c83-list.json",43441],"5dfb628f":[()=>a.e(12573).then(a.bind(a,37664)),"@site/adaptors/packages/nexmo-docs.md",37664],"5e1c9ef2":[()=>a.e(13633).then(a.t.bind(a,34836,19)),"~blog/default/blog-tags-zoho-aea-list.json",34836],"5e1dea11":[()=>a.e(22409).then(a.bind(a,54378)),"@site/adaptors/library/jobs/auto/Upsert-Confirm-Services-Received-2021-06-14.md",54378],"5e450bcf":[()=>a.e(10924).then(a.bind(a,74550)),"@site/adaptors/packages/bigquery-changelog.md",74550],"5e95c167":[()=>a.e(24219).then(a.bind(a,62903)),"@site/adaptors/packages/openfn-changelog.md",62903],"5e9f5e1a":[()=>Promise.resolve().then(a.bind(a,36809)),"@generated/docusaurus.config",36809],"5ede04c0":[()=>a.e(6450).then(a.t.bind(a,23276,19)),"~blog/default/blog-tags-caris-foundation-ae9.json",23276],"5f0700c5":[()=>a.e(25857).then(a.t.bind(a,44087,19)),"~blog/default/blog-tags-data-warehouse-c83.json",44087],"5f0cc255":[()=>a.e(85586).then(a.bind(a,92334)),"@site/blog/2020-07-13-x-runner-case-study.md",92334],"5f1113d5":[()=>a.e(82818).then(a.bind(a,20986)),"@site/adaptors/library/jobs/auto/0-Get-TEI-data-2021-06-02.md",20986],"5f16d91a":[()=>a.e(68618).then(a.bind(a,98055)),"@site/adaptors/packages/openfn-configuration-schema.md",98055],"5f265cf4":[()=>a.e(20512).then(a.bind(a,21429)),"@site/adaptors/packages/template-changelog.md",21429],"5f6910fd":[()=>a.e(81155).then(a.bind(a,67466)),"@site/adaptors/library/jobs/auto/DHIS2-Events-API.md",67466],"5f87d652":[()=>a.e(96857).then(a.bind(a,72538)),"@site/adaptors/packages/kobotoolbox-changelog.md",72538],"5fa25c43":[()=>a.e(81757).then(a.t.bind(a,42387,19)),"~blog/default/blog-tags-sms-124.json",42387],"5fb0ec3e":[()=>a.e(31350).then(a.bind(a,70552)),"@site/adaptors/packages/dynamics-readme.md",70552],"5ffd6909":[()=>a.e(48690).then(a.bind(a,4899)),"@site/adaptors/packages/mssql-changelog.md",4899],"60194cf2":[()=>a.e(26723).then(a.bind(a,17319)),"@site/articles/2022-06-07-workflow-automation.md",17319],"608d3bbe":[()=>a.e(95520).then(a.t.bind(a,46868,19)),"~blog/articles/articles-tags-ci-cd-ddc-list.json",46868],"60a00565":[()=>a.e(4804).then(a.bind(a,62906)),"@site/adaptors/library/jobs/auto/Upsert-Register-Participant-2021-04-28.md",62906],"60ab92b2":[()=>a.e(9966).then(a.bind(a,12425)),"@site/articles/2021-07-05-wrapping-my-head-around-jobs.md",12425],"60e9e07a":[()=>a.e(97901).then(a.bind(a,37049)),"@site/adaptors/library/jobs/auto/complex-http-request-chains.md",37049],"60f1bcf9":[()=>a.e(10309).then(a.bind(a,96266)),"@site/adaptors/packages/kobotoolbox-docs.md",96266],61428574:[()=>a.e(72543).then(a.bind(a,90867)),"@site/adaptors/packages/postgresql-docs.md",90867],"614beed4":[()=>a.e(18384).then(a.t.bind(a,85545,19)),"~blog/default/blog-tags-telerivet-490-list.json",85545],"62b71d38":[()=>a.e(79495).then(a.bind(a,75606)),"@site/adaptors/library/triggers/xmlns.md",75606],"6310fd48":[()=>a.e(81938).then(a.bind(a,78135)),"@site/adaptors/packages/http-readme.md",78135],"65e8e75e":[()=>a.e(50103).then(a.bind(a,31554)),"@site/adaptors/library/jobs/auto/WF2-2-Bulk-upsert-Persons-2023-05-19.md",31554],"661132b8":[()=>a.e(97092).then(a.t.bind(a,19572,19)),"~blog/default/blog-tags-development-9e5.json",19572],"6620b2c9":[()=>a.e(80867).then(a.t.bind(a,40125,19)),"~blog/default/blog-tags-salesforce-151-list.json",40125],"665c23b8":[()=>a.e(23024).then(a.bind(a,88207)),"@site/adaptors/surveycto.md",88207],"6680323d":[()=>a.e(17753).then(a.bind(a,44575)),"@site/adaptors/packages/surveycto-docs.md",44575],"669b0b95":[()=>a.e(37120).then(a.bind(a,71136)),"@site/blog/2023-04-13-lightning-beta.md",71136],"671081f5":[()=>a.e(73881).then(a.bind(a,85714)),"@site/docs/getting-started/security.md",85714],"6738a51a":[()=>a.e(35506).then(a.bind(a,84462)),"@site/adaptors/library/jobs/auto/Get-CommCare-Forms-Bulk-Extract-2022-05-16.md",84462],"677d6777":[()=>a.e(44911).then(a.bind(a,89482)),"@site/adaptors/packages/dhis2-readme.md",89482],"67c4a832":[()=>a.e(40548).then(a.t.bind(a,12226,19)),"~blog/default/blog-tags-open-solutions-for-health-815-list.json",12226],"6850cfb6":[()=>a.e(50003).then(a.t.bind(a,68713,19)),"~blog/default/blog-tags-salesforce-151.json",68713],"6875c492":[()=>Promise.all([a.e(40532),a.e(3473),a.e(31466),a.e(46048),a.e(48610)]).then(a.bind(a,41714)),"@theme/BlogTagsPostsPage",41714],"68987ad2":[()=>a.e(53202).then(a.bind(a,14921)),"@site/adaptors/library/jobs/auto/Register-Patient-2021-03-02.md",14921],"68cedfd5":[()=>a.e(74083).then(a.bind(a,92293)),"@site/adaptors/packages/khanacademy-changelog.md",92293],69802526:[()=>a.e(85528).then(a.t.bind(a,77713,19)),"~blog/default/blog-tags-postgre-sql-2b9.json",77713],"699a47d0":[()=>a.e(60712).then(a.bind(a,46844)),"@site/blog/2020-07-01-airport-case-study.md?truncated=true",46844],"6a3a4a87":[()=>a.e(64880).then(a.bind(a,90183)),"@site/adaptors/packages/common-changelog.md",90183],"6aa8733e":[()=>a.e(14817).then(a.bind(a,11775)),"@site/adaptors/library/jobs/auto/WF4-2-Bulk-upsert-Services-2023-05-19.md",11775],"6af54863":[()=>a.e(49517).then(a.bind(a,53359)),"@site/adaptors/packages/magpi-changelog.md",53359],"6bb55549":[()=>a.e(81312).then(a.t.bind(a,92406,19)),"~blog/default/blog-tags-cambodia-051.json",92406],"6bf3b56c":[()=>a.e(99217).then(a.t.bind(a,10068,19)),"~blog/articles/articles-page-2-54f.json",10068],"6c5c20d6":[()=>a.e(72514).then(a.bind(a,37427)),"@site/blog/2020-06-04-Technology-Isnt-The-Answer.md",37427],"6cb21577":[()=>a.e(32674).then(a.bind(a,77148)),"@site/adaptors/intro.mdx",77148],"6ccb7d3e":[()=>a.e(76130).then(a.t.bind(a,78822,19)),"~blog/default/blog-tags-healthcare-b98-list.json",78822],"6d0c6131":[()=>a.e(76575).then(a.bind(a,94400)),"@site/adaptors/library/jobs/auto/Pay-CHW-2021-04-23.md",94400],"6d30ac0a":[()=>a.e(70486).then(a.bind(a,96289)),"@site/adaptors/packages/zoho-readme.md",96289],"6de65b44":[()=>a.e(6367).then(a.bind(a,37030)),"@site/adaptors/packages/facebook-configuration-schema.md",37030],"6f4af312":[()=>a.e(70363).then(a.t.bind(a,80883,19)),"~blog/default/blog-tags-carto-30c.json",80883],"6f69b847":[()=>a.e(160).then(a.bind(a,52592)),"@site/articles/2021-05-24-commcare-events.md",52592],"6fa39f86":[()=>a.e(87746).then(a.bind(a,33843)),"@site/adaptors/packages/http-docs.md",33843],"708cde07":[()=>a.e(51652).then(a.bind(a,19431)),"@site/adaptors/library/jobs/auto/05a-Query-for-new-employees-2019-12-19.md",19431],"70b40441":[()=>a.e(81487).then(a.bind(a,46580)),"@site/adaptors/library/jobs/auto/complex-state-control.md",46580],"734563d5":[()=>a.e(52739).then(a.bind(a,43675)),"@site/adaptors/packages/mailgun-readme.md",43675],"7356945f":[()=>a.e(79559).then(a.bind(a,31316)),"@site/adaptors/packages/ocl-docs.md",31316],"73578edf":[()=>a.e(25294).then(a.bind(a,99393)),"@site/adaptors/library/jobs/auto/WF4-1-Bulk-get-Referral-Cases-2023-05-19.md",99393],"741a738c":[()=>a.e(47642).then(a.t.bind(a,39039,19)),"~blog/default/blog-tags-payments-022-list.json",39039],"747a690f":[()=>a.e(30636).then(a.bind(a,86039)),"@site/adaptors/packages/dhis2-configuration-schema.md",86039],"75270caf":[()=>a.e(39210).then(a.bind(a,32650)),"@site/adaptors/packages/fhir-changelog.md",32650],"75ae40a4":[()=>a.e(51818).then(a.t.bind(a,9482,19)),"~blog/default/blog-tags-learning-management-system-e58.json",9482],"771488fd":[()=>a.e(76874).then(a.bind(a,69721)),"@site/adaptors/packages/sftp-changelog.md",69721],77354108:[()=>a.e(54239).then(a.t.bind(a,95306,19)),"~blog/default/blog-tags-os-ca-r-c67.json",95306],"776f5947":[()=>a.e(69279).then(a.t.bind(a,67985,19)),"~blog/default/blog-tags-postgre-sql-2b9-list.json",67985],"77e868d9":[()=>a.e(70970).then(a.bind(a,83270)),"@site/blog/2020-07-08-caris-foundation-case-study.md?truncated=true",83270],"77faeb23":[()=>a.e(46353).then(a.t.bind(a,37171,19)),"~blog/default/blog-tags-data-monitoring-a38-list.json",37171],"783bde4f":[()=>a.e(97470).then(a.t.bind(a,46204,19)),"~blog/default/blog-tags-m-pesa-f15.json",46204],"78b226dc":[()=>a.e(44953).then(a.bind(a,77250)),"@site/adaptors/library/jobs/auto/Upsert-Service-Referral-2-2021-06-14.md",77250],"7a35092c":[()=>a.e(31326).then(a.bind(a,2864)),"@site/blog/2020-06-10-iKapaData-Case-Study.md",2864],"7a801707":[()=>a.e(18967).then(a.bind(a,22046)),"@site/adaptors/packages/primero-docs.md",22046],"7b20acf0":[()=>a.e(95752).then(a.t.bind(a,99561,19)),"~blog/default/blog-tags-os-ca-r-c67-list.json",99561],"7b2e7fac":[()=>a.e(69048).then(a.t.bind(a,48525,19)),"~blog/default/blog-tags-learning-management-system-e58-list.json",48525],"7ee80f24":[()=>a.e(20396).then(a.bind(a,68443)),"@site/adaptors/packages/bigquery-docs.md",68443],"7f0b639b":[()=>a.e(95358).then(a.t.bind(a,47910,19)),"~blog/default/blog-tags-automated-reporting-f2e.json",47910],"7f2f79c2":[()=>a.e(55501).then(a.t.bind(a,52014,19)),"~blog/articles/articles-tags-testing-44b.json",52014],"7f6bbd73":[()=>a.e(46526).then(a.bind(a,61258)),"@site/adaptors/packages/postgresql-changelog.md",61258],"7f9948f6":[()=>a.e(29049).then(a.bind(a,39017)),"@site/docs/writing-docs.md",39017],"802db911":[()=>a.e(66618).then(a.bind(a,57873)),"@site/adaptors/packages/template-configuration-schema.md",57873],"80a6599d":[()=>a.e(19262).then(a.t.bind(a,55480,19)),"~blog/articles/articles-tags-authentication-897-list.json",55480],"814f3328":[()=>a.e(52535).then(a.t.bind(a,45641,19)),"~blog/default/blog-post-list-prop-default.json",45641],"81c93763":[()=>a.e(4993).then(a.bind(a,16517)),"@site/adaptors/packages/commcare-readme.md",16517],"81ce5e0c":[()=>a.e(42349).then(a.t.bind(a,87353,19)),"~blog/default/blog-tags-wildlife-907.json",87353],"81e594d4":[()=>a.e(87644).then(a.bind(a,47574)),"@site/adaptors/library/jobs/auto/Add-DHIS2-Data-Value-Sets-2016-03-28.md",47574],"81eac5d3":[()=>a.e(14601).then(a.t.bind(a,37804,19)),"~blog/default/blog-tags-supply-chain-system-4f0-list.json",37804],"82092fc0":[()=>a.e(90288).then(a.t.bind(a,60146,19)),"~blog/default/blog-tags-unicef-b33-list.json",60146],"8310c4f6":[()=>a.e(21271).then(a.bind(a,14293)),"@site/adaptors/packages/mailgun-configuration-schema.md",14293],"83170ae2":[()=>a.e(18308).then(a.t.bind(a,49215,19)),"~blog/default/blog-tags-open-solutions-for-health-815.json",49215],"83218c8a":[()=>a.e(18527).then(a.t.bind(a,95569,19)),"~blog/default/blog-tags-comm-care-5d2-list.json",95569],"8328e7f1":[()=>a.e(42412).then(a.bind(a,87846)),"@site/adaptors/packages/twilio-readme.md",87846],"833f2ec0":[()=>a.e(24742).then(a.bind(a,28891)),"@site/adaptors/packages/ocl-configuration-schema.md",28891],"83dc33dd":[()=>a.e(61247).then(a.bind(a,83137)),"@site/docs/openfn-roadmap.md",83137],"8435c5ad":[()=>a.e(89959).then(a.t.bind(a,5726,19)),"~blog/default/blog-tags-supply-chain-system-4f0.json",5726],84810683:[()=>a.e(40804).then(a.bind(a,94803)),"@site/adaptors/packages/common-docs.md",94803],"853164ef":[()=>a.e(19881).then(a.t.bind(a,99864,19)),"~blog/articles/articles-tags-authorization-826-list.json",99864],"853ddb5d":[()=>a.e(50758).then(a.bind(a,52340)),"@site/adaptors/library/jobs/auto/01b-Query-new-person-record-2019-12-13.md",52340],"85f847a7":[()=>a.e(32672).then(a.bind(a,27444)),"@site/adaptors/packages/common-configuration-schema.md",27444],"8660c4b6":[()=>a.e(24067).then(a.bind(a,31350)),"@site/adaptors/library/jobs/auto/Create-Intervention-2021-04-08.md",31350],"868893ac":[()=>a.e(42541).then(a.t.bind(a,2684,19)),"~blog/default/blog-tags-telerivet-490.json",2684],"869c9c27":[()=>a.e(53244).then(a.bind(a,17122)),"@site/adaptors/packages/mogli-configuration-schema.md",17122],"86b52bb0":[()=>a.e(57684).then(a.t.bind(a,11173,19)),"~blog/default/blog-tags-unicef-b33.json",11173],"879bb888":[()=>a.e(88529).then(a.t.bind(a,17622,19)),"~blog/default/blog-tags-health-282.json",17622],"87d0342b":[()=>a.e(83006).then(a.bind(a,62329)),"@site/articles/2021-10-29-how-learning-javascript-helped-me-better-understand-jobs.md?truncated=true",62329],"885e9765":[()=>a.e(936).then(a.bind(a,73742)),"@site/docs/build/lightning-quick-start.md",73742],"88b398be":[()=>a.e(78941).then(a.bind(a,13404)),"@site/blog/2023-06-01-open-function-group.md?truncated=true",13404],"890759ea":[()=>a.e(78659).then(a.bind(a,16591)),"@site/adaptors/library/jobs/auto/create-if-proposal.md",16591],"8977ff65":[()=>a.e(95997).then(a.bind(a,33841)),"@site/adaptors/library/jobs/auto/Create-Person-in-OpenMRS-2016-02-12.md",33841],"89ebc8eb":[()=>a.e(74113).then(a.t.bind(a,5492,19)),"~blog/default/blog-tags-african-school-of-excellence-b27.json",5492],"89f741ca":[()=>a.e(17191).then(a.bind(a,14255)),"@site/adaptors/packages/mailgun-changelog.md",14255],"8b0d3319":[()=>a.e(57698).then(a.t.bind(a,99231,19)),"~blog/default/blog-tags-my-agro-a99-list.json",99231],"8b77e1a5":[()=>a.e(39626).then(a.bind(a,53764)),"@site/adaptors/library/jobs/auto/Extract-Vitas-Data-2021-05-11.md",53764],"8c2c25e6":[()=>a.e(14419).then(a.bind(a,13746)),"@site/adaptors/library/jobs/auto/Upsert-Team-Group-Name-2021-04-28.md",13746],"8cbfacc6":[()=>a.e(58452).then(a.bind(a,66223)),"@site/docs/standards/digital-public-goods.md",66223],"8d1ec4c5":[()=>a.e(43521).then(a.bind(a,78393)),"@site/adaptors/library/jobs/auto/DHIS2-Events-2016-01-27.md",78393],"8e10bb86":[()=>a.e(69962).then(a.bind(a,61376)),"@site/adaptors/packages/smpp-docs.md",61376],"8e37cc44":[()=>a.e(76786).then(a.bind(a,34732)),"@site/adaptors/library/jobs/auto/GET-Data-From-KoboToolbox-2022-03-22.md",34732],"8e97cc15":[()=>a.e(37874).then(a.bind(a,42887)),"@site/adaptors/packages/telerivet-readme.md",42887],"8eb4e46b":[()=>a.e(10001).then(a.t.bind(a,82638,19)),"~blog/default/blog-page-2-677.json",82638],"8ed61535":[()=>a.e(82024).then(a.t.bind(a,88493,19)),"~blog/default/blog-tags-mssql-d68.json",88493],"8f2b69b3":[()=>a.e(16634).then(a.bind(a,43230)),"@site/docs/getting-started/deployment-options.md",43230],"8f8e3a33":[()=>a.e(19624).then(a.bind(a,39558)),"@site/adaptors/library/jobs/auto/promise-all-nested-requests.md",39558],"8fa4918e":[()=>a.e(45566).then(a.t.bind(a,3759,19)),"~blog/default/blog-tags-healthcare-b98.json",3759],90377122:[()=>a.e(87494).then(a.bind(a,57312)),"@site/adaptors/library/jobs/auto/WF1-2-Bulk-upsert-HHs-and-HH-Visits-2023-05-19.md",57312],"903c4f6f":[()=>a.e(84728).then(a.bind(a,71158)),"@site/adaptors/library/jobs/auto/Upsert-Register-Skills-plus-Club-2021-04-30.md",71158],"90d535c2":[()=>a.e(24869).then(a.bind(a,9640)),"@site/adaptors/packages/openhim-readme.md",9640],"90e38f0d":[()=>a.e(96110).then(a.bind(a,40244)),"@site/docs/build/example-build.md",40244],"916b8fda":[()=>a.e(32107).then(a.bind(a,82450)),"@site/adaptors/library/jobs/auto/Fetch-Claims-2023-07-17.md",82450],"919ee986":[()=>a.e(21481).then(a.bind(a,33222)),"@site/articles/2021-07-05-wrapping-my-head-around-jobs.md?truncated=true",33222],"92009f0a":[()=>a.e(18073).then(a.bind(a,83242)),"@site/adaptors/godata.md",83242],"927acbbf":[()=>a.e(81448).then(a.bind(a,58212)),"@site/docs/portability.md",58212],"92999a1c":[()=>a.e(18442).then(a.t.bind(a,15310,19)),"~blog/default/blog-page-3-fd4.json",15310],"92af7f04":[()=>a.e(63445).then(a.t.bind(a,37206,19)),"~blog/default/blog-tags-cambodia-051-list.json",37206],"92bdb8f4":[()=>a.e(81649).then(a.bind(a,46216)),"@site/adaptors/packages/asana-readme.md",46216],"92e661e4":[()=>a.e(56147).then(a.bind(a,2765)),"@site/adaptors/packages/magpi-docs.md",2765],"933a49e7":[()=>a.e(52765).then(a.bind(a,51839)),"@site/adaptors/packages/template-docs.md",51839],"935f2afb":[()=>a.e(80053).then(a.t.bind(a,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"954fe712":[()=>a.e(7432).then(a.t.bind(a,18964,19)),"~blog/default/blog-tags-data-monitoring-a38.json",18964],"960d9980":[()=>a.e(97595).then(a.bind(a,23974)),"@site/adaptors/library-intro.md",23974],"964386c1":[()=>a.e(12229).then(a.bind(a,37826)),"@site/adaptors/packages/mogli-readme.md",37826],96781795:[()=>a.e(89364).then(a.bind(a,93193)),"@site/blog/2021-03-30-digital-global-good.md",93193],"96ecf107":[()=>a.e(27385).then(a.t.bind(a,26324,19)),"~blog/articles/articles-tags-learning-e79-list.json",26324],"9784261d":[()=>a.e(24688).then(a.bind(a,18301)),"@site/docs/jobs/editing_locally.md",18301],"97a69baf":[()=>a.e(69081).then(a.t.bind(a,62318,19)),"~blog/default/blog-tags-wcs-f94.json",62318],"97bb0f58":[()=>a.e(3112).then(a.bind(a,6028)),"@site/adaptors/packages/mogli-docs.md",6028],"97feb4e9":[()=>a.e(17388).then(a.bind(a,87294)),"@site/adaptors/packages/magpi-configuration-schema.md",87294],"984b8319":[()=>a.e(36425).then(a.bind(a,51670)),"@site/blog/2023-03-01-open-human.md",51670],"9915a91d":[()=>a.e(3132).then(a.bind(a,52069)),"@site/adaptors/library/jobs/auto/1-Get-CommCare-Forms-Bulk-Extract-2021-04-08.md",52069],"998a3ebe":[()=>a.e(93233).then(a.bind(a,2160)),"@site/adaptors/packages/mongodb-readme.md",2160],"9997aecf":[()=>a.e(18047).then(a.bind(a,12378)),"@site/adaptors/packages/googlehealthcare-changelog.md",12378],"9afa6cde":[()=>a.e(65688).then(a.t.bind(a,27548,19)),"~blog/articles/articles-tags-tips-page-2-95a.json",27548],"9b3efc75":[()=>a.e(67547).then(a.t.bind(a,1146,19)),"~blog/default/blog-tags-african-school-of-excellence-b27-list.json",1146],"9bb632fa":[()=>a.e(74002).then(a.bind(a,80672)),"@site/adaptors/packages/asana-changelog.md",80672],"9c1835bf":[()=>a.e(51035).then(a.t.bind(a,93434,19)),"~blog/articles/articles-tags-how-to-3b6.json",93434],"9d36e504":[()=>a.e(92755).then(a.bind(a,14522)),"@site/adaptors/packages/salesforce-docs.md",14522],"9da9a498":[()=>a.e(6136).then(a.bind(a,48452)),"@site/adaptors/library/jobs/auto/WF3-2-Bulk-upsert-Person-Visits-2023-05-19.md",48452],"9e1f7384":[()=>a.e(77012).then(a.t.bind(a,63679,19)),"~blog/articles/articles-tags-docker-6d5-list.json",63679],"9e339b71":[()=>a.e(66766).then(a.t.bind(a,59391,19)),"~blog/default/blog-tags-os-4-h-778-list.json",59391],"9e4087bc":[()=>a.e(53608).then(a.bind(a,63169)),"@theme/BlogArchivePage",63169],"9eb4e0db":[()=>a.e(24883).then(a.bind(a,73410)),"@site/adaptors/library/jobs/auto/HIV-Testing-Event-Snapshot-2021-05-03.md",73410],"9ee43f4e":[()=>a.e(16819).then(a.bind(a,61848)),"@site/adaptors/library/jobs/auto/no-return-2023-01-06.md",61848],a0799a2b:[()=>a.e(24685).then(a.bind(a,16424)),"@site/docs/deploy/options.md",16424],a12f1ef9:[()=>a.e(90558).then(a.bind(a,67970)),"@site/articles/2020-06-16-how-information-is-organized.md?truncated=true",67970],a13b9d31:[()=>a.e(76045).then(a.t.bind(a,2940,19)),"~blog/default/blog-tags-tips-f72.json",2940],a1b695db:[()=>a.e(80546).then(a.t.bind(a,67306,19)),"~blog/articles/articles-tags-js-b88.json",67306],a20e070a:[()=>a.e(25048).then(a.bind(a,92534)),"@site/adaptors/packages/openhim-changelog.md",92534],a22153eb:[()=>a.e(3818).then(a.bind(a,24891)),"@site/adaptors/primero.md",24891],a2e2478b:[()=>a.e(40176).then(a.bind(a,79809)),"@site/docs/microservice/home.md",79809],a3f9e536:[()=>a.e(91637).then(a.bind(a,90320)),"@site/blog/2020-06-04-Technology-Isnt-The-Answer.md?truncated=true",90320],a54058d6:[()=>a.e(95676).then(a.t.bind(a,70005,19)),"~blog/default/blog-tags-odk-4c2.json",70005],a555a233:[()=>a.e(48632).then(a.bind(a,23309)),"@site/docs/release-notes.md",23309],a582c3a1:[()=>a.e(21217).then(a.bind(a,87266)),"@site/docs/design/when-to-integrate.md",87266],a6748c3f:[()=>a.e(85634).then(a.bind(a,39453)),"@site/adaptors/library/jobs/auto/Upsert-Coach-Support-Visit-CSV-2021-04-28.md",39453],a69ebe5f:[()=>a.e(63253).then(a.bind(a,67486)),"@site/adaptors/library/jobs/auto/DHIS2-DataValues-API.md",67486],a6a264d3:[()=>a.e(7483).then(a.bind(a,43488)),"@site/adaptors/library/jobs/auto/Upsert-Intervention-Notes-2021-04-28.md",43488],a6aa9e1f:[()=>Promise.all([a.e(40532),a.e(3473),a.e(31466),a.e(46048),a.e(93089)]).then(a.bind(a,80046)),"@theme/BlogListPage",80046],a7023ddc:[()=>a.e(11713).then(a.t.bind(a,53457,19)),"~blog/default/blog-tags-tags-4c2.json",53457],a7434565:[()=>a.e(77645).then(a.t.bind(a,15745,19)),"/home/runner/work/docs/docs/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",15745],a7ce3f25:[()=>a.e(16785).then(a.bind(a,17602)),"@site/adaptors/library/jobs/auto/Create-contact-2021-03-01.md",17602],a8c84974:[()=>a.e(64887).then(a.bind(a,77075)),"@site/blog/2020-06-25-SwissTPH-case-study.md",77075],a8faecbd:[()=>a.e(62405).then(a.bind(a,10121)),"@site/blog/2021-02-09-interoperability_for_case_referrals.md?truncated=true",10121],a9808524:[()=>a.e(96218).then(a.bind(a,32153)),"@site/adaptors/packages/mogli-changelog.md",32153],a9bffa51:[()=>a.e(52943).then(a.bind(a,20305)),"@site/adaptors/packages/fhir-readme.md",20305],a9d6ad8a:[()=>a.e(60595).then(a.bind(a,60131)),"@site/adaptors/packages/resourcemap-docs.md",60131],aa1b4e53:[()=>a.e(7694).then(a.t.bind(a,78530,19)),"/home/runner/work/docs/docs/.docusaurus/docusaurus-plugin-content-docs/adaptors/plugin-route-context-module-100.json",78530],aa9c90f7:[()=>a.e(67492).then(a.t.bind(a,66215,19)),"~blog/articles/articles-tags-tags-d67.json",66215],aacecf0a:[()=>a.e(58193).then(a.bind(a,35383)),"@site/adaptors/packages/facebook-docs.md",35383],aae0663e:[()=>a.e(3673).then(a.t.bind(a,60915,19)),"~blog/default/blog-tags-x-runner-c3e.json",60915],ab0b43f0:[()=>a.e(84761).then(a.bind(a,5689)),"@site/adaptors/library/jobs/auto/Upsert-Register-Event-2021-04-30.md",5689],acd02317:[()=>a.e(69104).then(a.bind(a,3953)),"@site/adaptors/dhis2.md",3953],aea1a378:[()=>a.e(67544).then(a.bind(a,49948)),"@site/adaptors/library/jobs/auto/send-sms-from-salesforce-workflow.md",49948],af1b4014:[()=>a.e(77217).then(a.bind(a,35109)),"@site/adaptors/packages/godata-docs.md",35109],af4b7be4:[()=>a.e(50481).then(a.t.bind(a,22649,19)),"~blog/default/blog-tags-health-282-list.json",22649],afbc2852:[()=>a.e(32737).then(a.bind(a,19266)),"@site/adaptors/library/jobs/auto/Upsert-Home-Visit-Log-Form-2021-05-03.md",19266],afd0cb1b:[()=>a.e(39527).then(a.bind(a,67803)),"@site/adaptors/library/jobs/auto/Q3-2022-Create-Distribution-Referral-in-SF-2020-06-19.md",67803],b083e7a6:[()=>a.e(16057).then(a.bind(a,8960)),"@site/adaptors/library/jobs/auto/Upsert-Register-Participant-Skillz-2021-08-30.md",8960],b1212599:[()=>a.e(45939).then(a.bind(a,20889)),"@site/adaptors/library/jobs/auto/Attendance-Non-Skillz-2021-06-14.md",20889],b198cec2:[()=>a.e(46074).then(a.bind(a,98947)),"@site/adaptors/packages/http-configuration-schema.md",98947],b1be30d1:[()=>a.e(55606).then(a.bind(a,91951)),"@site/adaptors/library/jobs/auto/timeout.md",91951],b1ecb9ed:[()=>a.e(27800).then(a.bind(a,66864)),"@site/blog/2020-07-27-nalibali-case-study.md?truncated=true",66864],b2b675dd:[()=>a.e(90533).then(a.t.bind(a,28017,19)),"~blog/default/blog-c06.json",28017],b2b9b866:[()=>a.e(70289).then(a.t.bind(a,83559,19)),"~blog/articles/articles-tags-tips-12e-list.json",83559],b2f554cd:[()=>a.e(11477).then(a.t.bind(a,30010,19)),"~blog/default/blog-archive-80c.json",30010],b3022338:[()=>a.e(91552).then(a.bind(a,11126)),"@site/adaptors/library/jobs/auto/Upsert-User-in-Salesforce-2021-04-16.md",11126],b3198ac5:[()=>a.e(74198).then(a.bind(a,90706)),"@site/adaptors/library/jobs/auto/Q3-2022-Update-HH-Name-in-CommCare-2021-09-27.md",90706],b37711b1:[()=>a.e(99914).then(a.bind(a,59824)),"@site/adaptors/packages/vtiger-readme.md",59824],b3879250:[()=>a.e(23497).then(a.bind(a,83189)),"@site/docs/gsoc.md",83189],b4a58d82:[()=>Promise.all([a.e(40532),a.e(3473),a.e(22004),a.e(98646)]).then(a.bind(a,11663)),"@site/docs/devtools/home.md",11663],b50d6289:[()=>a.e(37799).then(a.t.bind(a,92847,19)),"~blog/default/blog-tags-airport-3da.json",92847],b5bd7f9b:[()=>a.e(23872).then(a.bind(a,88238)),"@site/adaptors/packages/facebook-readme.md",88238],b5efef1d:[()=>a.e(90794).then(a.bind(a,60436)),"@site/adaptors/packages/fhir-docs.md",60436],b85e9339:[()=>a.e(83054).then(a.bind(a,90515)),"@site/articles/2021-10-08-improving-multistage-docker-builds-using-buildx.md?truncated=true",90515],b942cf8e:[()=>a.e(37435).then(a.t.bind(a,52017,19)),"~blog/default/blog-tags-m-pesa-f15-list.json",52017],b973dcfd:[()=>a.e(977).then(a.bind(a,59007)),"@site/adaptors/packages/commcare-changelog.md",59007],ba11d205:[()=>a.e(31955).then(a.t.bind(a,27983,19)),"~blog/default/blog-tags-case-study-116-list.json",27983],ba98d3a9:[()=>a.e(72216).then(a.bind(a,37092)),"@site/docs/jobs/working_with_branches.md",37092],bab68f7e:[()=>a.e(84935).then(a.bind(a,62767)),"@site/adaptors/packages/maximo-docs.md",62767],baf0d4a2:[()=>Promise.all([a.e(40532),a.e(37427)]).then(a.bind(a,13554)),"@site/docs/style-guide.md",13554],bb2ae6bf:[()=>a.e(35955).then(a.bind(a,34948)),"@site/docs/jobs/job-design-intro.md",34948],bb40a730:[()=>a.e(43086).then(a.bind(a,66146)),"@site/adaptors/packages/googlehealthcare-docs.md",66146],bb8cf488:[()=>a.e(55191).then(a.bind(a,28989)),"@site/adaptors/library/jobs/auto/Upsert-ART-Adherence-Self-Reporting-Tool-2021-04-30.md",28989],bc07532a:[()=>a.e(27865).then(a.t.bind(a,88506,19)),"~blog/default/blog-tags-i-kapa-data-8b2.json",88506],bc4d6fc9:[()=>a.e(53787).then(a.bind(a,53180)),"@site/adaptors/library/jobs/auto/bring-formId-into-data-array-then-create-parent-and-children-in-salesforce.md",53180],bd16d6fd:[()=>a.e(2110).then(a.bind(a,65334)),"@site/adaptors/packages/medicmobile-docs.md",65334],bd6858b9:[()=>a.e(14074).then(a.bind(a,13848)),"@site/articles/2020-06-16-how-information-is-organized.md",13848],bd83a8c8:[()=>a.e(63792).then(a.bind(a,51118)),"@site/adaptors/packages/kobotoolbox-readme.md",51118],be818d17:[()=>a.e(29881).then(a.bind(a,9517)),"@site/docs/jobs/multiple-operations.md",9517],bebb13e1:[()=>a.e(92133).then(a.bind(a,13810)),"@site/adaptors/packages/postgresql-configuration-schema.md",13810],c08d79e7:[()=>a.e(75878).then(a.bind(a,87625)),"@site/adaptors/packages/openfn-docs.md",87625],c0908e63:[()=>a.e(35477).then(a.bind(a,52543)),"@site/adaptors/packages/openhim-configuration-schema.md",52543],c0daf1e6:[()=>a.e(78823).then(a.bind(a,82019)),"@site/adaptors/packages/beyonic-docs.md",82019],c0f0637e:[()=>a.e(8012).then(a.bind(a,46593)),"@site/adaptors/packages/dynamics-changelog.md",46593],c1dc13d0:[()=>a.e(31800).then(a.bind(a,12017)),"@site/adaptors/packages/googlehealthcare-configuration-schema.md",12017],c260b9a0:[()=>a.e(51904).then(a.bind(a,41759)),"@site/adaptors/tableau.md",41759],c275b7b1:[()=>a.e(35755).then(a.bind(a,94086)),"@site/articles/2020-07-02-allow-yourself-to-fail.md",94086],c2be96f9:[()=>a.e(91374).then(a.bind(a,66411)),"@site/adaptors/moodle.md",66411],c2d56c21:[()=>a.e(29354).then(a.bind(a,64193)),"@site/blog/2020-07-08-caris-foundation-case-study.md",64193],c302b7f6:[()=>a.e(55870).then(a.bind(a,51993)),"@site/adaptors/library/jobs/auto/Catch-Error-in-HTTP-Request-2016-08-26.md",51993],c333ed9f:[()=>a.e(48104).then(a.bind(a,50857)),"@site/adaptors/packages/msgraph-changelog.md",50857],c3a5a911:[()=>a.e(62126).then(a.bind(a,91602)),"@site/articles/2021-10-22-testing-react-app-with-jest-hound.md?truncated=true",91602],c3a6b316:[()=>a.e(38360).then(a.t.bind(a,60812,19)),"~blog/default/blog-tags-odk-4c2-list.json",60812],c4429c79:[()=>a.e(33926).then(a.bind(a,96722)),"@site/adaptors/packages/resourcemap-readme.md",96722],c4643d70:[()=>a.e(13834).then(a.bind(a,32690)),"@site/adaptors/packages/mongodb-changelog.md",32690],c4816122:[()=>a.e(85744).then(a.bind(a,8345)),"@site/adaptors/library/jobs/auto/01-send-mailgun-email-2018-12-04.md",8345],c4f5d8e4:[()=>Promise.all([a.e(40532),a.e(11080),a.e(64195)]).then(a.bind(a,95239)),"@site/src/pages/index.js",95239],c4fd3761:[()=>a.e(95697).then(a.bind(a,5306)),"@site/blog/2021-10-20-the-case-for-health-information-exchange.md?truncated=true",5306],c541efc4:[()=>a.e(78436).then(a.bind(a,78295)),"@site/adaptors/library/jobs/auto/Failed-Payment-Notification-2021-04-23.md",78295],c5495231:[()=>a.e(90076).then(a.bind(a,71420)),"@site/adaptors/packages/khanacademy-docs.md",71420],c64ebc62:[()=>a.e(2232).then(a.bind(a,33578)),"@site/blog/2021-10-20-the-case-for-health-information-exchange.md",33578],c6cf652c:[()=>a.e(4100).then(a.t.bind(a,7712,19)),"~blog/articles/articles-tags-javascript-f16.json",7712],c6dfd94e:[()=>a.e(33947).then(a.bind(a,1068)),"@site/blog/2020-06-09-enabling-scale-at-myagro.md?truncated=true",1068],c6fe0741:[()=>a.e(70351).then(a.t.bind(a,18324,19)),"~blog/articles/articles-tags-javascript-f16-list.json",18324],c76eb7d5:[()=>a.e(76660).then(a.bind(a,240)),"@site/adaptors/packages/mysql-readme.md",240],c77a0576:[()=>a.e(28698).then(a.bind(a,86507)),"@site/blog/2020-07-01-airport-case-study.md",86507],c7bf2a3a:[()=>a.e(5195).then(a.t.bind(a,77825,19)),"~blog/articles/articles-tags-ci-cd-ddc.json",77825],c831614b:[()=>a.e(68175).then(a.bind(a,18095)),"@site/adaptors/packages/mysql-docs.md",18095],c85c4b26:[()=>a.e(640).then(a.bind(a,52401)),"@site/adaptors/library/jobs/auto/04b-Update-ODK-form-2019-12-03.md",52401],c942fcda:[()=>a.e(54246).then(a.bind(a,89323)),"@site/articles/2020-07-14-cron-is-better-than-a-timer.md",89323],c968f1a3:[()=>a.e(71061).then(a.bind(a,41508)),"@site/articles/2021-02-03-hosted-or-local-deployment.md?truncated=true",41508],c98ac358:[()=>a.e(78489).then(a.bind(a,80388)),"@site/adaptors/library/jobs/auto/04a-Query-for-job-changes-2019-12-12.md",80388],caaf01d4:[()=>a.e(10996).then(a.bind(a,4578)),"@site/adaptors/library/jobs/auto/03-Update-Payment-Status-2019-11-19.md",4578],cab54053:[()=>a.e(37456).then(a.t.bind(a,16882,19)),"~blog/default/blog-tags-ibm-maximo-f60.json",16882],cad77a40:[()=>a.e(45048).then(a.bind(a,64175)),"@site/docs/build/inbox.md",64175],cb128a98:[()=>a.e(50339).then(a.bind(a,81582)),"@site/adaptors/packages/kobotoolbox-configuration-schema.md",81582],cb759659:[()=>a.e(8697).then(a.bind(a,51845)),"@site/adaptors/packages/googlesheets-docs.md",51845],cc135780:[()=>a.e(90500).then(a.bind(a,68656)),"@site/adaptors/library/jobs/auto/commcare-reports-api-2016-08-29.md",68656],cc3db60c:[()=>a.e(24857).then(a.t.bind(a,68494,19)),"~blog/default/blog-tags-deployment-055.json",68494],cc826739:[()=>a.e(85960).then(a.t.bind(a,73451,19)),"~docs/adaptors/version-current-metadata-prop-751.json",73451],cc8c6322:[()=>a.e(58290).then(a.bind(a,54832)),"@site/adaptors/packages/ocl-changelog.md",54832],ccc49370:[()=>Promise.all([a.e(40532),a.e(3473),a.e(31466),a.e(46048),a.e(46103)]).then(a.bind(a,65203)),"@theme/BlogPostPage",65203],cce9ad1c:[()=>a.e(25920).then(a.bind(a,38759)),"@site/adaptors/packages/googlesheets-readme.md",38759],cd7cc5b2:[()=>a.e(82838).then(a.t.bind(a,54818,19)),"~blog/default/blog-tags-st-lucia-62b-list.json",54818],cd8c9fbc:[()=>a.e(40332).then(a.bind(a,47371)),"@site/articles/2021-10-15-webpack-to-esbuild-part1.md?truncated=true",47371],cd910537:[()=>a.e(51149).then(a.bind(a,86240)),"@site/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Accompaniment-2022-08-22.md",86240],cdfa78cc:[()=>Promise.all([a.e(79134),a.e(12797)]).then(a.bind(a,59387)),"@site/docs/getting-started/so-you-want-to-integrate.mdx",59387],ce5aebf3:[()=>a.e(14753).then(a.bind(a,72837)),"@site/blog/2020-07-01-KGVK-case-study.md?truncated=true",72837],ce789ca4:[()=>a.e(27864).then(a.bind(a,34865)),"@site/docs/jobs/limits.md",34865],ceb3f8e5:[()=>a.e(1177).then(a.bind(a,39325)),"@site/adaptors/packages/msgraph-configuration-schema.md",39325],ced1473c:[()=>a.e(11702).then(a.bind(a,36753)),"@site/adaptors/library/jobs/auto/synchronous-http-request.md",36753],cf61eed5:[()=>a.e(81194).then(a.bind(a,27191)),"@site/docs/design/design-quickstart.md",27191],cfc8229c:[()=>a.e(7127).then(a.bind(a,47057)),"@site/adaptors/library/jobs/auto/WF2-1-Bulk-get-Person-cases-2023-05-19.md",47057],d060dfa6:[()=>a.e(76126).then(a.t.bind(a,9447,19)),"~blog/default/blog-tags-i-kapa-data-8b2-list.json",9447],d0ac1c30:[()=>a.e(49808).then(a.t.bind(a,97321,19)),"/home/runner/work/docs/docs/.docusaurus/docusaurus-plugin-content-blog/articles/plugin-route-context-module-100.json",97321],d1e2a1e4:[()=>a.e(80448).then(a.bind(a,33191)),"@site/adaptors/packages/mssql-docs.md",33191],d3433875:[()=>a.e(5332).then(a.t.bind(a,4309,19)),"~blog/default/blog-tags-kopo-kopo-6ae-list.json",4309],d3797a8b:[()=>a.e(35023).then(a.bind(a,98182)),"@site/docs/build/jobs.md",98182],d40361ad:[()=>a.e(11258).then(a.bind(a,24054)),"@site/adaptors/library/jobs/auto/1-Get-data-from-SLUHIS-2023-03-08.md",24054],d493c3e8:[()=>a.e(63952).then(a.bind(a,36167)),"@site/blog/2020-05-31-the-new-openfn-blog.md?truncated=true",36167],d4e06cde:[()=>a.e(46940).then(a.t.bind(a,70834,19)),"~blog/default/blog-tags-case-study-page-2-5eb-list.json",70834],d523bad7:[()=>a.e(12165).then(a.bind(a,17929)),"@site/docs/jobs/state.md",17929],d5b44e8d:[()=>a.e(11509).then(a.bind(a,46437)),"@site/adaptors/packages/template-readme.md",46437],d5e8cc91:[()=>a.e(74134).then(a.t.bind(a,21240,19)),"~blog/articles/articles-tags-phoenix-424.json",21240],d776f897:[()=>a.e(28283).then(a.bind(a,82776)),"@site/adaptors/packages/vtiger-changelog.md",82776],d7f657c9:[()=>a.e(5498).then(a.bind(a,58461)),"@site/docs/getting-started/commcare-project-walkthrough.md",58461],d879ea04:[()=>a.e(91910).then(a.bind(a,29489)),"@site/adaptors/library/jobs/auto/Get-cases-from-Primero-2021-09-23.md",29489],d98b9f83:[()=>a.e(26920).then(a.bind(a,15366)),"@site/adaptors/packages/common-readme.md",15366],d9a6c9f9:[()=>a.e(26090).then(a.bind(a,58799)),"@site/adaptors/packages/sftp-docs.md",58799],d9cb599e:[()=>a.e(7330).then(a.bind(a,22243)),"@site/adaptors/packages/msgraph-readme.md",22243],da184dc1:[()=>a.e(5547).then(a.bind(a,30076)),"@site/adaptors/library/jobs/auto/alter-state-before-operations.md",30076],da6f85e6:[()=>a.e(8773).then(a.bind(a,29474)),"@site/adaptors/packages/medicmobile-changelog.md",29474],db6367fb:[()=>a.e(29814).then(a.t.bind(a,99536,19)),"~blog/articles/articles-tags-solution-037-list.json",99536],dbbfaad4:[()=>a.e(95960).then(a.t.bind(a,38647,19)),"~blog/articles/articles-tags-learning-e79.json",38647],dc14f0c4:[()=>a.e(32567).then(a.t.bind(a,26456,19)),"~blog/articles/articles-tags-build-5ce.json",26456],dc62dd6c:[()=>a.e(94610).then(a.bind(a,41947)),"@site/adaptors/library/jobs/auto/01c-Create-person_position-record-2019-12-13.md",41947],dd13b434:[()=>a.e(6895).then(a.bind(a,10240)),"@site/adaptors/packages/maximo-configuration-schema.md",10240],dd45a7f1:[()=>a.e(4652).then(a.bind(a,30969)),"@site/docs/getting-started/glossary.md",30969],de387681:[()=>a.e(50403).then(a.bind(a,42435)),"@site/adaptors/library/jobs/auto/05b-Update-ODK-eval-form-2019-12-19.md",42435],de4aaf36:[()=>a.e(24378).then(a.t.bind(a,15908,19)),"~blog/default/blog-tags-deployment-055-list.json",15908],deb190e6:[()=>a.e(37181).then(a.t.bind(a,84949,19)),"~blog/default/blog-tags-survey-cto-ec1-list.json",84949],def6dfb9:[()=>a.e(35097).then(a.bind(a,414)),"@site/articles/2021-10-29-how-learning-javascript-helped-me-better-understand-jobs.md",414],dfd4abb8:[()=>a.e(82461).then(a.bind(a,32665)),"@site/adaptors/library/jobs/auto/Coach-Session-Register-2021-05-03.md",32665],dff30c03:[()=>a.e(31109).then(a.bind(a,92257)),"@site/adaptors/library/jobs/auto/ODK-Create-Many-Records-Moving-In-And-Out-Of-Repeat-Blocks.md",92257],e09d62f1:[()=>a.e(50576).then(a.bind(a,81649)),"@site/docs/manage/troubleshooting-tips-on-platform.md",81649],e0c8a1d6:[()=>a.e(39856).then(a.bind(a,35587)),"@site/adaptors/packages/dhis2-docs.md",35587],e0ecd9df:[()=>a.e(83988).then(a.bind(a,53097)),"@site/adaptors/magpi.md",53097],e150ab3e:[()=>a.e(9260).then(a.bind(a,24047)),"@site/blog/2021-02-09-interoperability_for_case_referrals.md",24047],e175f9f3:[()=>a.e(22881).then(a.t.bind(a,12530,19)),"~blog/default/blog-tags-education-701.json",12530],e19908fc:[()=>a.e(6286).then(a.bind(a,98857)),"@site/adaptors/packages/asana-docs.md",98857],e19d86f2:[()=>a.e(50533).then(a.t.bind(a,25489,19)),"~blog/default/blog-tags-primero-4c8.json",25489],e1d93203:[()=>a.e(32661).then(a.bind(a,66082)),"@site/articles/2020-06-24-three-questions-to-ask.md?truncated=true",66082],e202e776:[()=>a.e(19835).then(a.bind(a,8534)),"@site/adaptors/library/jobs/auto/HIV-Testing-Event-Statistics-2021-05-03.md",8534],e2548c92:[()=>a.e(76967).then(a.bind(a,60226)),"@site/adaptors/packages/magpi-readme.md",60226],e2c3bc5f:[()=>a.e(46858).then(a.bind(a,79430)),"@site/adaptors/packages/nexmo-configuration-schema.md",79430],e310b146:[()=>a.e(25315).then(a.bind(a,91564)),"@site/adaptors/library/jobs/auto/Upsert-Service-Referral-Followup-2021-04-30.md",91564],e436cfad:[()=>a.e(22740).then(a.bind(a,88114)),"@site/blog/2023-03-01-open-human.md?truncated=true",88114],e4608243:[()=>a.e(55797).then(a.t.bind(a,9700,19)),"~blog/articles/blog-post-list-prop-articles.json",9700],e4a50065:[()=>a.e(89007).then(a.bind(a,45097)),"@site/adaptors/packages/mongodb-configuration-schema.md",45097],e4f4dec4:[()=>a.e(77169).then(a.bind(a,9162)),"@site/adaptors/library/jobs/auto/Create-SMS-Linked-to-Contact-in-SF.md",9162],e56b7427:[()=>a.e(21665).then(a.bind(a,1879)),"@site/blog/2021-03-30-digital-global-good.md?truncated=true",1879],e57c1bef:[()=>a.e(54980).then(a.t.bind(a,25985,19)),"~blog/default/blog-tags-my-agro-a99.json",25985],e5e83212:[()=>a.e(81186).then(a.t.bind(a,84854,19)),"~blog/articles/articles-tags-jobs-ef5-list.json",84854],e6102057:[()=>a.e(66526).then(a.bind(a,34929)),"@site/adaptors/library/jobs/auto/Risk-and-Vulnerability-Assessment-2021-05-27.md",34929],e6b3976f:[()=>a.e(69159).then(a.bind(a,15059)),"@site/docs/getting-started/implementation-checklist.md",15059],e7215565:[()=>a.e(57973).then(a.bind(a,57037)),"@site/docs/getting-started/terminology.md",57037],e7db057b:[()=>a.e(90451).then(a.bind(a,4051)),"@site/adaptors/packages/bigquery-configuration-schema.md",4051],e802237a:[()=>a.e(46989).then(a.bind(a,26257)),"@site/adaptors/packages/progres-configuration-schema.md",26257],e866f873:[()=>a.e(91878).then(a.t.bind(a,65980,19)),"~blog/default/blog-tags-kgvk-fbf.json",65980],e8b14a65:[()=>a.e(27102).then(a.t.bind(a,11718,19)),"~blog/default/blog-tags-moh-cfb.json",11718],e967512d:[()=>a.e(38887).then(a.bind(a,90800)),"@site/adaptors/packages/openhim-docs.md",90800],ea07b8e0:[()=>a.e(19692).then(a.bind(a,38649)),"@site/blog/2023-08-14-OS4H-case-study.md",38649],eae3fa10:[()=>a.e(72099).then(a.bind(a,78618)),"@site/adaptors/library/jobs/auto/aleksa-cron-2022-04-29.md",78618],eb4eb408:[()=>a.e(82863).then(a.bind(a,19024)),"@site/adaptors/packages/primero-readme.md",19024],ece86388:[()=>a.e(4832).then(a.t.bind(a,42747,19)),"~blog/default/blog-tags-announcement-752-list.json",42747],ecfe8209:[()=>a.e(22623).then(a.bind(a,64282)),"@site/adaptors/packages/twilio-changelog.md",64282],ed03f5d4:[()=>a.e(46667).then(a.t.bind(a,23260,19)),"~blog/default/blog-tags-wash-936-list.json",23260],ed48b979:[()=>a.e(95990).then(a.t.bind(a,55116,19)),"~blog/articles/articles-tags-automation-b7b.json",55116],ede583c5:[()=>a.e(87393).then(a.bind(a,82774)),"@site/docs/build/triggers.md",82774],eec2ee36:[()=>a.e(88180).then(a.bind(a,29468)),"@site/adaptors/library/jobs/auto/Upsert-to-mBrana-2021-05-11.md",29468],ef4e0518:[()=>a.e(35349).then(a.t.bind(a,60879,19)),"~blog/articles/articles-tags-authorization-826.json",60879],ef9227ec:[()=>a.e(49558).then(a.t.bind(a,30118,19)),"~blog/articles/articles-tags-tips-12e.json",30118],f0884d43:[()=>a.e(93729).then(a.bind(a,70802)),"@site/docs/about-lightning.md",70802],f08e269d:[()=>a.e(96505).then(a.t.bind(a,83076,19)),"~blog/default/blog-tags-global-goods-020.json",83076],f13d29f3:[()=>a.e(31114).then(a.bind(a,25384)),"@site/adaptors/packages/mysql-configuration-schema.md",25384],f24f0ea5:[()=>a.e(66833).then(a.t.bind(a,19092,19)),"~blog/default/blog-tags-carto-30c-list.json",19092],f2a21e1f:[()=>a.e(3109).then(a.bind(a,86109)),"@site/docs/standards/openhie.md",86109],f2b4d23e:[()=>a.e(31158).then(a.bind(a,32764)),"@site/adaptors/packages/godata-configuration-schema.md",32764],f2ca2c55:[()=>a.e(6536).then(a.bind(a,73527)),"@site/adaptors/packages/beyonic-configuration-schema.md",73527],f2f7c8b6:[()=>a.e(57463).then(a.bind(a,31)),"@site/adaptors/packages/rapidpro-changelog.md",31],f30a3d1e:[()=>a.e(5099).then(a.bind(a,15097)),"@site/adaptors/library/jobs/auto/getKoboData.md",15097],f38541c0:[()=>a.e(2365).then(a.bind(a,34191)),"@site/adaptors/library/jobs/auto/Load-Upsert-Data-into-PostgreSQL-2022-03-22.md",34191],f3954950:[()=>a.e(64709).then(a.bind(a,87792)),"@site/adaptors/packages/zoho-changelog.md",87792],f48233a1:[()=>a.e(89501).then(a.bind(a,769)),"@site/blog/2020-07-27-nalibali-case-study.md",769],f50ed874:[()=>a.e(49158).then(a.t.bind(a,30909,19)),"~blog/articles/articles-301.json",30909],f5466782:[()=>a.e(22226).then(a.bind(a,28737)),"@site/adaptors/library/jobs/auto/PHQ9-2021-05-03.md",28737],f5d5b73d:[()=>a.e(77055).then(a.bind(a,92910)),"@site/adaptors/powerbi.md",92910],f5f1347d:[()=>a.e(10099).then(a.bind(a,74268)),"@site/adaptors/packages/maximo-changelog.md",74268],f5ff4ddf:[()=>a.e(85040).then(a.bind(a,7900)),"@site/articles/2020-06-24-three-questions-to-ask.md",7900],f615a51d:[()=>a.e(4474).then(a.bind(a,78054)),"@site/adaptors/packages/asana-configuration-schema.md",78054],f64a2f66:[()=>a.e(72054).then(a.bind(a,67123)),"@site/adaptors/library/jobs/auto/Malaria-Testing-Event-Snapshot-2021-05-03.md",67123],f6525c87:[()=>a.e(15847).then(a.bind(a,58400)),"@site/adaptors/packages/dynamics-configuration-schema.md",58400],f7765531:[()=>a.e(51296).then(a.t.bind(a,26223,19)),"~blog/default/blog-tags-kobo-toolbox-0a1.json",26223],f77b4e82:[()=>a.e(50813).then(a.t.bind(a,41487,19)),"~blog/default/blog-tags-education-701-list.json",41487],f77d5673:[()=>a.e(7567).then(a.bind(a,9023)),"@site/adaptors/packages/telerivet-changelog.md",9023],f7d07906:[()=>a.e(97847).then(a.bind(a,42573)),"@site/articles/2022-09-19-auth-security.md",42573],f7f75c2e:[()=>a.e(84784).then(a.bind(a,99432)),"@site/adaptors/packages/progres-docs.md",99432],f93f95da:[()=>a.e(9112).then(a.bind(a,2188)),"@site/docs/deploy/requirements.md",2188],f9ed4079:[()=>a.e(61887).then(a.bind(a,16378)),"@site/adaptors/library/jobs/auto/1-Create-Payment-in-SF-2018-09-03.md",16378],fa56ac42:[()=>a.e(79993).then(a.t.bind(a,33980,19)),"~blog/default/blog-tags-dhis-2-382-list.json",33980],fa746f0e:[()=>a.e(37638).then(a.t.bind(a,27362,19)),"~blog/default/blog-tags-mssql-d68-list.json",27362],fa811662:[()=>a.e(740).then(a.bind(a,6534)),"@site/adaptors/packages/telerivet-configuration-schema.md",6534],fae4f913:[()=>a.e(79697).then(a.t.bind(a,32387,19)),"~blog/default/blog-tags-os-4-h-778.json",32387],fba9f625:[()=>a.e(21111).then(a.t.bind(a,45715,19)),"~blog/default/blog-tags-survey-cto-ec1.json",45715],fbcdd0ee:[()=>a.e(56757).then(a.t.bind(a,31739,19)),"~blog/default/blog-tags-my-sql-540.json",31739],fc5ff77a:[()=>a.e(99295).then(a.bind(a,89304)),"@site/articles/2021-05-24-commcare-events.md?truncated=true",89304],fca34444:[()=>a.e(92648).then(a.bind(a,30628)),"@site/articles/2020-07-02-allow-yourself-to-fail.md?truncated=true",30628],fcdeb347:[()=>a.e(5670).then(a.bind(a,57780)),"@site/adaptors/packages/salesforce-changelog.md",57780],fcfb247d:[()=>a.e(78082).then(a.bind(a,11392)),"@site/adaptors/packages/postgresql-readme.md",11392],fd69b207:[()=>a.e(49208).then(a.bind(a,51300)),"@site/docs/standards/global-goods.md",51300],febd0338:[()=>a.e(18141).then(a.bind(a,68364)),"@site/adaptors/library/jobs/auto/Create-Patient-in-OpenMRS-2019-10-24.md",68364],fec351f2:[()=>a.e(86904).then(a.bind(a,75687)),"@site/adaptors/library/jobs/auto/Request-Vitas-Sync-2021-05-11.md",75687],ff6530e5:[()=>a.e(16679).then(a.bind(a,56804)),"@site/docs/portability-versions.md",56804],ffb0c698:[()=>a.e(13982).then(a.bind(a,80941)),"@site/docs/getting-started/designing-integrations.md",80941],ffc1986f:[()=>a.e(89903).then(a.bind(a,70622)),"@site/blog/2020-07-26-sinapis-case-study.md",70622],ffecbc46:[()=>a.e(45980).then(a.bind(a,23004)),"@site/adaptors/library/jobs/auto/Create-TEI-dhis2-2021-03-22.md",23004]};function l(e){let{error:t,retry:a,pastDelay:o}=e;return t?n.createElement("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"}},n.createElement("p",null,String(t)),n.createElement("div",null,n.createElement("button",{type:"button",onClick:a},"Retry"))):o?n.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"}},n.createElement("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb"},n.createElement("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2"},n.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},n.createElement("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),n.createElement("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),n.createElement("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),n.createElement("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0"},n.createElement("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),n.createElement("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),n.createElement("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})),n.createElement("circle",{cx:"22",cy:"22",r:"8"},n.createElement("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"}))))):null}var d=a(99670),p=a(30226);function u(e,t){if("*"===e)return s()({loading:l,loader:()=>a.e(4972).then(a.bind(a,4972)),modules:["@theme/NotFound"],webpack:()=>[4972],render(e,t){const a=e.default;return n.createElement(p.z,{value:{plugin:{name:"native",id:"default"}}},n.createElement(a,t))}});const r=i[`${e}-${t}`],u={},m=[],g=[],b=(0,d.Z)(r);return Object.entries(b).forEach((e=>{let[t,a]=e;const n=c[a];n&&(u[t]=n[0],m.push(n[1]),g.push(n[2]))})),s().Map({loading:l,loader:u,modules:m,webpack:()=>g,render(t,a){const s=JSON.parse(JSON.stringify(r));Object.entries(t).forEach((t=>{let[a,n]=t;const o=n.default;if(!o)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof o&&"function"!=typeof o||Object.keys(n).filter((e=>"default"!==e)).forEach((e=>{o[e]=n[e]}));let r=s;const i=a.split(".");i.slice(0,-1).forEach((e=>{r=r[e]})),r[i[i.length-1]]=o}));const i=s.__comp;delete s.__comp;const c=s.__context;return delete s.__context,n.createElement(p.z,{value:c},n.createElement(i,(0,o.Z)({},s,a)))}})}const m=[{path:"/articles",component:u("/articles","3e9"),exact:!0},{path:"/articles/2020/06/16/how-information-is-organized",component:u("/articles/2020/06/16/how-information-is-organized","673"),exact:!0},{path:"/articles/2020/06/24/three-questions-to-ask",component:u("/articles/2020/06/24/three-questions-to-ask","e03"),exact:!0},{path:"/articles/2020/07/02/allow-yourself-to-fail",component:u("/articles/2020/07/02/allow-yourself-to-fail","af7"),exact:!0},{path:"/articles/2020/07/14/cron-is-better-than-a-timer",component:u("/articles/2020/07/14/cron-is-better-than-a-timer","7c5"),exact:!0},{path:"/articles/2020/12/09/upsert-in-dhis2",component:u("/articles/2020/12/09/upsert-in-dhis2","40a"),exact:!0},{path:"/articles/2021/02/03/hosted-or-local-deployment",component:u("/articles/2021/02/03/hosted-or-local-deployment","ea7"),exact:!0},{path:"/articles/2021/02/17/syncing-options",component:u("/articles/2021/02/17/syncing-options","e60"),exact:!0},{path:"/articles/2021/05/24/commcare-events",component:u("/articles/2021/05/24/commcare-events","001"),exact:!0},{path:"/articles/2021/07/05/wrapping-my-head-around-jobs",component:u("/articles/2021/07/05/wrapping-my-head-around-jobs","667"),exact:!0},{path:"/articles/2021/10/08/improving-multistage-docker-builds-using-buildx",component:u("/articles/2021/10/08/improving-multistage-docker-builds-using-buildx","21a"),exact:!0},{path:"/articles/2021/10/15/webpack-to-esbuild-part1",component:u("/articles/2021/10/15/webpack-to-esbuild-part1","f0c"),exact:!0},{path:"/articles/2021/10/22/testing-react-app-with-jest-hound",component:u("/articles/2021/10/22/testing-react-app-with-jest-hound","1ac"),exact:!0},{path:"/articles/2021/10/29/how-learning-javascript-helped-me-better-understand-jobs",component:u("/articles/2021/10/29/how-learning-javascript-helped-me-better-understand-jobs","c23"),exact:!0},{path:"/articles/2022/06/07/workflow-automation",component:u("/articles/2022/06/07/workflow-automation","d48"),exact:!0},{path:"/articles/2022/09/19/auth-security",component:u("/articles/2022/09/19/auth-security","91e"),exact:!0},{path:"/articles/archive",component:u("/articles/archive","c83"),exact:!0},{path:"/articles/page/2",component:u("/articles/page/2","32a"),exact:!0},{path:"/articles/tags",component:u("/articles/tags","e39"),exact:!0},{path:"/articles/tags/annoucement",component:u("/articles/tags/annoucement","0e9"),exact:!0},{path:"/articles/tags/authentication",component:u("/articles/tags/authentication","e66"),exact:!0},{path:"/articles/tags/authorization",component:u("/articles/tags/authorization","9a9"),exact:!0},{path:"/articles/tags/automation",component:u("/articles/tags/automation","38d"),exact:!0},{path:"/articles/tags/browser-testing",component:u("/articles/tags/browser-testing","512"),exact:!0},{path:"/articles/tags/build",component:u("/articles/tags/build","bc9"),exact:!0},{path:"/articles/tags/ci-cd",component:u("/articles/tags/ci-cd","e12"),exact:!0},{path:"/articles/tags/docker",component:u("/articles/tags/docker","e7e"),exact:!0},{path:"/articles/tags/elixir",component:u("/articles/tags/elixir","d78"),exact:!0},{path:"/articles/tags/how-to",component:u("/articles/tags/how-to","38e"),exact:!0},{path:"/articles/tags/javascript",component:u("/articles/tags/javascript","f15"),exact:!0},{path:"/articles/tags/jobs",component:u("/articles/tags/jobs","9db"),exact:!0},{path:"/articles/tags/js",component:u("/articles/tags/js","c66"),exact:!0},{path:"/articles/tags/learning",component:u("/articles/tags/learning","2d3"),exact:!0},{path:"/articles/tags/phoenix",component:u("/articles/tags/phoenix","11c"),exact:!0},{path:"/articles/tags/react",component:u("/articles/tags/react","11b"),exact:!0},{path:"/articles/tags/security",component:u("/articles/tags/security","54f"),exact:!0},{path:"/articles/tags/solution",component:u("/articles/tags/solution","dda"),exact:!0},{path:"/articles/tags/testing",component:u("/articles/tags/testing","4a6"),exact:!0},{path:"/articles/tags/tips",component:u("/articles/tags/tips","87f"),exact:!0},{path:"/articles/tags/tips/page/2",component:u("/articles/tags/tips/page/2","d30"),exact:!0},{path:"/articles/tags/webpack",component:u("/articles/tags/webpack","d47"),exact:!0},{path:"/blog",component:u("/blog","c11"),exact:!0},{path:"/blog/2020/05/31/the-new-openfn-blog",component:u("/blog/2020/05/31/the-new-openfn-blog","b10"),exact:!0},{path:"/blog/2020/06/04/Building-Integrated-Systems-That-Just-Work",component:u("/blog/2020/06/04/Building-Integrated-Systems-That-Just-Work","eed"),exact:!0},{path:"/blog/2020/06/04/Technology-Isnt-The-Answer",component:u("/blog/2020/06/04/Technology-Isnt-The-Answer","1b0"),exact:!0},{path:"/blog/2020/06/09/enabling-scale-at-myagro",component:u("/blog/2020/06/09/enabling-scale-at-myagro","fe8"),exact:!0},{path:"/blog/2020/06/10/iKapaData-Case-Study",component:u("/blog/2020/06/10/iKapaData-Case-Study","d7e"),exact:!0},{path:"/blog/2020/06/25/SwissTPH-case-study",component:u("/blog/2020/06/25/SwissTPH-case-study","100"),exact:!0},{path:"/blog/2020/07/01/african-school-of-excellence-case-study",component:u("/blog/2020/07/01/african-school-of-excellence-case-study","df2"),exact:!0},{path:"/blog/2020/07/01/airport-case-study",component:u("/blog/2020/07/01/airport-case-study","4aa"),exact:!0},{path:"/blog/2020/07/01/KGVK-case-study",component:u("/blog/2020/07/01/KGVK-case-study","65b"),exact:!0},{path:"/blog/2020/07/08/caris-foundation-case-study",component:u("/blog/2020/07/08/caris-foundation-case-study","2a8"),exact:!0},{path:"/blog/2020/07/13/x-runner-case-study",component:u("/blog/2020/07/13/x-runner-case-study","63f"),exact:!0},{path:"/blog/2020/07/26/sinapis-case-study",component:u("/blog/2020/07/26/sinapis-case-study","de6"),exact:!0},{path:"/blog/2020/07/27/nalibali-case-study",component:u("/blog/2020/07/27/nalibali-case-study","c6d"),exact:!0},{path:"/blog/2021/02/09/interoperability_for_case_referrals",component:u("/blog/2021/02/09/interoperability_for_case_referrals","4b1"),exact:!0},{path:"/blog/2021/03/30/digital-global-good",component:u("/blog/2021/03/30/digital-global-good","fac"),exact:!0},{path:"/blog/2021/07/30/processes-and-open-source-as-choice",component:u("/blog/2021/07/30/processes-and-open-source-as-choice","fe6"),exact:!0},{path:"/blog/2021/10/20/the-case-for-health-information-exchange",component:u("/blog/2021/10/20/the-case-for-health-information-exchange","f98"),exact:!0},{path:"/blog/2022/06/28/Data-Integration-to-better-safeguard-the-world\u2019s-wildlife",component:u("/blog/2022/06/28/Data-Integration-to-better-safeguard-the-world\u2019s-wildlife","e72"),exact:!0},{path:"/blog/2023/03/01/open-human",component:u("/blog/2023/03/01/open-human","5d8"),exact:!0},{path:"/blog/2023/04/13/lightning-beta",component:u("/blog/2023/04/13/lightning-beta","2b6"),exact:!0},{path:"/blog/2023/06/01/open-function-group",component:u("/blog/2023/06/01/open-function-group","366"),exact:!0},{path:"/blog/2023/08/14/OS4H-case-study",component:u("/blog/2023/08/14/OS4H-case-study","a4c"),exact:!0},{path:"/blog/archive",component:u("/blog/archive","d5c"),exact:!0},{path:"/blog/page/2",component:u("/blog/page/2","67d"),exact:!0},{path:"/blog/page/3",component:u("/blog/page/3","bf1"),exact:!0},{path:"/blog/tags",component:u("/blog/tags","e00"),exact:!0},{path:"/blog/tags/african-school-of-excellence",component:u("/blog/tags/african-school-of-excellence","886"),exact:!0},{path:"/blog/tags/agriculture",component:u("/blog/tags/agriculture","f2e"),exact:!0},{path:"/blog/tags/airport",component:u("/blog/tags/airport","f20"),exact:!0},{path:"/blog/tags/announcement",component:u("/blog/tags/announcement","2da"),exact:!0},{path:"/blog/tags/automated-reporting",component:u("/blog/tags/automated-reporting","314"),exact:!0},{path:"/blog/tags/cambodia",component:u("/blog/tags/cambodia","7c1"),exact:!0},{path:"/blog/tags/caris-foundation",component:u("/blog/tags/caris-foundation","de9"),exact:!0},{path:"/blog/tags/carto",component:u("/blog/tags/carto","0b6"),exact:!0},{path:"/blog/tags/case-management",component:u("/blog/tags/case-management","fea"),exact:!0},{path:"/blog/tags/case-study",component:u("/blog/tags/case-study","d00"),exact:!0},{path:"/blog/tags/case-study/page/2",component:u("/blog/tags/case-study/page/2","ba6"),exact:!0},{path:"/blog/tags/comm-care",component:u("/blog/tags/comm-care","862"),exact:!0},{path:"/blog/tags/data-monitoring",component:u("/blog/tags/data-monitoring","a2b"),exact:!0},{path:"/blog/tags/data-warehouse",component:u("/blog/tags/data-warehouse","29e"),exact:!0},{path:"/blog/tags/deployment",component:u("/blog/tags/deployment","1b8"),exact:!0},{path:"/blog/tags/development",component:u("/blog/tags/development","07c"),exact:!0},{path:"/blog/tags/dhis-2",component:u("/blog/tags/dhis-2","fba"),exact:!0},{path:"/blog/tags/education",component:u("/blog/tags/education","1fd"),exact:!0},{path:"/blog/tags/global-goods",component:u("/blog/tags/global-goods","5d3"),exact:!0},{path:"/blog/tags/health",component:u("/blog/tags/health","f85"),exact:!0},{path:"/blog/tags/healthcare",component:u("/blog/tags/healthcare","d80"),exact:!0},{path:"/blog/tags/i-kapa-data",component:u("/blog/tags/i-kapa-data","2ca"),exact:!0},{path:"/blog/tags/ibm-maximo",component:u("/blog/tags/ibm-maximo","a42"),exact:!0},{path:"/blog/tags/kgvk",component:u("/blog/tags/kgvk","ec2"),exact:!0},{path:"/blog/tags/kobo-toolbox",component:u("/blog/tags/kobo-toolbox","251"),exact:!0},{path:"/blog/tags/kopo-kopo",component:u("/blog/tags/kopo-kopo","b49"),exact:!0},{path:"/blog/tags/learning-management-system",component:u("/blog/tags/learning-management-system","73d"),exact:!0},{path:"/blog/tags/m-pesa",component:u("/blog/tags/m-pesa","1e2"),exact:!0},{path:"/blog/tags/moh",component:u("/blog/tags/moh","0ea"),exact:!0},{path:"/blog/tags/mssql",component:u("/blog/tags/mssql","3f6"),exact:!0},{path:"/blog/tags/my-agro",component:u("/blog/tags/my-agro","711"),exact:!0},{path:"/blog/tags/my-sql",component:u("/blog/tags/my-sql","c3a"),exact:!0},{path:"/blog/tags/odk",component:u("/blog/tags/odk","34d"),exact:!0},{path:"/blog/tags/open-solutions-for-health",component:u("/blog/tags/open-solutions-for-health","485"),exact:!0},{path:"/blog/tags/os-4-h",component:u("/blog/tags/os-4-h","a0e"),exact:!0},{path:"/blog/tags/os-ca-r",component:u("/blog/tags/os-ca-r","5fa"),exact:!0},{path:"/blog/tags/payments",component:u("/blog/tags/payments","41c"),exact:!0},{path:"/blog/tags/postgre-sql",component:u("/blog/tags/postgre-sql","cda"),exact:!0},{path:"/blog/tags/primero",component:u("/blog/tags/primero","6f7"),exact:!0},{path:"/blog/tags/redash",component:u("/blog/tags/redash","c60"),exact:!0},{path:"/blog/tags/salesforce",component:u("/blog/tags/salesforce","695"),exact:!0},{path:"/blog/tags/sms",component:u("/blog/tags/sms","3ec"),exact:!0},{path:"/blog/tags/st-lucia",component:u("/blog/tags/st-lucia","ccd"),exact:!0},{path:"/blog/tags/supply-chain-system",component:u("/blog/tags/supply-chain-system","d13"),exact:!0},{path:"/blog/tags/survey-cto",component:u("/blog/tags/survey-cto","da3"),exact:!0},{path:"/blog/tags/swiss-tph",component:u("/blog/tags/swiss-tph","5e3"),exact:!0},{path:"/blog/tags/telerivet",component:u("/blog/tags/telerivet","762"),exact:!0},{path:"/blog/tags/tips",component:u("/blog/tags/tips","b72"),exact:!0},{path:"/blog/tags/unicef",component:u("/blog/tags/unicef","d20"),exact:!0},{path:"/blog/tags/wash",component:u("/blog/tags/wash","729"),exact:!0},{path:"/blog/tags/wcs",component:u("/blog/tags/wcs","4a0"),exact:!0},{path:"/blog/tags/wildlife",component:u("/blog/tags/wildlife","0e6"),exact:!0},{path:"/blog/tags/x-runner",component:u("/blog/tags/x-runner","da8"),exact:!0},{path:"/blog/tags/zoho",component:u("/blog/tags/zoho","777"),exact:!0},{path:"/search",component:u("/search","48c"),exact:!0},{path:"/adaptors",component:u("/adaptors","9b6"),routes:[{path:"/adaptors",component:u("/adaptors","8d9"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/cht",component:u("/adaptors/cht","5f3"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/ckan",component:u("/adaptors/ckan","afd"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/commcare",component:u("/adaptors/commcare","cf1"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/dhis2",component:u("/adaptors/dhis2","800"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/godata",component:u("/adaptors/godata","255"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/googlesheets",component:u("/adaptors/googlesheets","0b4"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/kobotoolbox",component:u("/adaptors/kobotoolbox","cd7"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library",component:u("/adaptors/library","c73"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/0-Get-TEI-data-2021-06-02",component:u("/adaptors/library/jobs/auto/0-Get-TEI-data-2021-06-02","46e"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/01-send-mailgun-email-2018-12-04",component:u("/adaptors/library/jobs/auto/01-send-mailgun-email-2018-12-04","bbd"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/01a-Create-Registrants-2019-11-19",component:u("/adaptors/library/jobs/auto/01a-Create-Registrants-2019-11-19","45d"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/01b-Query-new-person-record-2019-12-13",component:u("/adaptors/library/jobs/auto/01b-Query-new-person-record-2019-12-13","044"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/01c-Create-person_position-record-2019-12-13",component:u("/adaptors/library/jobs/auto/01c-Create-person_position-record-2019-12-13","f28"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/02a-Query-DB-for-people-to-pay-2019-12-11",component:u("/adaptors/library/jobs/auto/02a-Query-DB-for-people-to-pay-2019-12-11","27f"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/02b-Initiate-Payments-2019-11-19",component:u("/adaptors/library/jobs/auto/02b-Initiate-Payments-2019-11-19","d18"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/03-Update-Payment-Status-2019-11-19",component:u("/adaptors/library/jobs/auto/03-Update-Payment-Status-2019-11-19","7bf"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/04a-Query-for-job-changes-2019-12-12",component:u("/adaptors/library/jobs/auto/04a-Query-for-job-changes-2019-12-12","500"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/04b-Update-ODK-form-2019-12-03",component:u("/adaptors/library/jobs/auto/04b-Update-ODK-form-2019-12-03","1e3"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/05-Submit-employee-evaluation-2019-12-03",component:u("/adaptors/library/jobs/auto/05-Submit-employee-evaluation-2019-12-03","91f"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/05a-Query-for-new-employees-2019-12-19",component:u("/adaptors/library/jobs/auto/05a-Query-for-new-employees-2019-12-19","422"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/05b-Update-ODK-eval-form-2019-12-19",component:u("/adaptors/library/jobs/auto/05b-Update-ODK-eval-form-2019-12-19","a16"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/1-Create-Payment-in-SF-2018-09-03",component:u("/adaptors/library/jobs/auto/1-Create-Payment-in-SF-2018-09-03","cb5"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/1-Get-CommCare-Forms-Bulk-Extract-2021-04-08",component:u("/adaptors/library/jobs/auto/1-Get-CommCare-Forms-Bulk-Extract-2021-04-08","c4f"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/1-Get-data-from-SLUHIS-2023-03-08",component:u("/adaptors/library/jobs/auto/1-Get-data-from-SLUHIS-2023-03-08","e0f"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/2-SMS-Balance-Update-to-Customer-2018-12-14",component:u("/adaptors/library/jobs/auto/2-SMS-Balance-Update-to-Customer-2018-12-14","b8b"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Add-DHIS2-Data-Value-Sets-2016-03-28",component:u("/adaptors/library/jobs/auto/Add-DHIS2-Data-Value-Sets-2016-03-28","074"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/aleksa-cron-2022-04-29",component:u("/adaptors/library/jobs/auto/aleksa-cron-2022-04-29","7e7"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/alter-state-before-operations",component:u("/adaptors/library/jobs/auto/alter-state-before-operations","d3a"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/async-and-array-dot-map",component:u("/adaptors/library/jobs/auto/async-and-array-dot-map","674"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/async-findValue",component:u("/adaptors/library/jobs/auto/async-findValue","557"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Attendance-Non-Skillz-2021-06-14",component:u("/adaptors/library/jobs/auto/Attendance-Non-Skillz-2021-06-14","345"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/bring-formId-into-data-array-then-create-parent-and-children-in-salesforce",component:u("/adaptors/library/jobs/auto/bring-formId-into-data-array-then-create-parent-and-children-in-salesforce","295"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Catch-Error-in-HTTP-Request-2016-08-26",component:u("/adaptors/library/jobs/auto/Catch-Error-in-HTTP-Request-2016-08-26","8c4"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/CHW-case-to-DHIS2-2023-04-27",component:u("/adaptors/library/jobs/auto/CHW-case-to-DHIS2-2023-04-27","113"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Coach-Session-Register-2021-05-03",component:u("/adaptors/library/jobs/auto/Coach-Session-Register-2021-05-03","585"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/CommCare-FHIR",component:u("/adaptors/library/jobs/auto/CommCare-FHIR","bfc"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/commcare-reports-api-2016-08-29",component:u("/adaptors/library/jobs/auto/commcare-reports-api-2016-08-29","a06"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/CommCare-to-Azure-Sql-2020-01-27",component:u("/adaptors/library/jobs/auto/CommCare-to-Azure-Sql-2020-01-27","725"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/complex-http-request-chains",component:u("/adaptors/library/jobs/auto/complex-http-request-chains","80e"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/complex-state-control",component:u("/adaptors/library/jobs/auto/complex-state-control","12c"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/concatenate-many-fields-with-nulls",component:u("/adaptors/library/jobs/auto/concatenate-many-fields-with-nulls","376"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Create-contact-2021-03-01",component:u("/adaptors/library/jobs/auto/Create-contact-2021-03-01","bb1"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/create-if-proposal",component:u("/adaptors/library/jobs/auto/create-if-proposal","c81"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Create-Intervention-2021-04-08",component:u("/adaptors/library/jobs/auto/Create-Intervention-2021-04-08","ad2"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Create-Patient-in-OpenMRS-2019-10-24",component:u("/adaptors/library/jobs/auto/Create-Patient-in-OpenMRS-2019-10-24","985"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Create-Person-in-OpenMRS-2016-02-12",component:u("/adaptors/library/jobs/auto/Create-Person-in-OpenMRS-2016-02-12","de0"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Create-Person-in-SF-2019-02-25",component:u("/adaptors/library/jobs/auto/Create-Person-in-SF-2019-02-25","0b4"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Create-SMS-Linked-to-Contact-in-SF",component:u("/adaptors/library/jobs/auto/Create-SMS-Linked-to-Contact-in-SF","b15"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Create-TEI-dhis2-2021-03-22",component:u("/adaptors/library/jobs/auto/Create-TEI-dhis2-2021-03-22","a30"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/DHIS2-DataValues-API",component:u("/adaptors/library/jobs/auto/DHIS2-DataValues-API","026"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/DHIS2-Events-2016-01-27",component:u("/adaptors/library/jobs/auto/DHIS2-Events-2016-01-27","415"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/DHIS2-Events-API",component:u("/adaptors/library/jobs/auto/DHIS2-Events-API","32c"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Extract-Vitas-Data-2021-05-11",component:u("/adaptors/library/jobs/auto/Extract-Vitas-Data-2021-05-11","561"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Failed-Payment-Notification-2021-04-23",component:u("/adaptors/library/jobs/auto/Failed-Payment-Notification-2021-04-23","349"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Fetch-Claims-2023-07-17",component:u("/adaptors/library/jobs/auto/Fetch-Claims-2023-07-17","f96"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Get-cases-from-Primero-2021-09-23",component:u("/adaptors/library/jobs/auto/Get-cases-from-Primero-2021-09-23","09e"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Get-CommCare-Forms-Bulk-Extract-2022-05-16",component:u("/adaptors/library/jobs/auto/Get-CommCare-Forms-Bulk-Extract-2022-05-16","bd9"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/GET-Data-From-KoboToolbox-2022-03-22",component:u("/adaptors/library/jobs/auto/GET-Data-From-KoboToolbox-2022-03-22","ee9"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/getKoboData",component:u("/adaptors/library/jobs/auto/getKoboData","5f3"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/HIV-Testing-Event-Snapshot-2021-05-03",component:u("/adaptors/library/jobs/auto/HIV-Testing-Event-Snapshot-2021-05-03","2a0"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/HIV-Testing-Event-Statistics-2021-05-03",component:u("/adaptors/library/jobs/auto/HIV-Testing-Event-Statistics-2021-05-03","ed1"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Load-to-DB-2022-05-16",component:u("/adaptors/library/jobs/auto/Load-to-DB-2022-05-16","494"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Load-to-DHIS2-2023-07-17",component:u("/adaptors/library/jobs/auto/Load-to-DHIS2-2023-07-17","9ea"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Load-Upsert-Data-into-PostgreSQL-2022-03-22",component:u("/adaptors/library/jobs/auto/Load-Upsert-Data-into-PostgreSQL-2022-03-22","9ac"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Malaria-Testing-Event-Snapshot-2021-05-03",component:u("/adaptors/library/jobs/auto/Malaria-Testing-Event-Snapshot-2021-05-03","0f0"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Malaria-Testing-Event-Statistics-2021-05-03",component:u("/adaptors/library/jobs/auto/Malaria-Testing-Event-Statistics-2021-05-03","480"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/nawiri-2023-05-03",component:u("/adaptors/library/jobs/auto/nawiri-2023-05-03","6c6"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/no-return-2023-01-06",component:u("/adaptors/library/jobs/auto/no-return-2023-01-06","ba2"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/ODK-Create-Many-Records-Moving-In-And-Out-Of-Repeat-Blocks",component:u("/adaptors/library/jobs/auto/ODK-Create-Many-Records-Moving-In-And-Out-Of-Repeat-Blocks","b5b"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Pay-CHW-2021-04-23",component:u("/adaptors/library/jobs/auto/Pay-CHW-2021-04-23","49b"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/PHQ9-2021-05-03",component:u("/adaptors/library/jobs/auto/PHQ9-2021-05-03","69c"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/promise-all-nested-requests",component:u("/adaptors/library/jobs/auto/promise-all-nested-requests","01b"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Q3-2022-Create-Distribution-Referral-in-SF-2020-06-19",component:u("/adaptors/library/jobs/auto/Q3-2022-Create-Distribution-Referral-in-SF-2020-06-19","8d6"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Q3-2022-Update-HH-Name-in-CommCare-2021-09-27",component:u("/adaptors/library/jobs/auto/Q3-2022-Update-HH-Name-in-CommCare-2021-09-27","e6d"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Q3-2022-Upsert-Household-Household-Visit-in-SF-2022-06-28",component:u("/adaptors/library/jobs/auto/Q3-2022-Upsert-Household-Household-Visit-in-SF-2022-06-28","3d1"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Q3-2022-Upsert-Person-2022-04-21",component:u("/adaptors/library/jobs/auto/Q3-2022-Upsert-Person-2022-04-21","104"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Q3-2022-Upsert-Person-Visit-2022-06-28",component:u("/adaptors/library/jobs/auto/Q3-2022-Upsert-Person-Visit-2022-06-28","dbc"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Accompaniment-2022-08-22",component:u("/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Accompaniment-2022-08-22","4d6"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Feedback-2022-08-19",component:u("/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Feedback-2022-08-19","9f3"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Household-Spot-Check-2022-08-24",component:u("/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Household-Spot-Check-2022-08-24","0c3"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Register-Participant-V2-Skillz-2021-06-02",component:u("/adaptors/library/jobs/auto/Register-Participant-V2-Skillz-2021-06-02","91c"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Register-Patient-2021-03-02",component:u("/adaptors/library/jobs/auto/Register-Patient-2021-03-02","25f"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Registration-forms-new-case-2023-06-22",component:u("/adaptors/library/jobs/auto/Registration-forms-new-case-2023-06-22","923"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Request-Vitas-Sync-2021-05-11",component:u("/adaptors/library/jobs/auto/Request-Vitas-Sync-2021-05-11","ae8"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Risk-and-Vulnerability-Assessment-2021-05-27",component:u("/adaptors/library/jobs/auto/Risk-and-Vulnerability-Assessment-2021-05-27","cc4"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/send-mail-in-mailgun",component:u("/adaptors/library/jobs/auto/send-mail-in-mailgun","a78"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/send-sms-from-salesforce-workflow",component:u("/adaptors/library/jobs/auto/send-sms-from-salesforce-workflow","16c"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/synchronous-http-request",component:u("/adaptors/library/jobs/auto/synchronous-http-request","06b"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/timeout",component:u("/adaptors/library/jobs/auto/timeout","3dc"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Upsert-Aggregate-Service-Referrals-2021-04-30",component:u("/adaptors/library/jobs/auto/Upsert-Aggregate-Service-Referrals-2021-04-30","cd1"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Upsert-ART-Adherence-Self-Reporting-Tool-2021-04-30",component:u("/adaptors/library/jobs/auto/Upsert-ART-Adherence-Self-Reporting-Tool-2021-04-30","798"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Upsert-Attendance-Skillz-Plus-Club-2021-05-24",component:u("/adaptors/library/jobs/auto/Upsert-Attendance-Skillz-Plus-Club-2021-05-24","1f4"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Upsert-Coach-Support-Visit-CSV-2021-04-28",component:u("/adaptors/library/jobs/auto/Upsert-Coach-Support-Visit-CSV-2021-04-28","987"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Upsert-Confirm-Services-Received-2021-06-14",component:u("/adaptors/library/jobs/auto/Upsert-Confirm-Services-Received-2021-06-14","e6c"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Upsert-Home-Visit-Log-Form-2021-05-03",component:u("/adaptors/library/jobs/auto/Upsert-Home-Visit-Log-Form-2021-05-03","86e"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Upsert-Intervention-Notes-2021-04-28",component:u("/adaptors/library/jobs/auto/Upsert-Intervention-Notes-2021-04-28","047"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/upsert-many-items-in-array-with-value-outside-array",component:u("/adaptors/library/jobs/auto/upsert-many-items-in-array-with-value-outside-array","47f"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Upsert-Post-Challenges-2021-04-30",component:u("/adaptors/library/jobs/auto/Upsert-Post-Challenges-2021-04-30","003"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Upsert-Pre-Challenges-2021-04-30",component:u("/adaptors/library/jobs/auto/Upsert-Pre-Challenges-2021-04-30","bd8"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Upsert-Register-Event-2021-04-30",component:u("/adaptors/library/jobs/auto/Upsert-Register-Event-2021-04-30","e3b"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Upsert-Register-Participant-2021-04-28",component:u("/adaptors/library/jobs/auto/Upsert-Register-Participant-2021-04-28","382"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Upsert-Register-Participant-Skillz-2021-08-30",component:u("/adaptors/library/jobs/auto/Upsert-Register-Participant-Skillz-2021-08-30","8ba"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Upsert-Register-Skills-plus-Club-2021-04-30",component:u("/adaptors/library/jobs/auto/Upsert-Register-Skills-plus-Club-2021-04-30","900"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Upsert-Risk-Vulnerability-Assessment-Service-Referral-2021-05-25",component:u("/adaptors/library/jobs/auto/Upsert-Risk-Vulnerability-Assessment-Service-Referral-2021-05-25","084"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Upsert-Service-Referral-2-2021-06-14",component:u("/adaptors/library/jobs/auto/Upsert-Service-Referral-2-2021-06-14","bb9"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Upsert-Service-Referral-2021-04-30",component:u("/adaptors/library/jobs/auto/Upsert-Service-Referral-2021-04-30","f88"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Upsert-Service-Referral-Followup-2021-04-30",component:u("/adaptors/library/jobs/auto/Upsert-Service-Referral-Followup-2021-04-30","780"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Upsert-Team-Group-Name-2021-04-28",component:u("/adaptors/library/jobs/auto/Upsert-Team-Group-Name-2021-04-28","653"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Upsert-to-mBrana-2021-05-11",component:u("/adaptors/library/jobs/auto/Upsert-to-mBrana-2021-05-11","607"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/Upsert-User-in-Salesforce-2021-04-16",component:u("/adaptors/library/jobs/auto/Upsert-User-in-Salesforce-2021-04-16","64e"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/WF1-1-Bulk-get-HH-cases-2023-05-19",component:u("/adaptors/library/jobs/auto/WF1-1-Bulk-get-HH-cases-2023-05-19","263"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/WF1-2-Bulk-upsert-HHs-and-HH-Visits-2023-05-19",component:u("/adaptors/library/jobs/auto/WF1-2-Bulk-upsert-HHs-and-HH-Visits-2023-05-19","d76"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/WF2-1-Bulk-get-Person-cases-2023-05-19",component:u("/adaptors/library/jobs/auto/WF2-1-Bulk-get-Person-cases-2023-05-19","834"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/WF2-2-Bulk-upsert-Persons-2023-05-19",component:u("/adaptors/library/jobs/auto/WF2-2-Bulk-upsert-Persons-2023-05-19","88a"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/WF3-1-Bulk-get-Person-Visit-cases-2023-05-19",component:u("/adaptors/library/jobs/auto/WF3-1-Bulk-get-Person-Visit-cases-2023-05-19","f31"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/WF3-2-Bulk-upsert-Person-Visits-2023-05-19",component:u("/adaptors/library/jobs/auto/WF3-2-Bulk-upsert-Person-Visits-2023-05-19","9ec"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/WF3-2a-Repeat-Failed-Person-Visits-2023-05-31",component:u("/adaptors/library/jobs/auto/WF3-2a-Repeat-Failed-Person-Visits-2023-05-31","f59"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/WF4-1-Bulk-get-Referral-Cases-2023-05-19",component:u("/adaptors/library/jobs/auto/WF4-1-Bulk-get-Referral-Cases-2023-05-19","8a4"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/jobs/auto/WF4-2-Bulk-upsert-Services-2023-05-19",component:u("/adaptors/library/jobs/auto/WF4-2-Bulk-upsert-Services-2023-05-19","689"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/library/triggers/xmlns",component:u("/adaptors/library/triggers/xmlns","bfe"),exact:!0},{path:"/adaptors/magpi",component:u("/adaptors/magpi","814"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/moodle",component:u("/adaptors/moodle","4d2"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/odk",component:u("/adaptors/odk","f4a"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/ona",component:u("/adaptors/ona","5ba"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/asana-changelog",component:u("/adaptors/packages/asana-changelog","23e"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/asana-configuration-schema",component:u("/adaptors/packages/asana-configuration-schema","908"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/asana-docs",component:u("/adaptors/packages/asana-docs","3d4"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/asana-readme",component:u("/adaptors/packages/asana-readme","c20"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/beyonic-changelog",component:u("/adaptors/packages/beyonic-changelog","d8b"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/beyonic-configuration-schema",component:u("/adaptors/packages/beyonic-configuration-schema","ead"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/beyonic-docs",component:u("/adaptors/packages/beyonic-docs","ab6"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/beyonic-readme",component:u("/adaptors/packages/beyonic-readme","42b"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/bigquery-changelog",component:u("/adaptors/packages/bigquery-changelog","fbe"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/bigquery-configuration-schema",component:u("/adaptors/packages/bigquery-configuration-schema","9ce"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/bigquery-docs",component:u("/adaptors/packages/bigquery-docs","d29"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/bigquery-readme",component:u("/adaptors/packages/bigquery-readme","702"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/commcare-changelog",component:u("/adaptors/packages/commcare-changelog","fa5"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/commcare-configuration-schema",component:u("/adaptors/packages/commcare-configuration-schema","973"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/commcare-docs",component:u("/adaptors/packages/commcare-docs","426"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/commcare-readme",component:u("/adaptors/packages/commcare-readme","2f8"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/common-changelog",component:u("/adaptors/packages/common-changelog","5ac"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/common-configuration-schema",component:u("/adaptors/packages/common-configuration-schema","e59"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/common-docs",component:u("/adaptors/packages/common-docs","a9e"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/common-readme",component:u("/adaptors/packages/common-readme","641"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/dhis2-changelog",component:u("/adaptors/packages/dhis2-changelog","789"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/dhis2-configuration-schema",component:u("/adaptors/packages/dhis2-configuration-schema","073"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/dhis2-docs",component:u("/adaptors/packages/dhis2-docs","cd6"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/dhis2-readme",component:u("/adaptors/packages/dhis2-readme","736"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/dynamics-changelog",component:u("/adaptors/packages/dynamics-changelog","7cf"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/dynamics-configuration-schema",component:u("/adaptors/packages/dynamics-configuration-schema","f39"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/dynamics-docs",component:u("/adaptors/packages/dynamics-docs","6a0"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/dynamics-readme",component:u("/adaptors/packages/dynamics-readme","d4f"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/facebook-changelog",component:u("/adaptors/packages/facebook-changelog","4b3"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/facebook-configuration-schema",component:u("/adaptors/packages/facebook-configuration-schema","7ef"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/facebook-docs",component:u("/adaptors/packages/facebook-docs","0ba"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/facebook-readme",component:u("/adaptors/packages/facebook-readme","7f2"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/fhir-changelog",component:u("/adaptors/packages/fhir-changelog","576"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/fhir-configuration-schema",component:u("/adaptors/packages/fhir-configuration-schema","b86"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/fhir-docs",component:u("/adaptors/packages/fhir-docs","b11"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/fhir-readme",component:u("/adaptors/packages/fhir-readme","1b9"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/godata-changelog",component:u("/adaptors/packages/godata-changelog","7c7"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/godata-configuration-schema",component:u("/adaptors/packages/godata-configuration-schema","672"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/godata-docs",component:u("/adaptors/packages/godata-docs","3ee"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/godata-readme",component:u("/adaptors/packages/godata-readme","348"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/googlehealthcare-changelog",component:u("/adaptors/packages/googlehealthcare-changelog","e37"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/googlehealthcare-configuration-schema",component:u("/adaptors/packages/googlehealthcare-configuration-schema","837"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/googlehealthcare-docs",component:u("/adaptors/packages/googlehealthcare-docs","09c"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/googlehealthcare-readme",component:u("/adaptors/packages/googlehealthcare-readme","9d9"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/googlesheets-changelog",component:u("/adaptors/packages/googlesheets-changelog","83b"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/googlesheets-configuration-schema",component:u("/adaptors/packages/googlesheets-configuration-schema","ff8"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/googlesheets-docs",component:u("/adaptors/packages/googlesheets-docs","47f"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/googlesheets-readme",component:u("/adaptors/packages/googlesheets-readme","75c"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/http-changelog",component:u("/adaptors/packages/http-changelog","dc3"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/http-configuration-schema",component:u("/adaptors/packages/http-configuration-schema","5db"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/http-docs",component:u("/adaptors/packages/http-docs","673"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/http-readme",component:u("/adaptors/packages/http-readme","f90"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/khanacademy-changelog",component:u("/adaptors/packages/khanacademy-changelog","123"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/khanacademy-configuration-schema",component:u("/adaptors/packages/khanacademy-configuration-schema","8b2"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/khanacademy-docs",component:u("/adaptors/packages/khanacademy-docs","3bc"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/khanacademy-readme",component:u("/adaptors/packages/khanacademy-readme","044"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/kobotoolbox-changelog",component:u("/adaptors/packages/kobotoolbox-changelog","7c5"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/kobotoolbox-configuration-schema",component:u("/adaptors/packages/kobotoolbox-configuration-schema","d19"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/kobotoolbox-docs",component:u("/adaptors/packages/kobotoolbox-docs","7ab"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/kobotoolbox-readme",component:u("/adaptors/packages/kobotoolbox-readme","fa9"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/magpi-changelog",component:u("/adaptors/packages/magpi-changelog","dc9"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/magpi-configuration-schema",component:u("/adaptors/packages/magpi-configuration-schema","648"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/magpi-docs",component:u("/adaptors/packages/magpi-docs","637"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/magpi-readme",component:u("/adaptors/packages/magpi-readme","ce0"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/mailchimp-changelog",component:u("/adaptors/packages/mailchimp-changelog","d58"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/mailchimp-configuration-schema",component:u("/adaptors/packages/mailchimp-configuration-schema","fd5"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/mailchimp-docs",component:u("/adaptors/packages/mailchimp-docs","604"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/mailchimp-readme",component:u("/adaptors/packages/mailchimp-readme","8af"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/mailgun-changelog",component:u("/adaptors/packages/mailgun-changelog","10e"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/mailgun-configuration-schema",component:u("/adaptors/packages/mailgun-configuration-schema","366"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/mailgun-docs",component:u("/adaptors/packages/mailgun-docs","7e6"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/mailgun-readme",component:u("/adaptors/packages/mailgun-readme","124"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/maximo-changelog",component:u("/adaptors/packages/maximo-changelog","bed"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/maximo-configuration-schema",component:u("/adaptors/packages/maximo-configuration-schema","9d5"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/maximo-docs",component:u("/adaptors/packages/maximo-docs","833"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/maximo-readme",component:u("/adaptors/packages/maximo-readme","11b"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/medicmobile-changelog",component:u("/adaptors/packages/medicmobile-changelog","fbd"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/medicmobile-configuration-schema",component:u("/adaptors/packages/medicmobile-configuration-schema","b24"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/medicmobile-docs",component:u("/adaptors/packages/medicmobile-docs","eaf"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/medicmobile-readme",component:u("/adaptors/packages/medicmobile-readme","e67"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/mogli-changelog",component:u("/adaptors/packages/mogli-changelog","a4d"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/mogli-configuration-schema",component:u("/adaptors/packages/mogli-configuration-schema","0d5"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/mogli-docs",component:u("/adaptors/packages/mogli-docs","efa"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/mogli-readme",component:u("/adaptors/packages/mogli-readme","bdc"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/mongodb-changelog",component:u("/adaptors/packages/mongodb-changelog","5f0"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/mongodb-configuration-schema",component:u("/adaptors/packages/mongodb-configuration-schema","3e1"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/mongodb-docs",component:u("/adaptors/packages/mongodb-docs","780"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/mongodb-readme",component:u("/adaptors/packages/mongodb-readme","f59"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/msgraph-changelog",component:u("/adaptors/packages/msgraph-changelog","045"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/msgraph-configuration-schema",component:u("/adaptors/packages/msgraph-configuration-schema","187"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/msgraph-docs",component:u("/adaptors/packages/msgraph-docs","1dd"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/msgraph-readme",component:u("/adaptors/packages/msgraph-readme","cff"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/mssql-changelog",component:u("/adaptors/packages/mssql-changelog","97c"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/mssql-configuration-schema",component:u("/adaptors/packages/mssql-configuration-schema","389"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/mssql-docs",component:u("/adaptors/packages/mssql-docs","e52"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/mssql-readme",component:u("/adaptors/packages/mssql-readme","40c"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/mysql-changelog",component:u("/adaptors/packages/mysql-changelog","9e7"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/mysql-configuration-schema",component:u("/adaptors/packages/mysql-configuration-schema","4df"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/mysql-docs",component:u("/adaptors/packages/mysql-docs","c77"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/mysql-readme",component:u("/adaptors/packages/mysql-readme","24d"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/nexmo-changelog",component:u("/adaptors/packages/nexmo-changelog","eaf"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/nexmo-configuration-schema",component:u("/adaptors/packages/nexmo-configuration-schema","0a2"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/nexmo-docs",component:u("/adaptors/packages/nexmo-docs","33a"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/nexmo-readme",component:u("/adaptors/packages/nexmo-readme","090"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/ocl-changelog",component:u("/adaptors/packages/ocl-changelog","4d2"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/ocl-configuration-schema",component:u("/adaptors/packages/ocl-configuration-schema","ff0"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/ocl-docs",component:u("/adaptors/packages/ocl-docs","218"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/ocl-readme",component:u("/adaptors/packages/ocl-readme","9f4"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/openfn-changelog",component:u("/adaptors/packages/openfn-changelog","654"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/openfn-configuration-schema",component:u("/adaptors/packages/openfn-configuration-schema","1f9"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/openfn-docs",component:u("/adaptors/packages/openfn-docs","3c3"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/openfn-readme",component:u("/adaptors/packages/openfn-readme","b82"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/openhim-changelog",component:u("/adaptors/packages/openhim-changelog","4ad"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/openhim-configuration-schema",component:u("/adaptors/packages/openhim-configuration-schema","7ed"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/openhim-docs",component:u("/adaptors/packages/openhim-docs","e78"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/openhim-readme",component:u("/adaptors/packages/openhim-readme","ccc"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/openmrs-changelog",component:u("/adaptors/packages/openmrs-changelog","bb6"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/openmrs-configuration-schema",component:u("/adaptors/packages/openmrs-configuration-schema","b29"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/openmrs-docs",component:u("/adaptors/packages/openmrs-docs","011"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/openmrs-readme",component:u("/adaptors/packages/openmrs-readme","e90"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/postgresql-changelog",component:u("/adaptors/packages/postgresql-changelog","900"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/postgresql-configuration-schema",component:u("/adaptors/packages/postgresql-configuration-schema","091"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/postgresql-docs",component:u("/adaptors/packages/postgresql-docs","a9c"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/postgresql-readme",component:u("/adaptors/packages/postgresql-readme","21a"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/primero-changelog",component:u("/adaptors/packages/primero-changelog","75e"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/primero-configuration-schema",component:u("/adaptors/packages/primero-configuration-schema","c95"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/primero-docs",component:u("/adaptors/packages/primero-docs","9a7"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/primero-readme",component:u("/adaptors/packages/primero-readme","0ca"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/progres-changelog",component:u("/adaptors/packages/progres-changelog","24a"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/progres-configuration-schema",component:u("/adaptors/packages/progres-configuration-schema","280"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/progres-docs",component:u("/adaptors/packages/progres-docs","fee"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/progres-readme",component:u("/adaptors/packages/progres-readme","c4f"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/rapidpro-changelog",component:u("/adaptors/packages/rapidpro-changelog","499"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/rapidpro-configuration-schema",component:u("/adaptors/packages/rapidpro-configuration-schema","9c0"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/rapidpro-docs",component:u("/adaptors/packages/rapidpro-docs","de6"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/rapidpro-readme",component:u("/adaptors/packages/rapidpro-readme","c76"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/resourcemap-changelog",component:u("/adaptors/packages/resourcemap-changelog","653"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/resourcemap-configuration-schema",component:u("/adaptors/packages/resourcemap-configuration-schema","5f7"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/resourcemap-docs",component:u("/adaptors/packages/resourcemap-docs","0c1"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/resourcemap-readme",component:u("/adaptors/packages/resourcemap-readme","eb6"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/salesforce-changelog",component:u("/adaptors/packages/salesforce-changelog","5e8"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/salesforce-configuration-schema",component:u("/adaptors/packages/salesforce-configuration-schema","033"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/salesforce-docs",component:u("/adaptors/packages/salesforce-docs","485"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/salesforce-readme",component:u("/adaptors/packages/salesforce-readme","d2f"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/sftp-changelog",component:u("/adaptors/packages/sftp-changelog","1e9"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/sftp-configuration-schema",component:u("/adaptors/packages/sftp-configuration-schema","bfa"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/sftp-docs",component:u("/adaptors/packages/sftp-docs","057"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/sftp-readme",component:u("/adaptors/packages/sftp-readme","2f4"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/smpp-changelog",component:u("/adaptors/packages/smpp-changelog","557"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/smpp-configuration-schema",component:u("/adaptors/packages/smpp-configuration-schema","cc4"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/smpp-docs",component:u("/adaptors/packages/smpp-docs","42f"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/smpp-readme",component:u("/adaptors/packages/smpp-readme","61b"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/surveycto-changelog",component:u("/adaptors/packages/surveycto-changelog","8ed"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/surveycto-configuration-schema",component:u("/adaptors/packages/surveycto-configuration-schema","f5c"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/surveycto-docs",component:u("/adaptors/packages/surveycto-docs","10a"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/surveycto-readme",component:u("/adaptors/packages/surveycto-readme","d89"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/telerivet-changelog",component:u("/adaptors/packages/telerivet-changelog","3b2"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/telerivet-configuration-schema",component:u("/adaptors/packages/telerivet-configuration-schema","444"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/telerivet-docs",component:u("/adaptors/packages/telerivet-docs","28a"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/telerivet-readme",component:u("/adaptors/packages/telerivet-readme","c42"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/template-changelog",component:u("/adaptors/packages/template-changelog","81a"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/template-configuration-schema",component:u("/adaptors/packages/template-configuration-schema","ff9"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/template-docs",component:u("/adaptors/packages/template-docs","b83"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/template-readme",component:u("/adaptors/packages/template-readme","4fa"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/twilio-changelog",component:u("/adaptors/packages/twilio-changelog","557"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/twilio-configuration-schema",component:u("/adaptors/packages/twilio-configuration-schema","ca0"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/twilio-docs",component:u("/adaptors/packages/twilio-docs","c9c"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/twilio-readme",component:u("/adaptors/packages/twilio-readme","d9d"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/vtiger-changelog",component:u("/adaptors/packages/vtiger-changelog","54f"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/vtiger-configuration-schema",component:u("/adaptors/packages/vtiger-configuration-schema","54c"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/vtiger-docs",component:u("/adaptors/packages/vtiger-docs","867"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/vtiger-readme",component:u("/adaptors/packages/vtiger-readme","b50"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/zoho-changelog",component:u("/adaptors/packages/zoho-changelog","5c8"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/zoho-configuration-schema",component:u("/adaptors/packages/zoho-configuration-schema","0e5"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/zoho-docs",component:u("/adaptors/packages/zoho-docs","859"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/packages/zoho-readme",component:u("/adaptors/packages/zoho-readme","71d"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/postgresql",component:u("/adaptors/postgresql","b09"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/powerbi",component:u("/adaptors/powerbi","0ac"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/primero",component:u("/adaptors/primero","ed9"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/salesforce",component:u("/adaptors/salesforce","eeb"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/surveycto",component:u("/adaptors/surveycto","6aa"),exact:!0,sidebar:"adaptors"},{path:"/adaptors/tableau",component:u("/adaptors/tableau","096"),exact:!0,sidebar:"adaptors"}]},{path:"/documentation",component:u("/documentation","95e"),routes:[{path:"/documentation",component:u("/documentation","132"),exact:!0,sidebar:"docs"},{path:"/documentation/about",component:u("/documentation/about","29b"),exact:!0,sidebar:"docs"},{path:"/documentation/about-lightning",component:u("/documentation/about-lightning","dcc"),exact:!0,sidebar:"docs"},{path:"/documentation/build/credentials",component:u("/documentation/build/credentials","798"),exact:!0,sidebar:"docs"},{path:"/documentation/build/example-build",component:u("/documentation/build/example-build","31b"),exact:!0,sidebar:"docs"},{path:"/documentation/build/inbox",component:u("/documentation/build/inbox","b93"),exact:!0,sidebar:"docs"},{path:"/documentation/build/jobs",component:u("/documentation/build/jobs","8f0"),exact:!0,sidebar:"docs"},{path:"/documentation/build/lightning-quick-start",component:u("/documentation/build/lightning-quick-start","d8b"),exact:!0,sidebar:"docs"},{path:"/documentation/build/triggers",component:u("/documentation/build/triggers","455"),exact:!0,sidebar:"docs"},{path:"/documentation/build/troubleshooting",component:u("/documentation/build/troubleshooting","ee9"),exact:!0,sidebar:"docs"},{path:"/documentation/cli",component:u("/documentation/cli","129"),exact:!0,sidebar:"docs"},{path:"/documentation/core",component:u("/documentation/core","886"),exact:!0,sidebar:"docs"},{path:"/documentation/deploy/options",component:u("/documentation/deploy/options","a30"),exact:!0,sidebar:"docs"},{path:"/documentation/deploy/requirements",component:u("/documentation/deploy/requirements","310"),exact:!0,sidebar:"docs"},{path:"/documentation/design/design-quickstart",component:u("/documentation/design/design-quickstart","4c7"),exact:!0,sidebar:"docs"},{path:"/documentation/design/when-to-integrate",component:u("/documentation/design/when-to-integrate","021"),exact:!0},{path:"/documentation/devtools/home",component:u("/documentation/devtools/home","119"),exact:!0,sidebar:"docs"},{path:"/documentation/faqs",component:u("/documentation/faqs","03e"),exact:!0,sidebar:"docs"},{path:"/documentation/for-devs",component:u("/documentation/for-devs","0c7"),exact:!0,sidebar:"docs"},{path:"/documentation/getting-started/automation-inspiration",component:u("/documentation/getting-started/automation-inspiration","d1c"),exact:!0},{path:"/documentation/getting-started/commcare-project-walkthrough",component:u("/documentation/getting-started/commcare-project-walkthrough","36e"),exact:!0},{path:"/documentation/getting-started/deployment-options",component:u("/documentation/getting-started/deployment-options","b0b"),exact:!0},{path:"/documentation/getting-started/designing-integrations",component:u("/documentation/getting-started/designing-integrations","ce5"),exact:!0},{path:"/documentation/getting-started/glossary",component:u("/documentation/getting-started/glossary","cf4"),exact:!0,sidebar:"docs"},{path:"/documentation/getting-started/implementation-checklist",component:u("/documentation/getting-started/implementation-checklist","3a7"),exact:!0,sidebar:"docs"},{path:"/documentation/getting-started/integrating-using-openfn",component:u("/documentation/getting-started/integrating-using-openfn","723"),exact:!0},{path:"/documentation/getting-started/integration-toolkit",component:u("/documentation/getting-started/integration-toolkit","8a1"),exact:!0,sidebar:"docs"},{path:"/documentation/getting-started/security",component:u("/documentation/getting-started/security","0d9"),exact:!0,sidebar:"docs"},{path:"/documentation/getting-started/so-you-want-to-integrate",component:u("/documentation/getting-started/so-you-want-to-integrate","b5a"),exact:!0,sidebar:"docs"},{path:"/documentation/getting-started/terminology",component:u("/documentation/getting-started/terminology","60a"),exact:!0,sidebar:"docs"},{path:"/documentation/getting-started/use-cases",component:u("/documentation/getting-started/use-cases","f79"),exact:!0},{path:"/documentation/gsoc",component:u("/documentation/gsoc","af0"),exact:!0,sidebar:"docs"},{path:"/documentation/instant-openhie",component:u("/documentation/instant-openhie","7ca"),exact:!0,sidebar:"docs"},{path:"/documentation/jobs/each",component:u("/documentation/jobs/each","dfd"),exact:!0,sidebar:"docs"},{path:"/documentation/jobs/editing_locally",component:u("/documentation/jobs/editing_locally","0d9"),exact:!0,sidebar:"docs"},{path:"/documentation/jobs/errors",component:u("/documentation/jobs/errors","eae"),exact:!0,sidebar:"docs"},{path:"/documentation/jobs/job-design-intro",component:u("/documentation/jobs/job-design-intro","b51"),exact:!0,sidebar:"docs"},{path:"/documentation/jobs/job-studio",component:u("/documentation/jobs/job-studio","037"),exact:!0,sidebar:"docs"},{path:"/documentation/jobs/limits",component:u("/documentation/jobs/limits","61c"),exact:!0,sidebar:"docs"},{path:"/documentation/jobs/multiple-operations",component:u("/documentation/jobs/multiple-operations","064"),exact:!0,sidebar:"docs"},{path:"/documentation/jobs/operations",component:u("/documentation/jobs/operations","ac4"),exact:!0,sidebar:"docs"},{path:"/documentation/jobs/state",component:u("/documentation/jobs/state","c42"),exact:!0,sidebar:"docs"},{path:"/documentation/jobs/understanding",component:u("/documentation/jobs/understanding","59c"),exact:!0,sidebar:"docs"},{path:"/documentation/jobs/working_with_branches",component:u("/documentation/jobs/working_with_branches","66a"),exact:!0,sidebar:"docs"},{path:"/documentation/manage/platform-mgmt",component:u("/documentation/manage/platform-mgmt","d25"),exact:!0,sidebar:"docs"},{path:"/documentation/manage/troubleshooting-tips-on-platform",component:u("/documentation/manage/troubleshooting-tips-on-platform","5b9"),exact:!0,sidebar:"docs"},{path:"/documentation/microservice/home",component:u("/documentation/microservice/home","49f"),exact:!0,sidebar:"docs"},{path:"/documentation/openfn-roadmap",component:u("/documentation/openfn-roadmap","e8a"),exact:!0,sidebar:"docs"},{path:"/documentation/portability",component:u("/documentation/portability","d03"),exact:!0,sidebar:"docs"},{path:"/documentation/portability-versions",component:u("/documentation/portability-versions","547"),exact:!0},{path:"/documentation/release-notes",component:u("/documentation/release-notes","4be"),exact:!0,sidebar:"docs"},{path:"/documentation/roadmap",component:u("/documentation/roadmap","2bb"),exact:!0},{path:"/documentation/source-apps",component:u("/documentation/source-apps","6b1"),exact:!0,sidebar:"docs"},{path:"/documentation/standards/digital-public-goods",component:u("/documentation/standards/digital-public-goods","e8a"),exact:!0,sidebar:"docs"},{path:"/documentation/standards/global-goods",component:u("/documentation/standards/global-goods","11f"),exact:!0,sidebar:"docs"},{path:"/documentation/standards/openhie",component:u("/documentation/standards/openhie","eaa"),exact:!0,sidebar:"docs"},{path:"/documentation/style-guide",component:u("/documentation/style-guide","402"),exact:!0,sidebar:"docs"},{path:"/documentation/writing-code",component:u("/documentation/writing-code","b0f"),exact:!0},{path:"/documentation/writing-docs",component:u("/documentation/writing-docs","57f"),exact:!0,sidebar:"docs"}]},{path:"/",component:u("/","fc2"),exact:!0},{path:"*",component:u("*")}]},98934:(e,t,a)=>{"use strict";a.d(t,{_:()=>o,t:()=>r});var n=a(67294);const o=n.createContext(!1);function r(e){let{children:t}=e;const[a,r]=(0,n.useState)(!1);return(0,n.useEffect)((()=>{r(!0)}),[]),n.createElement(o.Provider,{value:a},t)}},49383:(e,t,a)=>{"use strict";var n=a(67294),o=a(73935),r=a(73727),s=a(70405),i=a(10412);const c=[a(56657),a(32497),a(3310),a(18320),a(52295)];var l=a(723),d=a(16550),p=a(18790);function u(e){let{children:t}=e;return n.createElement(n.Fragment,null,t)}var m=a(87462),g=a(35742),b=a(52263),f=a(44996),h=a(86668),y=a(10833),k=a(94711),v=a(19727),w=a(43320),_=a(90197);function x(){const{i18n:{defaultLocale:e,localeConfigs:t}}=(0,b.Z)(),a=(0,k.l)();return n.createElement(g.Z,null,Object.entries(t).map((e=>{let[t,{htmlLang:o}]=e;return n.createElement("link",{key:t,rel:"alternate",href:a.createUrl({locale:t,fullyQualified:!0}),hrefLang:o})})),n.createElement("link",{rel:"alternate",href:a.createUrl({locale:e,fullyQualified:!0}),hrefLang:"x-default"}))}function S(e){let{permalink:t}=e;const{siteConfig:{url:a}}=(0,b.Z)(),o=function(){const{siteConfig:{url:e}}=(0,b.Z)(),{pathname:t}=(0,d.TH)();return e+(0,f.Z)(t)}(),r=t?`${a}${t}`:o;return n.createElement(g.Z,null,n.createElement("meta",{property:"og:url",content:r}),n.createElement("link",{rel:"canonical",href:r}))}function E(){const{i18n:{currentLocale:e}}=(0,b.Z)(),{metadata:t,image:a}=(0,h.L)();return n.createElement(n.Fragment,null,n.createElement(g.Z,null,n.createElement("meta",{name:"twitter:card",content:"summary_large_image"}),n.createElement("body",{className:v.h})),a&&n.createElement(y.d,{image:a}),n.createElement(S,null),n.createElement(x,null),n.createElement(_.Z,{tag:w.HX,locale:e}),n.createElement(g.Z,null,t.map(((e,t)=>n.createElement("meta",(0,m.Z)({key:t},e))))))}const T=new Map;function j(e){if(T.has(e.pathname))return{...e,pathname:T.get(e.pathname)};if((0,p.f)(l.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return T.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return T.set(e.pathname,t),{...e,pathname:t}}var C=a(98934),P=a(58940);function R(e){for(var t=arguments.length,a=new Array(t>1?t-1:0),n=1;n{const n=t.default?.[e]??t[e];return n?.(...a)}));return()=>o.forEach((e=>e?.()))}const A=function(e){let{children:t,location:a,previousLocation:o}=e;return(0,n.useLayoutEffect)((()=>{o!==a&&(!function(e){let{location:t,previousLocation:a}=e;if(!a)return;const n=t.pathname===a.pathname,o=t.hash===a.hash,r=t.search===a.search;if(n&&o&&!r)return;const{hash:s}=t;if(s){const e=decodeURIComponent(s.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:a,previousLocation:o}),R("onRouteDidUpdate",{previousLocation:o,location:a}))}),[o,a]),t};function I(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,p.f)(l.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class L extends n.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=i.Z.canUseDOM?R("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const a=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=R("onRouteUpdate",{previousLocation:this.previousLocation,location:a}),I(a.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return n.createElement(A,{previousLocation:this.previousLocation,location:t},n.createElement(d.AW,{location:t,render:()=>e}))}}const O=L,D="__docusaurus-base-url-issue-banner-container",N="__docusaurus-base-url-issue-banner",M="__docusaurus-base-url-issue-banner-suggestion-container",F="__DOCUSAURUS_INSERT_BASEURL_BANNER";function B(e){return`\nwindow['${F}'] = true;\n\ndocument.addEventListener('DOMContentLoaded', maybeInsertBanner);\n\nfunction maybeInsertBanner() {\n var shouldInsert = window['${F}'];\n shouldInsert && insertBanner();\n}\n\nfunction insertBanner() {\n var bannerContainer = document.getElementById('${D}');\n if (!bannerContainer) {\n return;\n }\n var bannerHtml = ${JSON.stringify(function(e){return`\n
    \n

    Your Docusaurus site did not load properly.

    \n

    A very common reason is a wrong site baseUrl configuration.

    \n

    Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

    \n

    We suggest trying baseUrl =

    \n
    \n`}(e)).replace(/{window[F]=!1}),[]),n.createElement(n.Fragment,null,!i.Z.canUseDOM&&n.createElement(g.Z,null,n.createElement("script",null,B(e))),n.createElement("div",{id:D}))}function q(){const{siteConfig:{baseUrl:e,baseUrlIssueBanner:t}}=(0,b.Z)(),{pathname:a}=(0,d.TH)();return t&&a===e?n.createElement(U,null):null}function H(){const{siteConfig:{favicon:e,title:t,noIndex:a},i18n:{currentLocale:o,localeConfigs:r}}=(0,b.Z)(),s=(0,f.Z)(e),{htmlLang:i,direction:c}=r[o];return n.createElement(g.Z,null,n.createElement("html",{lang:i,dir:c}),n.createElement("title",null,t),n.createElement("meta",{property:"og:title",content:t}),n.createElement("meta",{name:"viewport",content:"width=device-width, initial-scale=1.0"}),a&&n.createElement("meta",{name:"robots",content:"noindex, nofollow"}),e&&n.createElement("link",{rel:"icon",href:s}))}var z=a(44763);function $(){const e=(0,p.H)(l.Z),t=(0,d.TH)();return n.createElement(z.Z,null,n.createElement(P.M,null,n.createElement(C.t,null,n.createElement(u,null,n.createElement(H,null),n.createElement(E,null),n.createElement(q,null),n.createElement(O,{location:j(t)},e)))))}var V=a(16887);const G=function(e){try{return document.createElement("link").relList.supports(e)}catch{return!1}}("prefetch")?function(e){return new Promise(((t,a)=>{if("undefined"==typeof document)return void a();const n=document.createElement("link");n.setAttribute("rel","prefetch"),n.setAttribute("href",e),n.onload=()=>t(),n.onerror=()=>a();const o=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;o?.appendChild(n)}))}:function(e){return new Promise(((t,a)=>{const n=new XMLHttpRequest;n.open("GET",e,!0),n.withCredentials=!0,n.onload=()=>{200===n.status?t():a()},n.send(null)}))};var W=a(99670);const Z=new Set,Q=new Set,K=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,Y={prefetch(e){if(!(e=>!K()&&!Q.has(e)&&!Z.has(e))(e))return!1;Z.add(e);const t=(0,p.f)(l.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(V).filter((e=>{let[a]=e;return a.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,W.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=a.gca(e);return t&&!t.includes("undefined")?G(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!K()&&!Q.has(e))(e)&&(Q.add(e),I(e))},X=Object.freeze(Y);if(i.Z.canUseDOM){window.docusaurus=X;const e=o.hydrate;I(window.location.pathname).then((()=>{e(n.createElement(s.B6,null,n.createElement(r.VK,null,n.createElement($,null))),document.getElementById("__docusaurus"))}))}},58940:(e,t,a)=>{"use strict";a.d(t,{_:()=>d,M:()=>p});var n=a(67294),o=a(36809);const r=JSON.parse('{"docusaurus-plugin-google-gtag":{"default":{"trackingID":["G-TFLLYHHM0C"],"anonymizeIP":false,"id":"default"}},"docusaurus-plugin-content-docs":{"adaptors":{"path":"/adaptors","versions":[{"name":"current","label":"Next","isLast":true,"path":"/adaptors","mainDocId":"adaptors-intro","docs":[{"id":"adaptors-intro","path":"/adaptors/","sidebar":"adaptors"},{"id":"cht","path":"/adaptors/cht","sidebar":"adaptors"},{"id":"ckan","path":"/adaptors/ckan","sidebar":"adaptors"},{"id":"commcare","path":"/adaptors/commcare","sidebar":"adaptors"},{"id":"dhis2","path":"/adaptors/dhis2","sidebar":"adaptors"},{"id":"godata","path":"/adaptors/godata","sidebar":"adaptors"},{"id":"googlesheets","path":"/adaptors/googlesheets","sidebar":"adaptors"},{"id":"kobotoolbox","path":"/adaptors/kobotoolbox","sidebar":"adaptors"},{"id":"library-intro","path":"/adaptors/library","sidebar":"adaptors"},{"id":"library/jobs/auto/0-Get-TEI-data-2021-06-02","path":"/adaptors/library/jobs/auto/0-Get-TEI-data-2021-06-02","sidebar":"adaptors"},{"id":"library/jobs/auto/01-send-mailgun-email-2018-12-04","path":"/adaptors/library/jobs/auto/01-send-mailgun-email-2018-12-04","sidebar":"adaptors"},{"id":"library/jobs/auto/01a-Create-Registrants-2019-11-19","path":"/adaptors/library/jobs/auto/01a-Create-Registrants-2019-11-19","sidebar":"adaptors"},{"id":"library/jobs/auto/01b-Query-new-person-record-2019-12-13","path":"/adaptors/library/jobs/auto/01b-Query-new-person-record-2019-12-13","sidebar":"adaptors"},{"id":"library/jobs/auto/01c-Create-person_position-record-2019-12-13","path":"/adaptors/library/jobs/auto/01c-Create-person_position-record-2019-12-13","sidebar":"adaptors"},{"id":"library/jobs/auto/02a-Query-DB-for-people-to-pay-2019-12-11","path":"/adaptors/library/jobs/auto/02a-Query-DB-for-people-to-pay-2019-12-11","sidebar":"adaptors"},{"id":"library/jobs/auto/02b-Initiate-Payments-2019-11-19","path":"/adaptors/library/jobs/auto/02b-Initiate-Payments-2019-11-19","sidebar":"adaptors"},{"id":"library/jobs/auto/03-Update-Payment-Status-2019-11-19","path":"/adaptors/library/jobs/auto/03-Update-Payment-Status-2019-11-19","sidebar":"adaptors"},{"id":"library/jobs/auto/04a-Query-for-job-changes-2019-12-12","path":"/adaptors/library/jobs/auto/04a-Query-for-job-changes-2019-12-12","sidebar":"adaptors"},{"id":"library/jobs/auto/04b-Update-ODK-form-2019-12-03","path":"/adaptors/library/jobs/auto/04b-Update-ODK-form-2019-12-03","sidebar":"adaptors"},{"id":"library/jobs/auto/05-Submit-employee-evaluation-2019-12-03","path":"/adaptors/library/jobs/auto/05-Submit-employee-evaluation-2019-12-03","sidebar":"adaptors"},{"id":"library/jobs/auto/05a-Query-for-new-employees-2019-12-19","path":"/adaptors/library/jobs/auto/05a-Query-for-new-employees-2019-12-19","sidebar":"adaptors"},{"id":"library/jobs/auto/05b-Update-ODK-eval-form-2019-12-19","path":"/adaptors/library/jobs/auto/05b-Update-ODK-eval-form-2019-12-19","sidebar":"adaptors"},{"id":"library/jobs/auto/1-Create-Payment-in-SF-2018-09-03","path":"/adaptors/library/jobs/auto/1-Create-Payment-in-SF-2018-09-03","sidebar":"adaptors"},{"id":"library/jobs/auto/1-Get-CommCare-Forms-Bulk-Extract-2021-04-08","path":"/adaptors/library/jobs/auto/1-Get-CommCare-Forms-Bulk-Extract-2021-04-08","sidebar":"adaptors"},{"id":"library/jobs/auto/1-Get-data-from-SLUHIS-2023-03-08","path":"/adaptors/library/jobs/auto/1-Get-data-from-SLUHIS-2023-03-08","sidebar":"adaptors"},{"id":"library/jobs/auto/2-SMS-Balance-Update-to-Customer-2018-12-14","path":"/adaptors/library/jobs/auto/2-SMS-Balance-Update-to-Customer-2018-12-14","sidebar":"adaptors"},{"id":"library/jobs/auto/Add-DHIS2-Data-Value-Sets-2016-03-28","path":"/adaptors/library/jobs/auto/Add-DHIS2-Data-Value-Sets-2016-03-28","sidebar":"adaptors"},{"id":"library/jobs/auto/aleksa-cron-2022-04-29","path":"/adaptors/library/jobs/auto/aleksa-cron-2022-04-29","sidebar":"adaptors"},{"id":"library/jobs/auto/alter-state-before-operations","path":"/adaptors/library/jobs/auto/alter-state-before-operations","sidebar":"adaptors"},{"id":"library/jobs/auto/async-and-array-dot-map","path":"/adaptors/library/jobs/auto/async-and-array-dot-map","sidebar":"adaptors"},{"id":"library/jobs/auto/async-findValue","path":"/adaptors/library/jobs/auto/async-findValue","sidebar":"adaptors"},{"id":"library/jobs/auto/Attendance-Non-Skillz-2021-06-14","path":"/adaptors/library/jobs/auto/Attendance-Non-Skillz-2021-06-14","sidebar":"adaptors"},{"id":"library/jobs/auto/bring-formId-into-data-array-then-create-parent-and-children-in-salesforce","path":"/adaptors/library/jobs/auto/bring-formId-into-data-array-then-create-parent-and-children-in-salesforce","sidebar":"adaptors"},{"id":"library/jobs/auto/Catch-Error-in-HTTP-Request-2016-08-26","path":"/adaptors/library/jobs/auto/Catch-Error-in-HTTP-Request-2016-08-26","sidebar":"adaptors"},{"id":"library/jobs/auto/CHW-case-to-DHIS2-2023-04-27","path":"/adaptors/library/jobs/auto/CHW-case-to-DHIS2-2023-04-27","sidebar":"adaptors"},{"id":"library/jobs/auto/Coach-Session-Register-2021-05-03","path":"/adaptors/library/jobs/auto/Coach-Session-Register-2021-05-03","sidebar":"adaptors"},{"id":"library/jobs/auto/CommCare-FHIR","path":"/adaptors/library/jobs/auto/CommCare-FHIR","sidebar":"adaptors"},{"id":"library/jobs/auto/commcare-reports-api-2016-08-29","path":"/adaptors/library/jobs/auto/commcare-reports-api-2016-08-29","sidebar":"adaptors"},{"id":"library/jobs/auto/CommCare-to-Azure-Sql-2020-01-27","path":"/adaptors/library/jobs/auto/CommCare-to-Azure-Sql-2020-01-27","sidebar":"adaptors"},{"id":"library/jobs/auto/complex-http-request-chains","path":"/adaptors/library/jobs/auto/complex-http-request-chains","sidebar":"adaptors"},{"id":"library/jobs/auto/complex-state-control","path":"/adaptors/library/jobs/auto/complex-state-control","sidebar":"adaptors"},{"id":"library/jobs/auto/concatenate-many-fields-with-nulls","path":"/adaptors/library/jobs/auto/concatenate-many-fields-with-nulls","sidebar":"adaptors"},{"id":"library/jobs/auto/Create-contact-2021-03-01","path":"/adaptors/library/jobs/auto/Create-contact-2021-03-01","sidebar":"adaptors"},{"id":"library/jobs/auto/create-if-proposal","path":"/adaptors/library/jobs/auto/create-if-proposal","sidebar":"adaptors"},{"id":"library/jobs/auto/Create-Intervention-2021-04-08","path":"/adaptors/library/jobs/auto/Create-Intervention-2021-04-08","sidebar":"adaptors"},{"id":"library/jobs/auto/Create-Patient-in-OpenMRS-2019-10-24","path":"/adaptors/library/jobs/auto/Create-Patient-in-OpenMRS-2019-10-24","sidebar":"adaptors"},{"id":"library/jobs/auto/Create-Person-in-OpenMRS-2016-02-12","path":"/adaptors/library/jobs/auto/Create-Person-in-OpenMRS-2016-02-12","sidebar":"adaptors"},{"id":"library/jobs/auto/Create-Person-in-SF-2019-02-25","path":"/adaptors/library/jobs/auto/Create-Person-in-SF-2019-02-25","sidebar":"adaptors"},{"id":"library/jobs/auto/Create-SMS-Linked-to-Contact-in-SF","path":"/adaptors/library/jobs/auto/Create-SMS-Linked-to-Contact-in-SF","sidebar":"adaptors"},{"id":"library/jobs/auto/Create-TEI-dhis2-2021-03-22","path":"/adaptors/library/jobs/auto/Create-TEI-dhis2-2021-03-22","sidebar":"adaptors"},{"id":"library/jobs/auto/DHIS2-DataValues-API","path":"/adaptors/library/jobs/auto/DHIS2-DataValues-API","sidebar":"adaptors"},{"id":"library/jobs/auto/DHIS2-Events-2016-01-27","path":"/adaptors/library/jobs/auto/DHIS2-Events-2016-01-27","sidebar":"adaptors"},{"id":"library/jobs/auto/DHIS2-Events-API","path":"/adaptors/library/jobs/auto/DHIS2-Events-API","sidebar":"adaptors"},{"id":"library/jobs/auto/Extract-Vitas-Data-2021-05-11","path":"/adaptors/library/jobs/auto/Extract-Vitas-Data-2021-05-11","sidebar":"adaptors"},{"id":"library/jobs/auto/Failed-Payment-Notification-2021-04-23","path":"/adaptors/library/jobs/auto/Failed-Payment-Notification-2021-04-23","sidebar":"adaptors"},{"id":"library/jobs/auto/Fetch-Claims-2023-07-17","path":"/adaptors/library/jobs/auto/Fetch-Claims-2023-07-17","sidebar":"adaptors"},{"id":"library/jobs/auto/Get-cases-from-Primero-2021-09-23","path":"/adaptors/library/jobs/auto/Get-cases-from-Primero-2021-09-23","sidebar":"adaptors"},{"id":"library/jobs/auto/Get-CommCare-Forms-Bulk-Extract-2022-05-16","path":"/adaptors/library/jobs/auto/Get-CommCare-Forms-Bulk-Extract-2022-05-16","sidebar":"adaptors"},{"id":"library/jobs/auto/GET-Data-From-KoboToolbox-2022-03-22","path":"/adaptors/library/jobs/auto/GET-Data-From-KoboToolbox-2022-03-22","sidebar":"adaptors"},{"id":"library/jobs/auto/getKoboData","path":"/adaptors/library/jobs/auto/getKoboData","sidebar":"adaptors"},{"id":"library/jobs/auto/HIV-Testing-Event-Snapshot-2021-05-03","path":"/adaptors/library/jobs/auto/HIV-Testing-Event-Snapshot-2021-05-03","sidebar":"adaptors"},{"id":"library/jobs/auto/HIV-Testing-Event-Statistics-2021-05-03","path":"/adaptors/library/jobs/auto/HIV-Testing-Event-Statistics-2021-05-03","sidebar":"adaptors"},{"id":"library/jobs/auto/Load-to-DB-2022-05-16","path":"/adaptors/library/jobs/auto/Load-to-DB-2022-05-16","sidebar":"adaptors"},{"id":"library/jobs/auto/Load-to-DHIS2-2023-07-17","path":"/adaptors/library/jobs/auto/Load-to-DHIS2-2023-07-17","sidebar":"adaptors"},{"id":"library/jobs/auto/Load-Upsert-Data-into-PostgreSQL-2022-03-22","path":"/adaptors/library/jobs/auto/Load-Upsert-Data-into-PostgreSQL-2022-03-22","sidebar":"adaptors"},{"id":"library/jobs/auto/Malaria-Testing-Event-Snapshot-2021-05-03","path":"/adaptors/library/jobs/auto/Malaria-Testing-Event-Snapshot-2021-05-03","sidebar":"adaptors"},{"id":"library/jobs/auto/Malaria-Testing-Event-Statistics-2021-05-03","path":"/adaptors/library/jobs/auto/Malaria-Testing-Event-Statistics-2021-05-03","sidebar":"adaptors"},{"id":"library/jobs/auto/nawiri-2023-05-03","path":"/adaptors/library/jobs/auto/nawiri-2023-05-03","sidebar":"adaptors"},{"id":"library/jobs/auto/no-return-2023-01-06","path":"/adaptors/library/jobs/auto/no-return-2023-01-06","sidebar":"adaptors"},{"id":"library/jobs/auto/ODK-Create-Many-Records-Moving-In-And-Out-Of-Repeat-Blocks","path":"/adaptors/library/jobs/auto/ODK-Create-Many-Records-Moving-In-And-Out-Of-Repeat-Blocks","sidebar":"adaptors"},{"id":"library/jobs/auto/Pay-CHW-2021-04-23","path":"/adaptors/library/jobs/auto/Pay-CHW-2021-04-23","sidebar":"adaptors"},{"id":"library/jobs/auto/PHQ9-2021-05-03","path":"/adaptors/library/jobs/auto/PHQ9-2021-05-03","sidebar":"adaptors"},{"id":"library/jobs/auto/promise-all-nested-requests","path":"/adaptors/library/jobs/auto/promise-all-nested-requests","sidebar":"adaptors"},{"id":"library/jobs/auto/Q3-2022-Create-Distribution-Referral-in-SF-2020-06-19","path":"/adaptors/library/jobs/auto/Q3-2022-Create-Distribution-Referral-in-SF-2020-06-19","sidebar":"adaptors"},{"id":"library/jobs/auto/Q3-2022-Update-HH-Name-in-CommCare-2021-09-27","path":"/adaptors/library/jobs/auto/Q3-2022-Update-HH-Name-in-CommCare-2021-09-27","sidebar":"adaptors"},{"id":"library/jobs/auto/Q3-2022-Upsert-Household-Household-Visit-in-SF-2022-06-28","path":"/adaptors/library/jobs/auto/Q3-2022-Upsert-Household-Household-Visit-in-SF-2022-06-28","sidebar":"adaptors"},{"id":"library/jobs/auto/Q3-2022-Upsert-Person-2022-04-21","path":"/adaptors/library/jobs/auto/Q3-2022-Upsert-Person-2022-04-21","sidebar":"adaptors"},{"id":"library/jobs/auto/Q3-2022-Upsert-Person-Visit-2022-06-28","path":"/adaptors/library/jobs/auto/Q3-2022-Upsert-Person-Visit-2022-06-28","sidebar":"adaptors"},{"id":"library/jobs/auto/Q4-2022-Upsert-Supervision-Accompaniment-2022-08-22","path":"/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Accompaniment-2022-08-22","sidebar":"adaptors"},{"id":"library/jobs/auto/Q4-2022-Upsert-Supervision-Feedback-2022-08-19","path":"/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Feedback-2022-08-19","sidebar":"adaptors"},{"id":"library/jobs/auto/Q4-2022-Upsert-Supervision-Household-Spot-Check-2022-08-24","path":"/adaptors/library/jobs/auto/Q4-2022-Upsert-Supervision-Household-Spot-Check-2022-08-24","sidebar":"adaptors"},{"id":"library/jobs/auto/Register-Participant-V2-Skillz-2021-06-02","path":"/adaptors/library/jobs/auto/Register-Participant-V2-Skillz-2021-06-02","sidebar":"adaptors"},{"id":"library/jobs/auto/Register-Patient-2021-03-02","path":"/adaptors/library/jobs/auto/Register-Patient-2021-03-02","sidebar":"adaptors"},{"id":"library/jobs/auto/Registration-forms-new-case-2023-06-22","path":"/adaptors/library/jobs/auto/Registration-forms-new-case-2023-06-22","sidebar":"adaptors"},{"id":"library/jobs/auto/Request-Vitas-Sync-2021-05-11","path":"/adaptors/library/jobs/auto/Request-Vitas-Sync-2021-05-11","sidebar":"adaptors"},{"id":"library/jobs/auto/Risk-and-Vulnerability-Assessment-2021-05-27","path":"/adaptors/library/jobs/auto/Risk-and-Vulnerability-Assessment-2021-05-27","sidebar":"adaptors"},{"id":"library/jobs/auto/send-mail-in-mailgun","path":"/adaptors/library/jobs/auto/send-mail-in-mailgun","sidebar":"adaptors"},{"id":"library/jobs/auto/send-sms-from-salesforce-workflow","path":"/adaptors/library/jobs/auto/send-sms-from-salesforce-workflow","sidebar":"adaptors"},{"id":"library/jobs/auto/synchronous-http-request","path":"/adaptors/library/jobs/auto/synchronous-http-request","sidebar":"adaptors"},{"id":"library/jobs/auto/timeout","path":"/adaptors/library/jobs/auto/timeout","sidebar":"adaptors"},{"id":"library/jobs/auto/Upsert-Aggregate-Service-Referrals-2021-04-30","path":"/adaptors/library/jobs/auto/Upsert-Aggregate-Service-Referrals-2021-04-30","sidebar":"adaptors"},{"id":"library/jobs/auto/Upsert-ART-Adherence-Self-Reporting-Tool-2021-04-30","path":"/adaptors/library/jobs/auto/Upsert-ART-Adherence-Self-Reporting-Tool-2021-04-30","sidebar":"adaptors"},{"id":"library/jobs/auto/Upsert-Attendance-Skillz-Plus-Club-2021-05-24","path":"/adaptors/library/jobs/auto/Upsert-Attendance-Skillz-Plus-Club-2021-05-24","sidebar":"adaptors"},{"id":"library/jobs/auto/Upsert-Coach-Support-Visit-CSV-2021-04-28","path":"/adaptors/library/jobs/auto/Upsert-Coach-Support-Visit-CSV-2021-04-28","sidebar":"adaptors"},{"id":"library/jobs/auto/Upsert-Confirm-Services-Received-2021-06-14","path":"/adaptors/library/jobs/auto/Upsert-Confirm-Services-Received-2021-06-14","sidebar":"adaptors"},{"id":"library/jobs/auto/Upsert-Home-Visit-Log-Form-2021-05-03","path":"/adaptors/library/jobs/auto/Upsert-Home-Visit-Log-Form-2021-05-03","sidebar":"adaptors"},{"id":"library/jobs/auto/Upsert-Intervention-Notes-2021-04-28","path":"/adaptors/library/jobs/auto/Upsert-Intervention-Notes-2021-04-28","sidebar":"adaptors"},{"id":"library/jobs/auto/upsert-many-items-in-array-with-value-outside-array","path":"/adaptors/library/jobs/auto/upsert-many-items-in-array-with-value-outside-array","sidebar":"adaptors"},{"id":"library/jobs/auto/Upsert-Post-Challenges-2021-04-30","path":"/adaptors/library/jobs/auto/Upsert-Post-Challenges-2021-04-30","sidebar":"adaptors"},{"id":"library/jobs/auto/Upsert-Pre-Challenges-2021-04-30","path":"/adaptors/library/jobs/auto/Upsert-Pre-Challenges-2021-04-30","sidebar":"adaptors"},{"id":"library/jobs/auto/Upsert-Register-Event-2021-04-30","path":"/adaptors/library/jobs/auto/Upsert-Register-Event-2021-04-30","sidebar":"adaptors"},{"id":"library/jobs/auto/Upsert-Register-Participant-2021-04-28","path":"/adaptors/library/jobs/auto/Upsert-Register-Participant-2021-04-28","sidebar":"adaptors"},{"id":"library/jobs/auto/Upsert-Register-Participant-Skillz-2021-08-30","path":"/adaptors/library/jobs/auto/Upsert-Register-Participant-Skillz-2021-08-30","sidebar":"adaptors"},{"id":"library/jobs/auto/Upsert-Register-Skills-plus-Club-2021-04-30","path":"/adaptors/library/jobs/auto/Upsert-Register-Skills-plus-Club-2021-04-30","sidebar":"adaptors"},{"id":"library/jobs/auto/Upsert-Risk-Vulnerability-Assessment-Service-Referral-2021-05-25","path":"/adaptors/library/jobs/auto/Upsert-Risk-Vulnerability-Assessment-Service-Referral-2021-05-25","sidebar":"adaptors"},{"id":"library/jobs/auto/Upsert-Service-Referral-2-2021-06-14","path":"/adaptors/library/jobs/auto/Upsert-Service-Referral-2-2021-06-14","sidebar":"adaptors"},{"id":"library/jobs/auto/Upsert-Service-Referral-2021-04-30","path":"/adaptors/library/jobs/auto/Upsert-Service-Referral-2021-04-30","sidebar":"adaptors"},{"id":"library/jobs/auto/Upsert-Service-Referral-Followup-2021-04-30","path":"/adaptors/library/jobs/auto/Upsert-Service-Referral-Followup-2021-04-30","sidebar":"adaptors"},{"id":"library/jobs/auto/Upsert-Team-Group-Name-2021-04-28","path":"/adaptors/library/jobs/auto/Upsert-Team-Group-Name-2021-04-28","sidebar":"adaptors"},{"id":"library/jobs/auto/Upsert-to-mBrana-2021-05-11","path":"/adaptors/library/jobs/auto/Upsert-to-mBrana-2021-05-11","sidebar":"adaptors"},{"id":"library/jobs/auto/Upsert-User-in-Salesforce-2021-04-16","path":"/adaptors/library/jobs/auto/Upsert-User-in-Salesforce-2021-04-16","sidebar":"adaptors"},{"id":"library/jobs/auto/WF1-1-Bulk-get-HH-cases-2023-05-19","path":"/adaptors/library/jobs/auto/WF1-1-Bulk-get-HH-cases-2023-05-19","sidebar":"adaptors"},{"id":"library/jobs/auto/WF1-2-Bulk-upsert-HHs-and-HH-Visits-2023-05-19","path":"/adaptors/library/jobs/auto/WF1-2-Bulk-upsert-HHs-and-HH-Visits-2023-05-19","sidebar":"adaptors"},{"id":"library/jobs/auto/WF2-1-Bulk-get-Person-cases-2023-05-19","path":"/adaptors/library/jobs/auto/WF2-1-Bulk-get-Person-cases-2023-05-19","sidebar":"adaptors"},{"id":"library/jobs/auto/WF2-2-Bulk-upsert-Persons-2023-05-19","path":"/adaptors/library/jobs/auto/WF2-2-Bulk-upsert-Persons-2023-05-19","sidebar":"adaptors"},{"id":"library/jobs/auto/WF3-1-Bulk-get-Person-Visit-cases-2023-05-19","path":"/adaptors/library/jobs/auto/WF3-1-Bulk-get-Person-Visit-cases-2023-05-19","sidebar":"adaptors"},{"id":"library/jobs/auto/WF3-2-Bulk-upsert-Person-Visits-2023-05-19","path":"/adaptors/library/jobs/auto/WF3-2-Bulk-upsert-Person-Visits-2023-05-19","sidebar":"adaptors"},{"id":"library/jobs/auto/WF3-2a-Repeat-Failed-Person-Visits-2023-05-31","path":"/adaptors/library/jobs/auto/WF3-2a-Repeat-Failed-Person-Visits-2023-05-31","sidebar":"adaptors"},{"id":"library/jobs/auto/WF4-1-Bulk-get-Referral-Cases-2023-05-19","path":"/adaptors/library/jobs/auto/WF4-1-Bulk-get-Referral-Cases-2023-05-19","sidebar":"adaptors"},{"id":"library/jobs/auto/WF4-2-Bulk-upsert-Services-2023-05-19","path":"/adaptors/library/jobs/auto/WF4-2-Bulk-upsert-Services-2023-05-19","sidebar":"adaptors"},{"id":"library/triggers/xmlns","path":"/adaptors/library/triggers/xmlns"},{"id":"magpi","path":"/adaptors/magpi","sidebar":"adaptors"},{"id":"moodle","path":"/adaptors/moodle","sidebar":"adaptors"},{"id":"odk","path":"/adaptors/odk","sidebar":"adaptors"},{"id":"ona","path":"/adaptors/ona","sidebar":"adaptors"},{"id":"packages/asana-changelog","path":"/adaptors/packages/asana-changelog","sidebar":"adaptors"},{"id":"packages/asana-configuration-schema","path":"/adaptors/packages/asana-configuration-schema","sidebar":"adaptors"},{"id":"packages/asana-docs","path":"/adaptors/packages/asana-docs","sidebar":"adaptors"},{"id":"packages/asana-readme","path":"/adaptors/packages/asana-readme","sidebar":"adaptors"},{"id":"packages/beyonic-changelog","path":"/adaptors/packages/beyonic-changelog","sidebar":"adaptors"},{"id":"packages/beyonic-configuration-schema","path":"/adaptors/packages/beyonic-configuration-schema","sidebar":"adaptors"},{"id":"packages/beyonic-docs","path":"/adaptors/packages/beyonic-docs","sidebar":"adaptors"},{"id":"packages/beyonic-readme","path":"/adaptors/packages/beyonic-readme","sidebar":"adaptors"},{"id":"packages/bigquery-changelog","path":"/adaptors/packages/bigquery-changelog","sidebar":"adaptors"},{"id":"packages/bigquery-configuration-schema","path":"/adaptors/packages/bigquery-configuration-schema","sidebar":"adaptors"},{"id":"packages/bigquery-docs","path":"/adaptors/packages/bigquery-docs","sidebar":"adaptors"},{"id":"packages/bigquery-readme","path":"/adaptors/packages/bigquery-readme","sidebar":"adaptors"},{"id":"packages/commcare-changelog","path":"/adaptors/packages/commcare-changelog","sidebar":"adaptors"},{"id":"packages/commcare-configuration-schema","path":"/adaptors/packages/commcare-configuration-schema","sidebar":"adaptors"},{"id":"packages/commcare-docs","path":"/adaptors/packages/commcare-docs","sidebar":"adaptors"},{"id":"packages/commcare-readme","path":"/adaptors/packages/commcare-readme","sidebar":"adaptors"},{"id":"packages/common-changelog","path":"/adaptors/packages/common-changelog","sidebar":"adaptors"},{"id":"packages/common-configuration-schema","path":"/adaptors/packages/common-configuration-schema","sidebar":"adaptors"},{"id":"packages/common-docs","path":"/adaptors/packages/common-docs","sidebar":"adaptors"},{"id":"packages/common-readme","path":"/adaptors/packages/common-readme","sidebar":"adaptors"},{"id":"packages/dhis2-changelog","path":"/adaptors/packages/dhis2-changelog","sidebar":"adaptors"},{"id":"packages/dhis2-configuration-schema","path":"/adaptors/packages/dhis2-configuration-schema","sidebar":"adaptors"},{"id":"packages/dhis2-docs","path":"/adaptors/packages/dhis2-docs","sidebar":"adaptors"},{"id":"packages/dhis2-readme","path":"/adaptors/packages/dhis2-readme","sidebar":"adaptors"},{"id":"packages/dynamics-changelog","path":"/adaptors/packages/dynamics-changelog","sidebar":"adaptors"},{"id":"packages/dynamics-configuration-schema","path":"/adaptors/packages/dynamics-configuration-schema","sidebar":"adaptors"},{"id":"packages/dynamics-docs","path":"/adaptors/packages/dynamics-docs","sidebar":"adaptors"},{"id":"packages/dynamics-readme","path":"/adaptors/packages/dynamics-readme","sidebar":"adaptors"},{"id":"packages/facebook-changelog","path":"/adaptors/packages/facebook-changelog","sidebar":"adaptors"},{"id":"packages/facebook-configuration-schema","path":"/adaptors/packages/facebook-configuration-schema","sidebar":"adaptors"},{"id":"packages/facebook-docs","path":"/adaptors/packages/facebook-docs","sidebar":"adaptors"},{"id":"packages/facebook-readme","path":"/adaptors/packages/facebook-readme","sidebar":"adaptors"},{"id":"packages/fhir-changelog","path":"/adaptors/packages/fhir-changelog","sidebar":"adaptors"},{"id":"packages/fhir-configuration-schema","path":"/adaptors/packages/fhir-configuration-schema","sidebar":"adaptors"},{"id":"packages/fhir-docs","path":"/adaptors/packages/fhir-docs","sidebar":"adaptors"},{"id":"packages/fhir-readme","path":"/adaptors/packages/fhir-readme","sidebar":"adaptors"},{"id":"packages/godata-changelog","path":"/adaptors/packages/godata-changelog","sidebar":"adaptors"},{"id":"packages/godata-configuration-schema","path":"/adaptors/packages/godata-configuration-schema","sidebar":"adaptors"},{"id":"packages/godata-docs","path":"/adaptors/packages/godata-docs","sidebar":"adaptors"},{"id":"packages/godata-readme","path":"/adaptors/packages/godata-readme","sidebar":"adaptors"},{"id":"packages/googlehealthcare-changelog","path":"/adaptors/packages/googlehealthcare-changelog","sidebar":"adaptors"},{"id":"packages/googlehealthcare-configuration-schema","path":"/adaptors/packages/googlehealthcare-configuration-schema","sidebar":"adaptors"},{"id":"packages/googlehealthcare-docs","path":"/adaptors/packages/googlehealthcare-docs","sidebar":"adaptors"},{"id":"packages/googlehealthcare-readme","path":"/adaptors/packages/googlehealthcare-readme","sidebar":"adaptors"},{"id":"packages/googlesheets-changelog","path":"/adaptors/packages/googlesheets-changelog","sidebar":"adaptors"},{"id":"packages/googlesheets-configuration-schema","path":"/adaptors/packages/googlesheets-configuration-schema","sidebar":"adaptors"},{"id":"packages/googlesheets-docs","path":"/adaptors/packages/googlesheets-docs","sidebar":"adaptors"},{"id":"packages/googlesheets-readme","path":"/adaptors/packages/googlesheets-readme","sidebar":"adaptors"},{"id":"packages/http-changelog","path":"/adaptors/packages/http-changelog","sidebar":"adaptors"},{"id":"packages/http-configuration-schema","path":"/adaptors/packages/http-configuration-schema","sidebar":"adaptors"},{"id":"packages/http-docs","path":"/adaptors/packages/http-docs","sidebar":"adaptors"},{"id":"packages/http-readme","path":"/adaptors/packages/http-readme","sidebar":"adaptors"},{"id":"packages/khanacademy-changelog","path":"/adaptors/packages/khanacademy-changelog","sidebar":"adaptors"},{"id":"packages/khanacademy-configuration-schema","path":"/adaptors/packages/khanacademy-configuration-schema","sidebar":"adaptors"},{"id":"packages/khanacademy-docs","path":"/adaptors/packages/khanacademy-docs","sidebar":"adaptors"},{"id":"packages/khanacademy-readme","path":"/adaptors/packages/khanacademy-readme","sidebar":"adaptors"},{"id":"packages/kobotoolbox-changelog","path":"/adaptors/packages/kobotoolbox-changelog","sidebar":"adaptors"},{"id":"packages/kobotoolbox-configuration-schema","path":"/adaptors/packages/kobotoolbox-configuration-schema","sidebar":"adaptors"},{"id":"packages/kobotoolbox-docs","path":"/adaptors/packages/kobotoolbox-docs","sidebar":"adaptors"},{"id":"packages/kobotoolbox-readme","path":"/adaptors/packages/kobotoolbox-readme","sidebar":"adaptors"},{"id":"packages/magpi-changelog","path":"/adaptors/packages/magpi-changelog","sidebar":"adaptors"},{"id":"packages/magpi-configuration-schema","path":"/adaptors/packages/magpi-configuration-schema","sidebar":"adaptors"},{"id":"packages/magpi-docs","path":"/adaptors/packages/magpi-docs","sidebar":"adaptors"},{"id":"packages/magpi-readme","path":"/adaptors/packages/magpi-readme","sidebar":"adaptors"},{"id":"packages/mailchimp-changelog","path":"/adaptors/packages/mailchimp-changelog","sidebar":"adaptors"},{"id":"packages/mailchimp-configuration-schema","path":"/adaptors/packages/mailchimp-configuration-schema","sidebar":"adaptors"},{"id":"packages/mailchimp-docs","path":"/adaptors/packages/mailchimp-docs","sidebar":"adaptors"},{"id":"packages/mailchimp-readme","path":"/adaptors/packages/mailchimp-readme","sidebar":"adaptors"},{"id":"packages/mailgun-changelog","path":"/adaptors/packages/mailgun-changelog","sidebar":"adaptors"},{"id":"packages/mailgun-configuration-schema","path":"/adaptors/packages/mailgun-configuration-schema","sidebar":"adaptors"},{"id":"packages/mailgun-docs","path":"/adaptors/packages/mailgun-docs","sidebar":"adaptors"},{"id":"packages/mailgun-readme","path":"/adaptors/packages/mailgun-readme","sidebar":"adaptors"},{"id":"packages/maximo-changelog","path":"/adaptors/packages/maximo-changelog","sidebar":"adaptors"},{"id":"packages/maximo-configuration-schema","path":"/adaptors/packages/maximo-configuration-schema","sidebar":"adaptors"},{"id":"packages/maximo-docs","path":"/adaptors/packages/maximo-docs","sidebar":"adaptors"},{"id":"packages/maximo-readme","path":"/adaptors/packages/maximo-readme","sidebar":"adaptors"},{"id":"packages/medicmobile-changelog","path":"/adaptors/packages/medicmobile-changelog","sidebar":"adaptors"},{"id":"packages/medicmobile-configuration-schema","path":"/adaptors/packages/medicmobile-configuration-schema","sidebar":"adaptors"},{"id":"packages/medicmobile-docs","path":"/adaptors/packages/medicmobile-docs","sidebar":"adaptors"},{"id":"packages/medicmobile-readme","path":"/adaptors/packages/medicmobile-readme","sidebar":"adaptors"},{"id":"packages/mogli-changelog","path":"/adaptors/packages/mogli-changelog","sidebar":"adaptors"},{"id":"packages/mogli-configuration-schema","path":"/adaptors/packages/mogli-configuration-schema","sidebar":"adaptors"},{"id":"packages/mogli-docs","path":"/adaptors/packages/mogli-docs","sidebar":"adaptors"},{"id":"packages/mogli-readme","path":"/adaptors/packages/mogli-readme","sidebar":"adaptors"},{"id":"packages/mongodb-changelog","path":"/adaptors/packages/mongodb-changelog","sidebar":"adaptors"},{"id":"packages/mongodb-configuration-schema","path":"/adaptors/packages/mongodb-configuration-schema","sidebar":"adaptors"},{"id":"packages/mongodb-docs","path":"/adaptors/packages/mongodb-docs","sidebar":"adaptors"},{"id":"packages/mongodb-readme","path":"/adaptors/packages/mongodb-readme","sidebar":"adaptors"},{"id":"packages/msgraph-changelog","path":"/adaptors/packages/msgraph-changelog","sidebar":"adaptors"},{"id":"packages/msgraph-configuration-schema","path":"/adaptors/packages/msgraph-configuration-schema","sidebar":"adaptors"},{"id":"packages/msgraph-docs","path":"/adaptors/packages/msgraph-docs","sidebar":"adaptors"},{"id":"packages/msgraph-readme","path":"/adaptors/packages/msgraph-readme","sidebar":"adaptors"},{"id":"packages/mssql-changelog","path":"/adaptors/packages/mssql-changelog","sidebar":"adaptors"},{"id":"packages/mssql-configuration-schema","path":"/adaptors/packages/mssql-configuration-schema","sidebar":"adaptors"},{"id":"packages/mssql-docs","path":"/adaptors/packages/mssql-docs","sidebar":"adaptors"},{"id":"packages/mssql-readme","path":"/adaptors/packages/mssql-readme","sidebar":"adaptors"},{"id":"packages/mysql-changelog","path":"/adaptors/packages/mysql-changelog","sidebar":"adaptors"},{"id":"packages/mysql-configuration-schema","path":"/adaptors/packages/mysql-configuration-schema","sidebar":"adaptors"},{"id":"packages/mysql-docs","path":"/adaptors/packages/mysql-docs","sidebar":"adaptors"},{"id":"packages/mysql-readme","path":"/adaptors/packages/mysql-readme","sidebar":"adaptors"},{"id":"packages/nexmo-changelog","path":"/adaptors/packages/nexmo-changelog","sidebar":"adaptors"},{"id":"packages/nexmo-configuration-schema","path":"/adaptors/packages/nexmo-configuration-schema","sidebar":"adaptors"},{"id":"packages/nexmo-docs","path":"/adaptors/packages/nexmo-docs","sidebar":"adaptors"},{"id":"packages/nexmo-readme","path":"/adaptors/packages/nexmo-readme","sidebar":"adaptors"},{"id":"packages/ocl-changelog","path":"/adaptors/packages/ocl-changelog","sidebar":"adaptors"},{"id":"packages/ocl-configuration-schema","path":"/adaptors/packages/ocl-configuration-schema","sidebar":"adaptors"},{"id":"packages/ocl-docs","path":"/adaptors/packages/ocl-docs","sidebar":"adaptors"},{"id":"packages/ocl-readme","path":"/adaptors/packages/ocl-readme","sidebar":"adaptors"},{"id":"packages/openfn-changelog","path":"/adaptors/packages/openfn-changelog","sidebar":"adaptors"},{"id":"packages/openfn-configuration-schema","path":"/adaptors/packages/openfn-configuration-schema","sidebar":"adaptors"},{"id":"packages/openfn-docs","path":"/adaptors/packages/openfn-docs","sidebar":"adaptors"},{"id":"packages/openfn-readme","path":"/adaptors/packages/openfn-readme","sidebar":"adaptors"},{"id":"packages/openhim-changelog","path":"/adaptors/packages/openhim-changelog","sidebar":"adaptors"},{"id":"packages/openhim-configuration-schema","path":"/adaptors/packages/openhim-configuration-schema","sidebar":"adaptors"},{"id":"packages/openhim-docs","path":"/adaptors/packages/openhim-docs","sidebar":"adaptors"},{"id":"packages/openhim-readme","path":"/adaptors/packages/openhim-readme","sidebar":"adaptors"},{"id":"packages/openmrs-changelog","path":"/adaptors/packages/openmrs-changelog","sidebar":"adaptors"},{"id":"packages/openmrs-configuration-schema","path":"/adaptors/packages/openmrs-configuration-schema","sidebar":"adaptors"},{"id":"packages/openmrs-docs","path":"/adaptors/packages/openmrs-docs","sidebar":"adaptors"},{"id":"packages/openmrs-readme","path":"/adaptors/packages/openmrs-readme","sidebar":"adaptors"},{"id":"packages/postgresql-changelog","path":"/adaptors/packages/postgresql-changelog","sidebar":"adaptors"},{"id":"packages/postgresql-configuration-schema","path":"/adaptors/packages/postgresql-configuration-schema","sidebar":"adaptors"},{"id":"packages/postgresql-docs","path":"/adaptors/packages/postgresql-docs","sidebar":"adaptors"},{"id":"packages/postgresql-readme","path":"/adaptors/packages/postgresql-readme","sidebar":"adaptors"},{"id":"packages/primero-changelog","path":"/adaptors/packages/primero-changelog","sidebar":"adaptors"},{"id":"packages/primero-configuration-schema","path":"/adaptors/packages/primero-configuration-schema","sidebar":"adaptors"},{"id":"packages/primero-docs","path":"/adaptors/packages/primero-docs","sidebar":"adaptors"},{"id":"packages/primero-readme","path":"/adaptors/packages/primero-readme","sidebar":"adaptors"},{"id":"packages/progres-changelog","path":"/adaptors/packages/progres-changelog","sidebar":"adaptors"},{"id":"packages/progres-configuration-schema","path":"/adaptors/packages/progres-configuration-schema","sidebar":"adaptors"},{"id":"packages/progres-docs","path":"/adaptors/packages/progres-docs","sidebar":"adaptors"},{"id":"packages/progres-readme","path":"/adaptors/packages/progres-readme","sidebar":"adaptors"},{"id":"packages/rapidpro-changelog","path":"/adaptors/packages/rapidpro-changelog","sidebar":"adaptors"},{"id":"packages/rapidpro-configuration-schema","path":"/adaptors/packages/rapidpro-configuration-schema","sidebar":"adaptors"},{"id":"packages/rapidpro-docs","path":"/adaptors/packages/rapidpro-docs","sidebar":"adaptors"},{"id":"packages/rapidpro-readme","path":"/adaptors/packages/rapidpro-readme","sidebar":"adaptors"},{"id":"packages/resourcemap-changelog","path":"/adaptors/packages/resourcemap-changelog","sidebar":"adaptors"},{"id":"packages/resourcemap-configuration-schema","path":"/adaptors/packages/resourcemap-configuration-schema","sidebar":"adaptors"},{"id":"packages/resourcemap-docs","path":"/adaptors/packages/resourcemap-docs","sidebar":"adaptors"},{"id":"packages/resourcemap-readme","path":"/adaptors/packages/resourcemap-readme","sidebar":"adaptors"},{"id":"packages/salesforce-changelog","path":"/adaptors/packages/salesforce-changelog","sidebar":"adaptors"},{"id":"packages/salesforce-configuration-schema","path":"/adaptors/packages/salesforce-configuration-schema","sidebar":"adaptors"},{"id":"packages/salesforce-docs","path":"/adaptors/packages/salesforce-docs","sidebar":"adaptors"},{"id":"packages/salesforce-readme","path":"/adaptors/packages/salesforce-readme","sidebar":"adaptors"},{"id":"packages/sftp-changelog","path":"/adaptors/packages/sftp-changelog","sidebar":"adaptors"},{"id":"packages/sftp-configuration-schema","path":"/adaptors/packages/sftp-configuration-schema","sidebar":"adaptors"},{"id":"packages/sftp-docs","path":"/adaptors/packages/sftp-docs","sidebar":"adaptors"},{"id":"packages/sftp-readme","path":"/adaptors/packages/sftp-readme","sidebar":"adaptors"},{"id":"packages/smpp-changelog","path":"/adaptors/packages/smpp-changelog","sidebar":"adaptors"},{"id":"packages/smpp-configuration-schema","path":"/adaptors/packages/smpp-configuration-schema","sidebar":"adaptors"},{"id":"packages/smpp-docs","path":"/adaptors/packages/smpp-docs","sidebar":"adaptors"},{"id":"packages/smpp-readme","path":"/adaptors/packages/smpp-readme","sidebar":"adaptors"},{"id":"packages/surveycto-changelog","path":"/adaptors/packages/surveycto-changelog","sidebar":"adaptors"},{"id":"packages/surveycto-configuration-schema","path":"/adaptors/packages/surveycto-configuration-schema","sidebar":"adaptors"},{"id":"packages/surveycto-docs","path":"/adaptors/packages/surveycto-docs","sidebar":"adaptors"},{"id":"packages/surveycto-readme","path":"/adaptors/packages/surveycto-readme","sidebar":"adaptors"},{"id":"packages/telerivet-changelog","path":"/adaptors/packages/telerivet-changelog","sidebar":"adaptors"},{"id":"packages/telerivet-configuration-schema","path":"/adaptors/packages/telerivet-configuration-schema","sidebar":"adaptors"},{"id":"packages/telerivet-docs","path":"/adaptors/packages/telerivet-docs","sidebar":"adaptors"},{"id":"packages/telerivet-readme","path":"/adaptors/packages/telerivet-readme","sidebar":"adaptors"},{"id":"packages/template-changelog","path":"/adaptors/packages/template-changelog","sidebar":"adaptors"},{"id":"packages/template-configuration-schema","path":"/adaptors/packages/template-configuration-schema","sidebar":"adaptors"},{"id":"packages/template-docs","path":"/adaptors/packages/template-docs","sidebar":"adaptors"},{"id":"packages/template-readme","path":"/adaptors/packages/template-readme","sidebar":"adaptors"},{"id":"packages/twilio-changelog","path":"/adaptors/packages/twilio-changelog","sidebar":"adaptors"},{"id":"packages/twilio-configuration-schema","path":"/adaptors/packages/twilio-configuration-schema","sidebar":"adaptors"},{"id":"packages/twilio-docs","path":"/adaptors/packages/twilio-docs","sidebar":"adaptors"},{"id":"packages/twilio-readme","path":"/adaptors/packages/twilio-readme","sidebar":"adaptors"},{"id":"packages/vtiger-changelog","path":"/adaptors/packages/vtiger-changelog","sidebar":"adaptors"},{"id":"packages/vtiger-configuration-schema","path":"/adaptors/packages/vtiger-configuration-schema","sidebar":"adaptors"},{"id":"packages/vtiger-docs","path":"/adaptors/packages/vtiger-docs","sidebar":"adaptors"},{"id":"packages/vtiger-readme","path":"/adaptors/packages/vtiger-readme","sidebar":"adaptors"},{"id":"packages/zoho-changelog","path":"/adaptors/packages/zoho-changelog","sidebar":"adaptors"},{"id":"packages/zoho-configuration-schema","path":"/adaptors/packages/zoho-configuration-schema","sidebar":"adaptors"},{"id":"packages/zoho-docs","path":"/adaptors/packages/zoho-docs","sidebar":"adaptors"},{"id":"packages/zoho-readme","path":"/adaptors/packages/zoho-readme","sidebar":"adaptors"},{"id":"postgresql","path":"/adaptors/postgresql","sidebar":"adaptors"},{"id":"powerbi","path":"/adaptors/powerbi","sidebar":"adaptors"},{"id":"primero","path":"/adaptors/primero","sidebar":"adaptors"},{"id":"salesforce","path":"/adaptors/salesforce","sidebar":"adaptors"},{"id":"surveycto","path":"/adaptors/surveycto","sidebar":"adaptors"},{"id":"tableau","path":"/adaptors/tableau","sidebar":"adaptors"}],"draftIds":[],"sidebars":{"adaptors":{"link":{"path":"/adaptors/","label":"adaptors-intro"}}}}],"breadcrumbs":true},"default":{"path":"/documentation","versions":[{"name":"current","label":"Next","isLast":true,"path":"/documentation","mainDocId":"intro","docs":[{"id":"about","path":"/documentation/about","sidebar":"docs"},{"id":"about-lightning","path":"/documentation/about-lightning","sidebar":"docs"},{"id":"build/credentials","path":"/documentation/build/credentials","sidebar":"docs"},{"id":"build/example-build","path":"/documentation/build/example-build","sidebar":"docs"},{"id":"build/inbox","path":"/documentation/build/inbox","sidebar":"docs"},{"id":"build/jobs","path":"/documentation/build/jobs","sidebar":"docs"},{"id":"build/lightning-quick-start","path":"/documentation/build/lightning-quick-start","sidebar":"docs"},{"id":"build/triggers","path":"/documentation/build/triggers","sidebar":"docs"},{"id":"build/troubleshooting","path":"/documentation/build/troubleshooting","sidebar":"docs"},{"id":"cli","path":"/documentation/cli","sidebar":"docs"},{"id":"core","path":"/documentation/core","sidebar":"docs"},{"id":"deploy/options","path":"/documentation/deploy/options","sidebar":"docs"},{"id":"deploy/requirements","path":"/documentation/deploy/requirements","sidebar":"docs"},{"id":"design/design-quickstart","path":"/documentation/design/design-quickstart","sidebar":"docs"},{"id":"design/when-to-integrate","path":"/documentation/design/when-to-integrate"},{"id":"devtools/home","path":"/documentation/devtools/home","sidebar":"docs"},{"id":"faqs","path":"/documentation/faqs","sidebar":"docs"},{"id":"for-devs","path":"/documentation/for-devs","sidebar":"docs"},{"id":"getting-started/automation-inspiration","path":"/documentation/getting-started/automation-inspiration"},{"id":"getting-started/commcare-project-walkthrough","path":"/documentation/getting-started/commcare-project-walkthrough"},{"id":"getting-started/deployment-options","path":"/documentation/getting-started/deployment-options"},{"id":"getting-started/designing-integrations","path":"/documentation/getting-started/designing-integrations"},{"id":"getting-started/glossary","path":"/documentation/getting-started/glossary","sidebar":"docs"},{"id":"getting-started/implementation-checklist","path":"/documentation/getting-started/implementation-checklist","sidebar":"docs"},{"id":"getting-started/integrating-using-openfn","path":"/documentation/getting-started/integrating-using-openfn"},{"id":"getting-started/integration-toolkit","path":"/documentation/getting-started/integration-toolkit","sidebar":"docs"},{"id":"getting-started/security","path":"/documentation/getting-started/security","sidebar":"docs"},{"id":"getting-started/so-you-want-to-integrate","path":"/documentation/getting-started/so-you-want-to-integrate","sidebar":"docs"},{"id":"getting-started/terminology","path":"/documentation/getting-started/terminology","sidebar":"docs"},{"id":"getting-started/use-cases","path":"/documentation/getting-started/use-cases"},{"id":"gsoc","path":"/documentation/gsoc","sidebar":"docs"},{"id":"instant-openhie","path":"/documentation/instant-openhie","sidebar":"docs"},{"id":"intro","path":"/documentation/","sidebar":"docs"},{"id":"jobs/each","path":"/documentation/jobs/each","sidebar":"docs"},{"id":"jobs/editing_locally","path":"/documentation/jobs/editing_locally","sidebar":"docs"},{"id":"jobs/errors","path":"/documentation/jobs/errors","sidebar":"docs"},{"id":"jobs/job-design-intro","path":"/documentation/jobs/job-design-intro","sidebar":"docs"},{"id":"jobs/job-studio","path":"/documentation/jobs/job-studio","sidebar":"docs"},{"id":"jobs/limits","path":"/documentation/jobs/limits","sidebar":"docs"},{"id":"jobs/multiple-operations","path":"/documentation/jobs/multiple-operations","sidebar":"docs"},{"id":"jobs/operations","path":"/documentation/jobs/operations","sidebar":"docs"},{"id":"jobs/state","path":"/documentation/jobs/state","sidebar":"docs"},{"id":"jobs/understanding","path":"/documentation/jobs/understanding","sidebar":"docs"},{"id":"jobs/working_with_branches","path":"/documentation/jobs/working_with_branches","sidebar":"docs"},{"id":"manage/platform-mgmt","path":"/documentation/manage/platform-mgmt","sidebar":"docs"},{"id":"manage/troubleshooting-tips-on-platform","path":"/documentation/manage/troubleshooting-tips-on-platform","sidebar":"docs"},{"id":"microservice/home","path":"/documentation/microservice/home","sidebar":"docs"},{"id":"openfn-roadmap","path":"/documentation/openfn-roadmap","sidebar":"docs"},{"id":"portability","path":"/documentation/portability","sidebar":"docs"},{"id":"portability-versions","path":"/documentation/portability-versions"},{"id":"release-notes","path":"/documentation/release-notes","sidebar":"docs"},{"id":"roadmap","path":"/documentation/roadmap"},{"id":"source-apps","path":"/documentation/source-apps","sidebar":"docs"},{"id":"standards/digital-public-goods","path":"/documentation/standards/digital-public-goods","sidebar":"docs"},{"id":"standards/global-goods","path":"/documentation/standards/global-goods","sidebar":"docs"},{"id":"standards/openhie","path":"/documentation/standards/openhie","sidebar":"docs"},{"id":"style-guide","path":"/documentation/style-guide","sidebar":"docs"},{"id":"writing-code","path":"/documentation/writing-code"},{"id":"writing-docs","path":"/documentation/writing-docs","sidebar":"docs"}],"draftIds":[],"sidebars":{"docs":{"link":{"path":"/documentation/","label":"intro"}}}}],"breadcrumbs":true}}}'),s=JSON.parse('{"defaultLocale":"en","locales":["en","fr"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"},"fr":{"label":"Fran\xe7ais","direction":"ltr","htmlLang":"fr","calendar":"gregory","path":"fr"}}}');var i=a(57529);const c=JSON.parse('{"docusaurusVersion":"2.4.1","siteVersion":"3.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"2.4.1"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"2.4.1"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"2.4.1"},"docusaurus-plugin-google-gtag":{"type":"package","name":"@docusaurus/plugin-google-gtag","version":"2.4.1"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"2.4.1"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"2.4.1"},"docusaurus-theme-search-algolia":{"type":"package","name":"@docusaurus/theme-search-algolia","version":"2.4.1"},"library":{"type":"project"},"adaptors":{"type":"project"},"docusaurus-theme-mermaid":{"type":"package","name":"@docusaurus/theme-mermaid","version":"2.4.1"}}}'),l={siteConfig:o.default,siteMetadata:c,globalData:r,i18n:s,codeTranslations:i},d=n.createContext(l);function p(e){let{children:t}=e;return n.createElement(d.Provider,{value:l},t)}},44763:(e,t,a)=>{"use strict";a.d(t,{Z:()=>u});var n=a(67294),o=a(10412),r=a(35742),s=a(18780),i=a(7452);function c(e){let{error:t,tryAgain:a}=e;return n.createElement("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"}},n.createElement("h1",{style:{fontSize:"3rem"}},"This page crashed"),n.createElement("button",{type:"button",onClick:a,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"}},"Try again"),n.createElement(l,{error:t}))}function l(e){let{error:t}=e;const a=(0,s.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return n.createElement("p",{style:{whiteSpace:"pre-wrap"}},a)}function d(e){let{error:t,tryAgain:a}=e;return n.createElement(u,{fallback:()=>n.createElement(c,{error:t,tryAgain:a})},n.createElement(r.Z,null,n.createElement("title",null,"Page Error")),n.createElement(i.Z,null,n.createElement(c,{error:t,tryAgain:a})))}const p=e=>n.createElement(d,e);class u extends n.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){o.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??p)(e)}return e??null}}},10412:(e,t,a)=>{"use strict";a.d(t,{Z:()=>o});const n="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,o={canUseDOM:n,canUseEventListeners:n&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:n&&"IntersectionObserver"in window,canUseViewport:n&&"screen"in window}},35742:(e,t,a)=>{"use strict";a.d(t,{Z:()=>r});var n=a(67294),o=a(70405);function r(e){return n.createElement(o.ql,e)}},39960:(e,t,a)=>{"use strict";a.d(t,{Z:()=>m});var n=a(87462),o=a(67294),r=a(73727),s=a(18780),i=a(52263),c=a(13919),l=a(10412);const d=o.createContext({collectLink:()=>{}});var p=a(44996);function u(e,t){let{isNavLink:a,to:u,href:m,activeClassName:g,isActive:b,"data-noBrokenLinkCheck":f,autoAddBaseUrl:h=!0,...y}=e;const{siteConfig:{trailingSlash:k,baseUrl:v}}=(0,i.Z)(),{withBaseUrl:w}=(0,p.C)(),_=(0,o.useContext)(d),x=(0,o.useRef)(null);(0,o.useImperativeHandle)(t,(()=>x.current));const S=u||m;const E=(0,c.Z)(S),T=S?.replace("pathname://","");let j=void 0!==T?(C=T,h&&(e=>e.startsWith("/"))(C)?w(C):C):void 0;var C;j&&E&&(j=(0,s.applyTrailingSlash)(j,{trailingSlash:k,baseUrl:v}));const P=(0,o.useRef)(!1),R=a?r.OL:r.rU,A=l.Z.canUseIntersectionObserver,I=(0,o.useRef)(),L=()=>{P.current||null==j||(window.docusaurus.preload(j),P.current=!0)};(0,o.useEffect)((()=>(!A&&E&&null!=j&&window.docusaurus.prefetch(j),()=>{A&&I.current&&I.current.disconnect()})),[I,j,A,E]);const O=j?.startsWith("#")??!1,D=!j||!E||O;return D||f||_.collectLink(j),D?o.createElement("a",(0,n.Z)({ref:x,href:j},S&&!E&&{target:"_blank",rel:"noopener noreferrer"},y)):o.createElement(R,(0,n.Z)({},y,{onMouseEnter:L,onTouchStart:L,innerRef:e=>{x.current=e,A&&e&&E&&(I.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(I.current.unobserve(e),I.current.disconnect(),null!=j&&window.docusaurus.prefetch(j))}))})),I.current.observe(e))},to:j},a&&{isActive:b,activeClassName:g}))}const m=o.forwardRef(u)},95999:(e,t,a)=>{"use strict";a.d(t,{Z:()=>c,I:()=>i});var n=a(67294);function o(e,t){const a=e.split(/(\{\w+\})/).map(((e,a)=>{if(a%2==1){const a=t?.[e.slice(1,-1)];if(void 0!==a)return a}return e}));return a.some((e=>(0,n.isValidElement)(e)))?a.map(((e,t)=>(0,n.isValidElement)(e)?n.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):a.join("")}var r=a(57529);function s(e){let{id:t,message:a}=e;if(void 0===t&&void 0===a)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return r[t??a]??a??t}function i(e,t){let{message:a,id:n}=e;return o(s({message:a,id:n}),t)}function c(e){let{children:t,id:a,values:r}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const i=s({message:t,id:a});return n.createElement(n.Fragment,null,o(i,r))}},29935:(e,t,a)=>{"use strict";a.d(t,{m:()=>n});const n="default"},13919:(e,t,a)=>{"use strict";function n(e){return/^(?:\w*:|\/\/)/.test(e)}function o(e){return void 0!==e&&!n(e)}a.d(t,{Z:()=>o,b:()=>n})},44996:(e,t,a)=>{"use strict";a.d(t,{C:()=>s,Z:()=>i});var n=a(67294),o=a(52263),r=a(13919);function s(){const{siteConfig:{baseUrl:e,url:t}}=(0,o.Z)(),a=(0,n.useCallback)(((a,n)=>function(e,t,a,n){let{forcePrependBaseUrl:o=!1,absolute:s=!1}=void 0===n?{}:n;if(!a||a.startsWith("#")||(0,r.b)(a))return a;if(o)return t+a.replace(/^\//,"");if(a===t.replace(/\/$/,""))return t;const i=a.startsWith(t)?a:t+a.replace(/^\//,"");return s?e+i:i}(t,e,a,n)),[t,e]);return{withBaseUrl:a}}function i(e,t){void 0===t&&(t={});const{withBaseUrl:a}=s();return a(e,t)}},52263:(e,t,a)=>{"use strict";a.d(t,{Z:()=>r});var n=a(67294),o=a(58940);function r(){return(0,n.useContext)(o._)}},72389:(e,t,a)=>{"use strict";a.d(t,{Z:()=>r});var n=a(67294),o=a(98934);function r(){return(0,n.useContext)(o._)}},99670:(e,t,a)=>{"use strict";a.d(t,{Z:()=>o});const n=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function o(e){const t={};return function e(a,o){Object.entries(a).forEach((a=>{let[r,s]=a;const i=o?`${o}.${r}`:r;n(s)?e(s,i):t[i]=s}))}(e),t}},30226:(e,t,a)=>{"use strict";a.d(t,{_:()=>o,z:()=>r});var n=a(67294);const o=n.createContext(null);function r(e){let{children:t,value:a}=e;const r=n.useContext(o),s=(0,n.useMemo)((()=>function(e){let{parent:t,value:a}=e;if(!t){if(!a)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in a))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return a}const n={...t.data,...a?.data};return{plugin:t.plugin,data:n}}({parent:r,value:a})),[r,a]);return n.createElement(o.Provider,{value:s},t)}},80143:(e,t,a)=>{"use strict";a.d(t,{Iw:()=>h,gA:()=>m,WS:()=>g,_r:()=>p,Jo:()=>y,zh:()=>u,yW:()=>f,gB:()=>b});var n=a(16550),o=a(52263),r=a(29935);function s(e,t){void 0===t&&(t={});const a=function(){const{globalData:e}=(0,o.Z)();return e}()[e];if(!a&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return a}const i=e=>e.versions.find((e=>e.isLast));function c(e,t){const a=i(e);return[...e.versions.filter((e=>e!==a)),a].find((e=>!!(0,n.LX)(t,{path:e.path,exact:!1,strict:!1})))}function l(e,t){const a=c(e,t),o=a?.docs.find((e=>!!(0,n.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:a,activeDoc:o,alternateDocVersions:o?function(t){const a={};return e.versions.forEach((e=>{e.docs.forEach((n=>{n.id===t&&(a[e.name]=n)}))})),a}(o.id):{}}}const d={},p=()=>s("docusaurus-plugin-content-docs")??d,u=e=>function(e,t,a){void 0===t&&(t=r.m),void 0===a&&(a={});const n=s(e),o=n?.[t];if(!o&&a.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return o}("docusaurus-plugin-content-docs",e,{failfast:!0});function m(e){void 0===e&&(e={});const t=p(),{pathname:a}=(0,n.TH)();return function(e,t,a){void 0===a&&(a={});const o=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,a]=e;return!!(0,n.LX)(t,{path:a.path,exact:!1,strict:!1})})),r=o?{pluginId:o[0],pluginData:o[1]}:void 0;if(!r&&a.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return r}(t,a,e)}function g(e){void 0===e&&(e={});const t=m(e),{pathname:a}=(0,n.TH)();if(!t)return;return{activePlugin:t,activeVersion:c(t.pluginData,a)}}function b(e){return u(e).versions}function f(e){const t=u(e);return i(t)}function h(e){const t=u(e),{pathname:a}=(0,n.TH)();return l(t,a)}function y(e){const t=u(e),{pathname:a}=(0,n.TH)();return function(e,t){const a=i(e);return{latestDocSuggestion:l(e,t).alternateDocVersions[a.name],latestVersionSuggestion:a}}(t,a)}},56657:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>n});const n={onRouteDidUpdate(e){let{location:t,previousLocation:a}=e;!a||t.pathname===a.pathname&&t.search===a.search&&t.hash===a.hash||setTimeout((()=>{window.gtag("event","page_view",{page_title:document.title,page_location:window.location.href,page_path:t.pathname+t.search+t.hash})}))}}},18320:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>r});var n=a(74865),o=a.n(n);o().configure({showSpinner:!1});const r={onRouteUpdate(e){let{location:t,previousLocation:a}=e;if(a&&t.pathname!==a.pathname){const e=window.setTimeout((()=>{o().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){o().done()}}},3310:(e,t,a)=>{"use strict";a.r(t);var n=a(87410),o=a(36809);!function(e){const{themeConfig:{prism:t}}=o.default,{additionalLanguages:n}=t;globalThis.Prism=e,n.forEach((e=>{a(6726)(`./prism-${e}`)})),delete globalThis.Prism}(n.Z)},39471:(e,t,a)=>{"use strict";a.d(t,{Z:()=>r});var n=a(67294);const o={iconExternalLink:"iconExternalLink_nPIU"};function r(e){let{width:t=13.5,height:a=13.5}=e;return n.createElement("svg",{width:t,height:a,"aria-hidden":"true",viewBox:"0 0 24 24",className:o.iconExternalLink},n.createElement("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"}))}},7452:(e,t,a)=>{"use strict";a.d(t,{Z:()=>Rt});var n=a(67294),o=a(86010),r=a(44763),s=a(10833),i=a(87462),c=a(16550),l=a(95999),d=a(85936);const p="__docusaurus_skipToContent_fallback";function u(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function m(){const e=(0,n.useRef)(null),{action:t}=(0,c.k6)(),a=(0,n.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(p);t&&u(t)}),[]);return(0,d.S)((a=>{let{location:n}=a;e.current&&!n.hash&&"PUSH"===t&&u(e.current)})),{containerRef:e,onClick:a}}const g=(0,l.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function b(e){const t=e.children??g,{containerRef:a,onClick:o}=m();return n.createElement("div",{ref:a,role:"region","aria-label":g},n.createElement("a",(0,i.Z)({},e,{href:`#${p}`,onClick:o}),t))}var f=a(35281),h=a(19727);const y={skipToContent:"skipToContent_fXgn"};function k(){return n.createElement(b,{className:y.skipToContent})}var v=a(86668),w=a(59689);function _(e){let{width:t=21,height:a=21,color:o="currentColor",strokeWidth:r=1.2,className:s,...c}=e;return n.createElement("svg",(0,i.Z)({viewBox:"0 0 15 15",width:t,height:a},c),n.createElement("g",{stroke:o,strokeWidth:r},n.createElement("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})))}const x={closeButton:"closeButton_CVFx"};function S(e){return n.createElement("button",(0,i.Z)({type:"button","aria-label":(0,l.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"})},e,{className:(0,o.Z)("clean-btn close",x.closeButton,e.className)}),n.createElement(_,{width:14,height:14,strokeWidth:3.1}))}const E={content:"content_knG7"};function T(e){const{announcementBar:t}=(0,v.L)(),{content:a}=t;return n.createElement("div",(0,i.Z)({},e,{className:(0,o.Z)(E.content,e.className),dangerouslySetInnerHTML:{__html:a}}))}const j={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function C(){const{announcementBar:e}=(0,v.L)(),{isActive:t,close:a}=(0,w.nT)();if(!t)return null;const{backgroundColor:o,textColor:r,isCloseable:s}=e;return n.createElement("div",{className:j.announcementBar,style:{backgroundColor:o,color:r},role:"banner"},s&&n.createElement("div",{className:j.announcementBarPlaceholder}),n.createElement(T,{className:j.announcementBarContent}),s&&n.createElement(S,{onClick:a,className:j.announcementBarClose}))}var P=a(93163),R=a(12466);var A=a(902),I=a(13102);const L=n.createContext(null);function O(e){let{children:t}=e;const a=function(){const e=(0,P.e)(),t=(0,I.HY)(),[a,o]=(0,n.useState)(!1),r=null!==t.component,s=(0,A.D9)(r);return(0,n.useEffect)((()=>{r&&!s&&o(!0)}),[r,s]),(0,n.useEffect)((()=>{r?e.shown||o(!0):o(!1)}),[e.shown,r]),(0,n.useMemo)((()=>[a,o]),[a])}();return n.createElement(L.Provider,{value:a},t)}function D(e){if(e.component){const t=e.component;return n.createElement(t,e.props)}}function N(){const e=(0,n.useContext)(L);if(!e)throw new A.i6("NavbarSecondaryMenuDisplayProvider");const[t,a]=e,o=(0,n.useCallback)((()=>a(!1)),[a]),r=(0,I.HY)();return(0,n.useMemo)((()=>({shown:t,hide:o,content:D(r)})),[o,r,t])}function M(e){let{header:t,primaryMenu:a,secondaryMenu:r}=e;const{shown:s}=N();return n.createElement("div",{className:"navbar-sidebar"},t,n.createElement("div",{className:(0,o.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":s})},n.createElement("div",{className:"navbar-sidebar__item menu"},a),n.createElement("div",{className:"navbar-sidebar__item menu"},r)))}var F=a(92949),B=a(72389);function U(e){return n.createElement("svg",(0,i.Z)({viewBox:"0 0 24 24",width:24,height:24},e),n.createElement("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"}))}function q(e){return n.createElement("svg",(0,i.Z)({viewBox:"0 0 24 24",width:24,height:24},e),n.createElement("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"}))}const H={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function z(e){let{className:t,buttonClassName:a,value:r,onChange:s}=e;const i=(0,B.Z)(),c=(0,l.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===r?(0,l.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,l.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return n.createElement("div",{className:(0,o.Z)(H.toggle,t)},n.createElement("button",{className:(0,o.Z)("clean-btn",H.toggleButton,!i&&H.toggleButtonDisabled,a),type:"button",onClick:()=>s("dark"===r?"light":"dark"),disabled:!i,title:c,"aria-label":c,"aria-live":"polite"},n.createElement(U,{className:(0,o.Z)(H.toggleIcon,H.lightToggleIcon)}),n.createElement(q,{className:(0,o.Z)(H.toggleIcon,H.darkToggleIcon)})))}const $=n.memo(z),V={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function G(e){let{className:t}=e;const a=(0,v.L)().navbar.style,o=(0,v.L)().colorMode.disableSwitch,{colorMode:r,setColorMode:s}=(0,F.I)();return o?null:n.createElement($,{className:t,buttonClassName:"dark"===a?V.darkNavbarColorModeToggle:void 0,value:r,onChange:s})}var W=a(21327);function Z(){return n.createElement(W.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function Q(){const e=(0,P.e)();return n.createElement("button",{type:"button","aria-label":(0,l.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle()},n.createElement(_,{color:"var(--ifm-color-emphasis-600)"}))}function K(){return n.createElement("div",{className:"navbar-sidebar__brand"},n.createElement(Z,null),n.createElement(G,{className:"margin-right--md"}),n.createElement(Q,null))}var Y=a(39960),X=a(44996),J=a(13919),ee=a(98022),te=a(39471);function ae(e){let{activeBasePath:t,activeBaseRegex:a,to:o,href:r,label:s,html:c,isDropdownLink:l,prependBaseUrlToHref:d,...p}=e;const u=(0,X.Z)(o),m=(0,X.Z)(t),g=(0,X.Z)(r,{forcePrependBaseUrl:!0}),b=s&&r&&!(0,J.Z)(r),f=c?{dangerouslySetInnerHTML:{__html:c}}:{children:n.createElement(n.Fragment,null,s,b&&n.createElement(te.Z,l&&{width:12,height:12}))};return r?n.createElement(Y.Z,(0,i.Z)({href:d?g:r},p,f)):n.createElement(Y.Z,(0,i.Z)({to:u,isNavLink:!0},(t||a)&&{isActive:(e,t)=>a?(0,ee.F)(a,t.pathname):t.pathname.startsWith(m)},p,f))}function ne(e){let{className:t,isDropdownItem:a=!1,...r}=e;const s=n.createElement(ae,(0,i.Z)({className:(0,o.Z)(a?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:a},r));return a?n.createElement("li",null,s):s}function oe(e){let{className:t,isDropdownItem:a,...r}=e;return n.createElement("li",{className:"menu__list-item"},n.createElement(ae,(0,i.Z)({className:(0,o.Z)("menu__link",t)},r)))}function re(e){let{mobile:t=!1,position:a,...o}=e;const r=t?oe:ne;return n.createElement(r,(0,i.Z)({},o,{activeClassName:o.activeClassName??(t?"menu__link--active":"navbar__link--active")}))}var se=a(86043),ie=a(48596),ce=a(52263);function le(e,t){return e.some((e=>function(e,t){return!!(0,ie.Mg)(e.to,t)||!!(0,ee.F)(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function de(e){let{items:t,position:a,className:r,onClick:s,...c}=e;const l=(0,n.useRef)(null),[d,p]=(0,n.useState)(!1);return(0,n.useEffect)((()=>{const e=e=>{l.current&&!l.current.contains(e.target)&&p(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[l]),n.createElement("div",{ref:l,className:(0,o.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===a,"dropdown--show":d})},n.createElement(ae,(0,i.Z)({"aria-haspopup":"true","aria-expanded":d,role:"button",href:c.to?void 0:"#",className:(0,o.Z)("navbar__link",r)},c,{onClick:c.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),p(!d))}}),c.children??c.label),n.createElement("ul",{className:"dropdown__menu"},t.map(((e,t)=>n.createElement(ze,(0,i.Z)({isDropdownItem:!0,activeClassName:"dropdown__link--active"},e,{key:t}))))))}function pe(e){let{items:t,className:a,position:r,onClick:s,...l}=e;const d=function(){const{siteConfig:{baseUrl:e}}=(0,ce.Z)(),{pathname:t}=(0,c.TH)();return t.replace(e,"/")}(),p=le(t,d),{collapsed:u,toggleCollapsed:m,setCollapsed:g}=(0,se.u)({initialState:()=>!p});return(0,n.useEffect)((()=>{p&&g(!p)}),[d,p,g]),n.createElement("li",{className:(0,o.Z)("menu__list-item",{"menu__list-item--collapsed":u})},n.createElement(ae,(0,i.Z)({role:"button",className:(0,o.Z)("menu__link menu__link--sublist menu__link--sublist-caret",a)},l,{onClick:e=>{e.preventDefault(),m()}}),l.children??l.label),n.createElement(se.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:u},t.map(((e,t)=>n.createElement(ze,(0,i.Z)({mobile:!0,isDropdownItem:!0,onClick:s,activeClassName:"menu__link--active"},e,{key:t}))))))}function ue(e){let{mobile:t=!1,...a}=e;const o=t?pe:de;return n.createElement(o,a)}var me=a(94711);function ge(e){let{width:t=20,height:a=20,...o}=e;return n.createElement("svg",(0,i.Z)({viewBox:"0 0 24 24",width:t,height:a,"aria-hidden":!0},o),n.createElement("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"}))}const be="iconLanguage_nlXk";function fe(){return n.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},n.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}var he=a(20830),ye=["translations"];function ke(){return ke=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var a=0,n=new Array(t);a=0||(o[a]=e[a]);return o}(e,t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,a)&&(o[a]=e[a])}return o}var xe="Ctrl";var Se=n.forwardRef((function(e,t){var a=e.translations,o=void 0===a?{}:a,r=_e(e,ye),s=o.buttonText,i=void 0===s?"Search":s,c=o.buttonAriaLabel,l=void 0===c?"Search":c,d=ve((0,n.useState)(null),2),p=d[0],u=d[1];return(0,n.useEffect)((function(){"undefined"!=typeof navigator&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?u("\u2318"):u(xe))}),[]),n.createElement("button",ke({type:"button",className:"DocSearch DocSearch-Button","aria-label":l},r,{ref:t}),n.createElement("span",{className:"DocSearch-Button-Container"},n.createElement(he.W,null),n.createElement("span",{className:"DocSearch-Button-Placeholder"},i)),n.createElement("span",{className:"DocSearch-Button-Keys"},null!==p&&n.createElement(n.Fragment,null,n.createElement("kbd",{className:"DocSearch-Button-Key"},p===xe?n.createElement(fe,null):p),n.createElement("kbd",{className:"DocSearch-Button-Key"},"K"))))})),Ee=a(35742),Te=a(66177),je=a(239),Ce=a(43320);var Pe=a(73935);const Re={button:{buttonText:(0,l.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),buttonAriaLabel:(0,l.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"})},modal:{searchBox:{resetButtonTitle:(0,l.I)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),resetButtonAriaLabel:(0,l.I)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),cancelButtonText:(0,l.I)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"}),cancelButtonAriaLabel:(0,l.I)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"})},startScreen:{recentSearchesTitle:(0,l.I)({id:"theme.SearchModal.startScreen.recentSearchesTitle",message:"Recent",description:"The title for recent searches"}),noRecentSearchesText:(0,l.I)({id:"theme.SearchModal.startScreen.noRecentSearchesText",message:"No recent searches",description:"The text when no recent searches"}),saveRecentSearchButtonTitle:(0,l.I)({id:"theme.SearchModal.startScreen.saveRecentSearchButtonTitle",message:"Save this search",description:"The label for save recent search button"}),removeRecentSearchButtonTitle:(0,l.I)({id:"theme.SearchModal.startScreen.removeRecentSearchButtonTitle",message:"Remove this search from history",description:"The label for remove recent search button"}),favoriteSearchesTitle:(0,l.I)({id:"theme.SearchModal.startScreen.favoriteSearchesTitle",message:"Favorite",description:"The title for favorite searches"}),removeFavoriteSearchButtonTitle:(0,l.I)({id:"theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle",message:"Remove this search from favorites",description:"The label for remove favorite search button"})},errorScreen:{titleText:(0,l.I)({id:"theme.SearchModal.errorScreen.titleText",message:"Unable to fetch results",description:"The title for error screen of search modal"}),helpText:(0,l.I)({id:"theme.SearchModal.errorScreen.helpText",message:"You might want to check your network connection.",description:"The help text for error screen of search modal"})},footer:{selectText:(0,l.I)({id:"theme.SearchModal.footer.selectText",message:"to select",description:"The explanatory text of the action for the enter key"}),selectKeyAriaLabel:(0,l.I)({id:"theme.SearchModal.footer.selectKeyAriaLabel",message:"Enter key",description:"The ARIA label for the Enter key button that makes the selection"}),navigateText:(0,l.I)({id:"theme.SearchModal.footer.navigateText",message:"to navigate",description:"The explanatory text of the action for the Arrow up and Arrow down key"}),navigateUpKeyAriaLabel:(0,l.I)({id:"theme.SearchModal.footer.navigateUpKeyAriaLabel",message:"Arrow up",description:"The ARIA label for the Arrow up key button that makes the navigation"}),navigateDownKeyAriaLabel:(0,l.I)({id:"theme.SearchModal.footer.navigateDownKeyAriaLabel",message:"Arrow down",description:"The ARIA label for the Arrow down key button that makes the navigation"}),closeText:(0,l.I)({id:"theme.SearchModal.footer.closeText",message:"to close",description:"The explanatory text of the action for Escape key"}),closeKeyAriaLabel:(0,l.I)({id:"theme.SearchModal.footer.closeKeyAriaLabel",message:"Escape key",description:"The ARIA label for the Escape key button that close the modal"}),searchByText:(0,l.I)({id:"theme.SearchModal.footer.searchByText",message:"Search by",description:"The text explain that the search is making by Algolia"})},noResultsScreen:{noResultsText:(0,l.I)({id:"theme.SearchModal.noResultsScreen.noResultsText",message:"No results for",description:"The text explains that there are no results for the following search"}),suggestedQueryText:(0,l.I)({id:"theme.SearchModal.noResultsScreen.suggestedQueryText",message:"Try searching for",description:"The text for the suggested query when no results are found for the following search"}),reportMissingResultsText:(0,l.I)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsText",message:"Believe this query should return results?",description:"The text for the question where the user thinks there are missing results"}),reportMissingResultsLinkText:(0,l.I)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsLinkText",message:"Let us know.",description:"The text for the link to report missing results"})}},placeholder:(0,l.I)({id:"theme.SearchModal.placeholder",message:"Search docs",description:"The placeholder of the input of the DocSearch pop-up modal"})};let Ae=null;function Ie(e){let{hit:t,children:a}=e;return n.createElement(Y.Z,{to:t.url},a)}function Le(e){let{state:t,onClose:a}=e;const o=(0,Te.M)();return n.createElement(Y.Z,{to:o(t.query),onClick:a},n.createElement(l.Z,{id:"theme.SearchBar.seeAll",values:{count:t.context.nbHits}},"See all {count} results"))}function Oe(e){let{contextualSearch:t,externalUrlRegex:o,...r}=e;const{siteMetadata:s}=(0,ce.Z)(),l=(0,je.l)(),d=function(){const{locale:e,tags:t}=(0,Ce._q)();return[`language:${e}`,t.map((e=>`docusaurus_tag:${e}`))]}(),p=r.searchParameters?.facetFilters??[],u=t?function(e,t){const a=e=>"string"==typeof e?[e]:e;return[...a(e),...a(t)]}(d,p):p,m={...r.searchParameters,facetFilters:u},g=(0,c.k6)(),b=(0,n.useRef)(null),f=(0,n.useRef)(null),[h,y]=(0,n.useState)(!1),[k,v]=(0,n.useState)(void 0),w=(0,n.useCallback)((()=>Ae?Promise.resolve():Promise.all([a.e(61426).then(a.bind(a,61426)),Promise.all([a.e(40532),a.e(46945)]).then(a.bind(a,46945)),Promise.all([a.e(40532),a.e(18894)]).then(a.bind(a,18894))]).then((e=>{let[{DocSearchModal:t}]=e;Ae=t}))),[]),_=(0,n.useCallback)((()=>{w().then((()=>{b.current=document.createElement("div"),document.body.insertBefore(b.current,document.body.firstChild),y(!0)}))}),[w,y]),x=(0,n.useCallback)((()=>{y(!1),b.current?.remove()}),[y]),S=(0,n.useCallback)((e=>{w().then((()=>{y(!0),v(e.key)}))}),[w,y,v]),E=(0,n.useRef)({navigate(e){let{itemUrl:t}=e;(0,ee.F)(o,t)?window.location.href=t:g.push(t)}}).current,T=(0,n.useRef)((e=>r.transformItems?r.transformItems(e):e.map((e=>({...e,url:l(e.url)}))))).current,j=(0,n.useMemo)((()=>e=>n.createElement(Le,(0,i.Z)({},e,{onClose:x}))),[x]),C=(0,n.useCallback)((e=>(e.addAlgoliaAgent("docusaurus",s.docusaurusVersion),e)),[s.docusaurusVersion]);return function(e){var t=e.isOpen,a=e.onOpen,o=e.onClose,r=e.onInput,s=e.searchButtonRef;n.useEffect((function(){function e(e){var n;(27===e.keyCode&&t||"k"===(null===(n=e.key)||void 0===n?void 0:n.toLowerCase())&&(e.metaKey||e.ctrlKey)||!function(e){var t=e.target,a=t.tagName;return t.isContentEditable||"INPUT"===a||"SELECT"===a||"TEXTAREA"===a}(e)&&"/"===e.key&&!t)&&(e.preventDefault(),t?o():document.body.classList.contains("DocSearch--active")||document.body.classList.contains("DocSearch--active")||a()),s&&s.current===document.activeElement&&r&&/[a-zA-Z0-9]/.test(String.fromCharCode(e.keyCode))&&r(e)}return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[t,a,o,r,s])}({isOpen:h,onOpen:_,onClose:x,onInput:S,searchButtonRef:f}),n.createElement(n.Fragment,null,n.createElement(Ee.Z,null,n.createElement("link",{rel:"preconnect",href:`https://${r.appId}-dsn.algolia.net`,crossOrigin:"anonymous"})),n.createElement(Se,{onTouchStart:w,onFocus:w,onMouseOver:w,onClick:_,ref:f,translations:Re.button}),h&&Ae&&b.current&&(0,Pe.createPortal)(n.createElement(Ae,(0,i.Z)({onClose:x,initialScrollY:window.scrollY,initialQuery:k,navigator:E,transformItems:T,hitComponent:Ie,transformSearchClient:C},r.searchPagePath&&{resultsFooterComponent:j},r,{searchParameters:m,placeholder:Re.placeholder,translations:Re.modal})),b.current))}function De(){const{siteConfig:e}=(0,ce.Z)();return n.createElement(Oe,e.themeConfig.algolia)}const Ne={searchBox:"searchBox_ZlJk"};function Me(e){let{children:t,className:a}=e;return n.createElement("div",{className:(0,o.Z)(a,Ne.searchBox)},t)}var Fe=a(80143),Be=a(53438);var Ue=a(60373);const qe=e=>e.docs.find((t=>t.id===e.mainDocId));const He={default:re,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:a,dropdownItemsAfter:o,...r}=e;const{i18n:{currentLocale:s,locales:d,localeConfigs:p}}=(0,ce.Z)(),u=(0,me.l)(),{search:m,hash:g}=(0,c.TH)(),b=[...a,...d.map((e=>{const a=`${`pathname://${u.createUrl({locale:e,fullyQualified:!1})}`}${m}${g}`;return{label:p[e].label,lang:p[e].htmlLang,to:a,target:"_self",autoAddBaseUrl:!1,className:e===s?t?"menu__link--active":"dropdown__link--active":""}})),...o],f=t?(0,l.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):p[s].label;return n.createElement(ue,(0,i.Z)({},r,{mobile:t,label:n.createElement(n.Fragment,null,n.createElement(ge,{className:be}),f),items:b}))},search:function(e){let{mobile:t,className:a}=e;return t?null:n.createElement(Me,{className:a},n.createElement(De,null))},dropdown:ue,html:function(e){let{value:t,className:a,mobile:r=!1,isDropdownItem:s=!1}=e;const i=s?"li":"div";return n.createElement(i,{className:(0,o.Z)({navbar__item:!r&&!s,"menu__list-item":r},a),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:a,docsPluginId:o,...r}=e;const{activeDoc:s}=(0,Fe.Iw)(o),c=(0,Be.vY)(t,o);return null===c?null:n.createElement(re,(0,i.Z)({exact:!0},r,{isActive:()=>s?.path===c.path||!!s?.sidebar&&s.sidebar===c.sidebar,label:a??c.id,to:c.path}))},docSidebar:function(e){let{sidebarId:t,label:a,docsPluginId:o,...r}=e;const{activeDoc:s}=(0,Fe.Iw)(o),c=(0,Be.oz)(t,o).link;if(!c)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return n.createElement(re,(0,i.Z)({exact:!0},r,{isActive:()=>s?.sidebar===t,label:a??c.label,to:c.path}))},docsVersion:function(e){let{label:t,to:a,docsPluginId:o,...r}=e;const s=(0,Be.lO)(o)[0],c=t??s.label,l=a??(e=>e.docs.find((t=>t.id===e.mainDocId)))(s).path;return n.createElement(re,(0,i.Z)({},r,{label:c,to:l}))},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:a,dropdownActiveClassDisabled:o,dropdownItemsBefore:r,dropdownItemsAfter:s,...d}=e;const{search:p,hash:u}=(0,c.TH)(),m=(0,Fe.Iw)(a),g=(0,Fe.gB)(a),{savePreferredVersionName:b}=(0,Ue.J)(a),f=[...r,...g.map((e=>{const t=m.alternateDocVersions[e.name]??qe(e);return{label:e.label,to:`${t.path}${p}${u}`,isActive:()=>e===m.activeVersion,onClick:()=>b(e.name)}})),...s],h=(0,Be.lO)(a)[0],y=t&&f.length>1?(0,l.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):h.label,k=t&&f.length>1?void 0:qe(h).path;return f.length<=1?n.createElement(re,(0,i.Z)({},d,{mobile:t,label:y,to:k,isActive:o?()=>!1:void 0})):n.createElement(ue,(0,i.Z)({},d,{mobile:t,label:y,to:k,items:f,isActive:o?()=>!1:void 0}))}};function ze(e){let{type:t,...a}=e;const o=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,a),r=He[o];if(!r)throw new Error(`No NavbarItem component found for type "${t}".`);return n.createElement(r,a)}function $e(){const e=(0,P.e)(),t=(0,v.L)().navbar.items;return n.createElement("ul",{className:"menu__list"},t.map(((t,a)=>n.createElement(ze,(0,i.Z)({mobile:!0},t,{onClick:()=>e.toggle(),key:a})))))}function Ve(e){return n.createElement("button",(0,i.Z)({},e,{type:"button",className:"clean-btn navbar-sidebar__back"}),n.createElement(l.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)"},"\u2190 Back to main menu"))}function Ge(){const e=0===(0,v.L)().navbar.items.length,t=N();return n.createElement(n.Fragment,null,!e&&n.createElement(Ve,{onClick:()=>t.hide()}),t.content)}function We(){const e=(0,P.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,n.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?n.createElement(M,{header:n.createElement(K,null),primaryMenu:n.createElement($e,null),secondaryMenu:n.createElement(Ge,null)}):null}const Ze={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Qe(e){return n.createElement("div",(0,i.Z)({role:"presentation"},e,{className:(0,o.Z)("navbar-sidebar__backdrop",e.className)}))}function Ke(e){let{children:t}=e;const{navbar:{hideOnScroll:a,style:r}}=(0,v.L)(),s=(0,P.e)(),{navbarRef:i,isNavbarVisible:c}=function(e){const[t,a]=(0,n.useState)(e),o=(0,n.useRef)(!1),r=(0,n.useRef)(0),s=(0,n.useCallback)((e=>{null!==e&&(r.current=e.getBoundingClientRect().height)}),[]);return(0,R.RF)(((t,n)=>{let{scrollY:s}=t;if(!e)return;if(s=i?a(!1):s+l{if(!e)return;const n=t.location.hash;if(n?document.getElementById(n.substring(1)):void 0)return o.current=!0,void a(!1);a(!0)})),{navbarRef:s,isNavbarVisible:t}}(a);return n.createElement("nav",{ref:i,"aria-label":(0,l.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,o.Z)("navbar","navbar--fixed-top",a&&[Ze.navbarHideable,!c&&Ze.navbarHidden],{"navbar--dark":"dark"===r,"navbar--primary":"primary"===r,"navbar-sidebar--show":s.shown})},t,n.createElement(Qe,{onClick:s.toggle}),n.createElement(We,null))}var Ye=a(18780);const Xe={errorBoundaryError:"errorBoundaryError_a6uf"};function Je(e){return n.createElement("button",(0,i.Z)({type:"button"},e),n.createElement(l.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error"},"Try again"))}function et(e){let{error:t}=e;const a=(0,Ye.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return n.createElement("p",{className:Xe.errorBoundaryError},a)}class tt extends n.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const at="right";function nt(e){let{width:t=30,height:a=30,className:o,...r}=e;return n.createElement("svg",(0,i.Z)({className:o,width:t,height:a,viewBox:"0 0 30 30","aria-hidden":"true"},r),n.createElement("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"}))}function ot(){const{toggle:e,shown:t}=(0,P.e)();return n.createElement("button",{onClick:e,"aria-label":(0,l.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button"},n.createElement(nt,null))}const rt={colorModeToggle:"colorModeToggle_DEke"};function st(e){let{items:t}=e;return n.createElement(n.Fragment,null,t.map(((e,t)=>n.createElement(tt,{key:t,onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t})},n.createElement(ze,e)))))}function it(e){let{left:t,right:a}=e;return n.createElement("div",{className:"navbar__inner"},n.createElement("div",{className:"navbar__items"},t),n.createElement("div",{className:"navbar__items navbar__items--right"},a))}function ct(){const e=(0,P.e)(),t=(0,v.L)().navbar.items,[a,o]=function(e){function t(e){return"left"===(e.position??at)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),r=t.find((e=>"search"===e.type));return n.createElement(it,{left:n.createElement(n.Fragment,null,!e.disabled&&n.createElement(ot,null),n.createElement(Z,null),n.createElement(st,{items:a})),right:n.createElement(n.Fragment,null,n.createElement(st,{items:o}),n.createElement(G,{className:rt.colorModeToggle}),!r&&n.createElement(Me,null,n.createElement(De,null)))})}function lt(){return n.createElement(Ke,null,n.createElement(ct,null))}function dt(e){let{item:t}=e;const{to:a,href:o,label:r,prependBaseUrlToHref:s,...c}=t,l=(0,X.Z)(a),d=(0,X.Z)(o,{forcePrependBaseUrl:!0});return n.createElement(Y.Z,(0,i.Z)({className:"footer__link-item"},o?{href:s?d:o}:{to:l},c),r,o&&!(0,J.Z)(o)&&n.createElement(te.Z,null))}function pt(e){let{item:t}=e;return t.html?n.createElement("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):n.createElement("li",{key:t.href??t.to,className:"footer__item"},n.createElement(dt,{item:t}))}function ut(e){let{column:t}=e;return n.createElement("div",{className:"col footer__col"},n.createElement("div",{className:"footer__title"},t.title),n.createElement("ul",{className:"footer__items clean-list"},t.items.map(((e,t)=>n.createElement(pt,{key:t,item:e})))))}function mt(e){let{columns:t}=e;return n.createElement("div",{className:"row footer__links"},t.map(((e,t)=>n.createElement(ut,{key:t,column:e}))))}function gt(){return n.createElement("span",{className:"footer__link-separator"},"\xb7")}function bt(e){let{item:t}=e;return t.html?n.createElement("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):n.createElement(dt,{item:t})}function ft(e){let{links:t}=e;return n.createElement("div",{className:"footer__links text--center"},n.createElement("div",{className:"footer__links"},t.map(((e,a)=>n.createElement(n.Fragment,{key:a},n.createElement(bt,{item:e}),t.length!==a+1&&n.createElement(gt,null))))))}function ht(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?n.createElement(mt,{columns:t}):n.createElement(ft,{links:t})}var yt=a(50941);const kt={footerLogoLink:"footerLogoLink_BH7S"};function vt(e){let{logo:t}=e;const{withBaseUrl:a}=(0,X.C)(),r={light:a(t.src),dark:a(t.srcDark??t.src)};return n.createElement(yt.Z,{className:(0,o.Z)("footer__logo",t.className),alt:t.alt,sources:r,width:t.width,height:t.height,style:t.style})}function wt(e){let{logo:t}=e;return t.href?n.createElement(Y.Z,{href:t.href,className:kt.footerLogoLink,target:t.target},n.createElement(vt,{logo:t})):n.createElement(vt,{logo:t})}function _t(e){let{copyright:t}=e;return n.createElement("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function xt(e){let{style:t,links:a,logo:r,copyright:s}=e;return n.createElement("footer",{className:(0,o.Z)("footer",{"footer--dark":"dark"===t})},n.createElement("div",{className:"container container-fluid"},a,(r||s)&&n.createElement("div",{className:"footer__bottom text--center"},r&&n.createElement("div",{className:"margin-bottom--sm"},r),s)))}function St(){const{footer:e}=(0,v.L)();if(!e)return null;const{copyright:t,links:a,logo:o,style:r}=e;return n.createElement(xt,{style:r,links:a&&a.length>0&&n.createElement(ht,{links:a}),logo:o&&n.createElement(wt,{logo:o}),copyright:t&&n.createElement(_t,{copyright:t})})}const Et=n.memo(St),Tt=(0,A.Qc)([F.S,w.pl,R.OC,Ue.L5,s.VC,function(e){let{children:t}=e;return n.createElement(I.n2,null,n.createElement(P.M,null,n.createElement(O,null,t)))}]);function jt(e){let{children:t}=e;return n.createElement(Tt,null,t)}function Ct(e){let{error:t,tryAgain:a}=e;return n.createElement("main",{className:"container margin-vert--xl"},n.createElement("div",{className:"row"},n.createElement("div",{className:"col col--6 col--offset-3"},n.createElement("h1",{className:"hero__title"},n.createElement(l.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed"},"This page crashed.")),n.createElement("div",{className:"margin-vert--lg"},n.createElement(Je,{onClick:a,className:"button button--primary shadow--lw"})),n.createElement("hr",null),n.createElement("div",{className:"margin-vert--md"},n.createElement(et,{error:t})))))}const Pt={mainWrapper:"mainWrapper_z2l0"};function Rt(e){const{children:t,noFooter:a,wrapperClassName:i,title:c,description:l}=e;return(0,h.t)(),n.createElement(jt,null,n.createElement(s.d,{title:c,description:l}),n.createElement(k,null),n.createElement(C,null),n.createElement(lt,null),n.createElement("div",{id:p,className:(0,o.Z)(f.k.wrapper.main,Pt.mainWrapper,i)},n.createElement(r.Z,{fallback:e=>n.createElement(Ct,e)},t)),!a&&n.createElement(Et,null))}},21327:(e,t,a)=>{"use strict";a.d(t,{Z:()=>p});var n=a(87462),o=a(67294),r=a(39960),s=a(44996),i=a(52263),c=a(86668),l=a(50941);function d(e){let{logo:t,alt:a,imageClassName:n}=e;const r={light:(0,s.Z)(t.src),dark:(0,s.Z)(t.srcDark||t.src)},i=o.createElement(l.Z,{className:t.className,sources:r,height:t.height,width:t.width,alt:a,style:t.style});return n?o.createElement("div",{className:n},i):i}function p(e){const{siteConfig:{title:t}}=(0,i.Z)(),{navbar:{title:a,logo:l}}=(0,c.L)(),{imageClassName:p,titleClassName:u,...m}=e,g=(0,s.Z)(l?.href||"/"),b=a?"":t,f=l?.alt??b;return o.createElement(r.Z,(0,n.Z)({to:g},m,l?.target&&{target:l.target}),l&&o.createElement(d,{logo:l,alt:f,imageClassName:p}),null!=a&&o.createElement("b",{className:u},a))}},90197:(e,t,a)=>{"use strict";a.d(t,{Z:()=>r});var n=a(67294),o=a(35742);function r(e){let{locale:t,version:a,tag:r}=e;const s=t;return n.createElement(o.Z,null,t&&n.createElement("meta",{name:"docusaurus_locale",content:t}),a&&n.createElement("meta",{name:"docusaurus_version",content:a}),r&&n.createElement("meta",{name:"docusaurus_tag",content:r}),s&&n.createElement("meta",{name:"docsearch:language",content:s}),a&&n.createElement("meta",{name:"docsearch:version",content:a}),r&&n.createElement("meta",{name:"docsearch:docusaurus_tag",content:r}))}},50941:(e,t,a)=>{"use strict";a.d(t,{Z:()=>l});var n=a(87462),o=a(67294),r=a(86010),s=a(72389),i=a(92949);const c={themedImage:"themedImage_ToTc","themedImage--light":"themedImage--light_HNdA","themedImage--dark":"themedImage--dark_i4oU"};function l(e){const t=(0,s.Z)(),{colorMode:a}=(0,i.I)(),{sources:l,className:d,alt:p,...u}=e,m=t?"dark"===a?["dark"]:["light"]:["light","dark"];return o.createElement(o.Fragment,null,m.map((e=>o.createElement("img",(0,n.Z)({key:e,src:l[e],alt:p,className:(0,r.Z)(c.themedImage,c[`themedImage--${e}`],d)},u)))))}},86043:(e,t,a)=>{"use strict";a.d(t,{u:()=>c,z:()=>f});var n=a(87462),o=a(67294),r=a(10412),s=a(91442);const i="ease-in-out";function c(e){let{initialState:t}=e;const[a,n]=(0,o.useState)(t??!1),r=(0,o.useCallback)((()=>{n((e=>!e))}),[]);return{collapsed:a,setCollapsed:n,toggleCollapsed:r}}const l={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function p(e,t){const a=t?l:d;e.style.display=a.display,e.style.overflow=a.overflow,e.style.height=a.height}function u(e){let{collapsibleRef:t,collapsed:a,animation:n}=e;const r=(0,o.useRef)(!1);(0,o.useEffect)((()=>{const e=t.current;function o(){const t=e.scrollHeight,a=n?.duration??function(e){if((0,s.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${a}ms ${n?.easing??i}`,height:`${t}px`}}function c(){const t=o();e.style.transition=t.transition,e.style.height=t.height}if(!r.current)return p(e,a),void(r.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{a?(c(),requestAnimationFrame((()=>{e.style.height=l.height,e.style.overflow=l.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{c()})))}));return()=>cancelAnimationFrame(t)}()}),[t,a,n])}function m(e){if(!r.Z.canUseDOM)return e?l:d}function g(e){let{as:t="div",collapsed:a,children:n,animation:r,onCollapseTransitionEnd:s,className:i,disableSSRStyle:c}=e;const l=(0,o.useRef)(null);return u({collapsibleRef:l,collapsed:a,animation:r}),o.createElement(t,{ref:l,style:c?void 0:m(a),onTransitionEnd:e=>{"height"===e.propertyName&&(p(l.current,a),s?.(a))},className:i},n)}function b(e){let{collapsed:t,...a}=e;const[r,s]=(0,o.useState)(!t),[i,c]=(0,o.useState)(t);return(0,o.useLayoutEffect)((()=>{t||s(!0)}),[t]),(0,o.useLayoutEffect)((()=>{r&&c(t)}),[r,t]),r?o.createElement(g,(0,n.Z)({},a,{collapsed:i})):null}function f(e){let{lazy:t,...a}=e;const n=t?b:g;return o.createElement(n,a)}},59689:(e,t,a)=>{"use strict";a.d(t,{nT:()=>g,pl:()=>m});var n=a(67294),o=a(72389),r=a(50012),s=a(902),i=a(86668);const c=(0,r.WA)("docusaurus.announcement.dismiss"),l=(0,r.WA)("docusaurus.announcement.id"),d=()=>"true"===c.get(),p=e=>c.set(String(e)),u=n.createContext(null);function m(e){let{children:t}=e;const a=function(){const{announcementBar:e}=(0,i.L)(),t=(0,o.Z)(),[a,r]=(0,n.useState)((()=>!!t&&d()));(0,n.useEffect)((()=>{r(d())}),[]);const s=(0,n.useCallback)((()=>{p(!0),r(!0)}),[]);return(0,n.useEffect)((()=>{if(!e)return;const{id:t}=e;let a=l.get();"annoucement-bar"===a&&(a="announcement-bar");const n=t!==a;l.set(t),n&&p(!1),!n&&d()||r(!1)}),[e]),(0,n.useMemo)((()=>({isActive:!!e&&!a,close:s})),[e,a,s])}();return n.createElement(u.Provider,{value:a},t)}function g(){const e=(0,n.useContext)(u);if(!e)throw new s.i6("AnnouncementBarProvider");return e}},92949:(e,t,a)=>{"use strict";a.d(t,{I:()=>f,S:()=>b});var n=a(67294),o=a(10412),r=a(902),s=a(50012),i=a(86668);const c=n.createContext(void 0),l="theme",d=(0,s.WA)(l),p={light:"light",dark:"dark"},u=e=>e===p.dark?p.dark:p.light,m=e=>o.Z.canUseDOM?u(document.documentElement.getAttribute("data-theme")):u(e),g=e=>{d.set(u(e))};function b(e){let{children:t}=e;const a=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:a}}=(0,i.L)(),[o,r]=(0,n.useState)(m(e));(0,n.useEffect)((()=>{t&&d.del()}),[t]);const s=(0,n.useCallback)((function(t,n){void 0===n&&(n={});const{persist:o=!0}=n;t?(r(t),o&&g(t)):(r(a?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[a,e]);(0,n.useEffect)((()=>{document.documentElement.setAttribute("data-theme",u(o))}),[o]),(0,n.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==l)return;const t=d.get();null!==t&&s(u(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,s]);const c=(0,n.useRef)(!1);return(0,n.useEffect)((()=>{if(t&&!a)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),n=()=>{window.matchMedia("print").matches||c.current?c.current=window.matchMedia("print").matches:s(null)};return e.addListener(n),()=>e.removeListener(n)}),[s,t,a]),(0,n.useMemo)((()=>({colorMode:o,setColorMode:s,get isDarkTheme(){return o===p.dark},setLightTheme(){s(p.light)},setDarkTheme(){s(p.dark)}})),[o,s])}();return n.createElement(c.Provider,{value:a},t)}function f(){const e=(0,n.useContext)(c);if(null==e)throw new r.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},60373:(e,t,a)=>{"use strict";a.d(t,{J:()=>y,L5:()=>f,Oh:()=>k});var n=a(67294),o=a(80143),r=a(29935),s=a(86668),i=a(53438),c=a(902),l=a(50012);const d=e=>`docs-preferred-version-${e}`,p={save:(e,t,a)=>{(0,l.WA)(d(e),{persistence:t}).set(a)},read:(e,t)=>(0,l.WA)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,l.WA)(d(e),{persistence:t}).del()}},u=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const m=n.createContext(null);function g(){const e=(0,o._r)(),t=(0,s.L)().docs.versionPersistence,a=(0,n.useMemo)((()=>Object.keys(e)),[e]),[r,i]=(0,n.useState)((()=>u(a)));(0,n.useEffect)((()=>{i(function(e){let{pluginIds:t,versionPersistence:a,allDocsData:n}=e;function o(e){const t=p.read(e,a);return n[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p.clear(e,a),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,o(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:a}))}),[e,t,a]);return[r,(0,n.useMemo)((()=>({savePreferredVersion:function(e,a){p.save(e,t,a),i((t=>({...t,[e]:{preferredVersionName:a}})))}})),[t])]}function b(e){let{children:t}=e;const a=g();return n.createElement(m.Provider,{value:a},t)}function f(e){let{children:t}=e;return i.cE?n.createElement(b,null,t):n.createElement(n.Fragment,null,t)}function h(){const e=(0,n.useContext)(m);if(!e)throw new c.i6("DocsPreferredVersionContextProvider");return e}function y(e){void 0===e&&(e=r.m);const t=(0,o.zh)(e),[a,s]=h(),{preferredVersionName:i}=a[e];return{preferredVersion:t.versions.find((e=>e.name===i))??null,savePreferredVersionName:(0,n.useCallback)((t=>{s.savePreferredVersion(e,t)}),[s,e])}}function k(){const e=(0,o._r)(),[t]=h();function a(a){const n=e[a],{preferredVersionName:o}=t[a];return n.versions.find((e=>e.name===o))??null}const n=Object.keys(e);return Object.fromEntries(n.map((e=>[e,a(e)])))}},1116:(e,t,a)=>{"use strict";a.d(t,{V:()=>c,b:()=>i});var n=a(67294),o=a(902);const r=Symbol("EmptyContext"),s=n.createContext(r);function i(e){let{children:t,name:a,items:o}=e;const r=(0,n.useMemo)((()=>a&&o?{name:a,items:o}:null),[a,o]);return n.createElement(s.Provider,{value:r},t)}function c(){const e=(0,n.useContext)(s);if(e===r)throw new o.i6("DocsSidebarProvider");return e}},93163:(e,t,a)=>{"use strict";a.d(t,{M:()=>p,e:()=>u});var n=a(67294),o=a(13102),r=a(87524),s=a(91980),i=a(86668),c=a(902);const l=n.createContext(void 0);function d(){const e=function(){const e=(0,o.HY)(),{items:t}=(0,i.L)().navbar;return 0===t.length&&!e.component}(),t=(0,r.i)(),a=!e&&"mobile"===t,[c,l]=(0,n.useState)(!1);(0,s.Rb)((()=>{if(c)return l(!1),!1}));const d=(0,n.useCallback)((()=>{l((e=>!e))}),[]);return(0,n.useEffect)((()=>{"desktop"===t&&l(!1)}),[t]),(0,n.useMemo)((()=>({disabled:e,shouldRender:a,toggle:d,shown:c})),[e,a,d,c])}function p(e){let{children:t}=e;const a=d();return n.createElement(l.Provider,{value:a},t)}function u(){const e=n.useContext(l);if(void 0===e)throw new c.i6("NavbarMobileSidebarProvider");return e}},13102:(e,t,a)=>{"use strict";a.d(t,{HY:()=>i,Zo:()=>c,n2:()=>s});var n=a(67294),o=a(902);const r=n.createContext(null);function s(e){let{children:t}=e;const a=(0,n.useState)({component:null,props:null});return n.createElement(r.Provider,{value:a},t)}function i(){const e=(0,n.useContext)(r);if(!e)throw new o.i6("NavbarSecondaryMenuContentProvider");return e[0]}function c(e){let{component:t,props:a}=e;const s=(0,n.useContext)(r);if(!s)throw new o.i6("NavbarSecondaryMenuContentProvider");const[,i]=s,c=(0,o.Ql)(a);return(0,n.useEffect)((()=>{i({component:t,props:c})}),[i,t,c]),(0,n.useEffect)((()=>()=>i({component:null,props:null})),[i]),null}},19727:(e,t,a)=>{"use strict";a.d(t,{h:()=>o,t:()=>r});var n=a(67294);const o="navigation-with-keyboard";function r(){(0,n.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(o),"mousedown"===e.type&&document.body.classList.remove(o)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(o),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},66177:(e,t,a)=>{"use strict";a.d(t,{K:()=>i,M:()=>c});var n=a(67294),o=a(52263),r=a(91980);const s="q";function i(){return(0,r.Nc)(s)}function c(){const{siteConfig:{baseUrl:e,themeConfig:t}}=(0,o.Z)(),{algolia:{searchPagePath:a}}=t;return(0,n.useCallback)((t=>`${e}${a}?${s}=${encodeURIComponent(t)}`),[e,a])}},87524:(e,t,a)=>{"use strict";a.d(t,{i:()=>l});var n=a(67294),o=a(10412);const r={desktop:"desktop",mobile:"mobile",ssr:"ssr"},s=996;function i(){return o.Z.canUseDOM?window.innerWidth>s?r.desktop:r.mobile:r.ssr}const c=!1;function l(){const[e,t]=(0,n.useState)((()=>c?"ssr":i()));return(0,n.useEffect)((()=>{function e(){t(i())}const a=c?window.setTimeout(e,1e3):void 0;return window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e),clearTimeout(a)}}),[]),e}},35281:(e,t,a)=>{"use strict";a.d(t,{k:()=>n});const n={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},91442:(e,t,a)=>{"use strict";function n(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}a.d(t,{n:()=>n})},53438:(e,t,a)=>{"use strict";a.d(t,{Wl:()=>u,_F:()=>b,cE:()=>p,hI:()=>w,lO:()=>y,oz:()=>k,s1:()=>h,vY:()=>v});var n=a(67294),o=a(16550),r=a(18790),s=a(80143),i=a(60373),c=a(1116),l=a(67392),d=a(48596);const p=!!s._r;function u(e){if(e.href)return e.href;for(const t of e.items){if("link"===t.type)return t.href;if("category"===t.type){const e=u(t);if(e)return e}}}const m=(e,t)=>void 0!==e&&(0,d.Mg)(e,t),g=(e,t)=>e.some((e=>b(e,t)));function b(e,t){return"link"===e.type?m(e.href,t):"category"===e.type&&(m(e.href,t)||g(e.items,t))}function f(e){let{sidebarItems:t,pathname:a,onlyCategories:n=!1}=e;const o=[];return function e(t){for(const r of t)if("category"===r.type&&((0,d.Mg)(r.href,a)||e(r.items))||"link"===r.type&&(0,d.Mg)(r.href,a)){return n&&"category"!==r.type||o.unshift(r),!0}return!1}(t),o}function h(){const e=(0,c.V)(),{pathname:t}=(0,o.TH)(),a=(0,s.gA)()?.pluginData.breadcrumbs;return!1!==a&&e?f({sidebarItems:e.items,pathname:t}):null}function y(e){const{activeVersion:t}=(0,s.Iw)(e),{preferredVersion:a}=(0,i.J)(e),o=(0,s.yW)(e);return(0,n.useMemo)((()=>(0,l.j)([t,a,o].filter(Boolean))),[t,a,o])}function k(e,t){const a=y(t);return(0,n.useMemo)((()=>{const t=a.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),n=t.find((t=>t[0]===e));if(!n)throw new Error(`Can't find any sidebar with id "${e}" in version${a.length>1?"s":""} ${a.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return n[1]}),[e,a])}function v(e,t){const a=y(t);return(0,n.useMemo)((()=>{const t=a.flatMap((e=>e.docs)),n=t.find((t=>t.id===e));if(!n){if(a.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${a.length>1?"s":""} "${a.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${(0,l.j)(t.map((e=>e.id))).join("\n- ")}`)}return n}),[e,a])}function w(e){let{route:t,versionMetadata:a}=e;const n=(0,o.TH)(),s=t.routes,i=s.find((e=>(0,o.LX)(n.pathname,e)));if(!i)return null;const c=i.sidebar,l=c?a.docsSidebars[c]:void 0;return{docElement:(0,r.H)(s),sidebarName:c,sidebarItems:l}}},82128:(e,t,a)=>{"use strict";a.d(t,{p:()=>o});var n=a(52263);function o(e){const{siteConfig:t}=(0,n.Z)(),{title:a,titleDelimiter:o}=t;return e?.trim().length?`${e.trim()} ${o} ${a}`:a}},91980:(e,t,a)=>{"use strict";a.d(t,{Nc:()=>l,Rb:()=>i,_X:()=>c});var n=a(67294),o=a(16550),r=a(61688),s=a(902);function i(e){!function(e){const t=(0,o.k6)(),a=(0,s.zX)(e);(0,n.useEffect)((()=>t.block(((e,t)=>a(e,t)))),[t,a])}(((t,a)=>{if("POP"===a)return e(t,a)}))}function c(e){return function(e){const t=(0,o.k6)();return(0,r.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}function l(e){const t=c(e)??"",a=function(){const e=(0,o.k6)();return(0,n.useCallback)(((t,a,n)=>{const o=new URLSearchParams(e.location.search);a?o.set(t,a):o.delete(t),(n?.push?e.push:e.replace)({search:o.toString()})}),[e])}();return[t,(0,n.useCallback)(((t,n)=>{a(e,t,n)}),[a,e])]}},67392:(e,t,a)=>{"use strict";function n(e,t){return void 0===t&&(t=(e,t)=>e===t),e.filter(((a,n)=>e.findIndex((e=>t(e,a)))!==n))}function o(e){return Array.from(new Set(e))}a.d(t,{j:()=>o,l:()=>n})},10833:(e,t,a)=>{"use strict";a.d(t,{FG:()=>u,d:()=>d,VC:()=>m});var n=a(67294),o=a(86010),r=a(35742),s=a(30226);function i(){const e=n.useContext(s._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var c=a(44996),l=a(82128);function d(e){let{title:t,description:a,keywords:o,image:s,children:i}=e;const d=(0,l.p)(t),{withBaseUrl:p}=(0,c.C)(),u=s?p(s,{absolute:!0}):void 0;return n.createElement(r.Z,null,t&&n.createElement("title",null,d),t&&n.createElement("meta",{property:"og:title",content:d}),a&&n.createElement("meta",{name:"description",content:a}),a&&n.createElement("meta",{property:"og:description",content:a}),o&&n.createElement("meta",{name:"keywords",content:Array.isArray(o)?o.join(","):o}),u&&n.createElement("meta",{property:"og:image",content:u}),u&&n.createElement("meta",{name:"twitter:image",content:u}),i)}const p=n.createContext(void 0);function u(e){let{className:t,children:a}=e;const s=n.useContext(p),i=(0,o.Z)(s,t);return n.createElement(p.Provider,{value:i},n.createElement(r.Z,null,n.createElement("html",{className:i})),a)}function m(e){let{children:t}=e;const a=i(),r=`plugin-${a.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const s=`plugin-id-${a.plugin.id}`;return n.createElement(u,{className:(0,o.Z)(r,s)},t)}},902:(e,t,a)=>{"use strict";a.d(t,{D9:()=>s,Qc:()=>l,Ql:()=>c,i6:()=>i,zX:()=>r});var n=a(67294);const o=a(10412).Z.canUseDOM?n.useLayoutEffect:n.useEffect;function r(e){const t=(0,n.useRef)(e);return o((()=>{t.current=e}),[e]),(0,n.useCallback)((function(){return t.current(...arguments)}),[])}function s(e){const t=(0,n.useRef)();return o((()=>{t.current=e})),t.current}class i extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function c(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,n.useMemo)((()=>e),t.flat())}function l(e){return t=>{let{children:a}=t;return n.createElement(n.Fragment,null,e.reduceRight(((e,t)=>n.createElement(t,null,e)),a))}}},98022:(e,t,a)=>{"use strict";function n(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}a.d(t,{F:()=>n})},48596:(e,t,a)=>{"use strict";a.d(t,{Mg:()=>s,Ns:()=>i});var n=a(67294),o=a(723),r=a(52263);function s(e,t){const a=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return a(e)===a(t)}function i(){const{baseUrl:e}=(0,r.Z)().siteConfig;return(0,n.useMemo)((()=>function(e){let{baseUrl:t,routes:a}=e;function n(e){return e.path===t&&!0===e.exact}function o(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(n)||e(t.filter(o).flatMap((e=>e.routes??[])))}(a)}({routes:o.Z,baseUrl:e})),[e])}},12466:(e,t,a)=>{"use strict";a.d(t,{Ct:()=>m,OC:()=>c,RF:()=>p,o5:()=>u});var n=a(67294),o=a(10412),r=a(72389),s=a(902);const i=n.createContext(void 0);function c(e){let{children:t}=e;const a=function(){const e=(0,n.useRef)(!0);return(0,n.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return n.createElement(i.Provider,{value:a},t)}function l(){const e=(0,n.useContext)(i);if(null==e)throw new s.i6("ScrollControllerProvider");return e}const d=()=>o.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function p(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:a}=l(),o=(0,n.useRef)(d()),r=(0,s.zX)(e);(0,n.useEffect)((()=>{const e=()=>{if(!a.current)return;const e=d();r(e,o.current),o.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[r,a,...t])}function u(){const e=l(),t=function(){const e=(0,n.useRef)({elem:null,top:0}),t=(0,n.useCallback)((t=>{e.current={elem:t,top:t.getBoundingClientRect().top}}),[]),a=(0,n.useCallback)((()=>{const{current:{elem:t,top:a}}=e;if(!t)return{restored:!1};const n=t.getBoundingClientRect().top-a;return n&&window.scrollBy({left:0,top:n}),e.current={elem:null,top:0},{restored:0!==n}}),[]);return(0,n.useMemo)((()=>({save:t,restore:a})),[a,t])}(),a=(0,n.useRef)(void 0),o=(0,n.useCallback)((n=>{t.save(n),e.disableScrollEvents(),a.current=()=>{const{restored:n}=t.restore();if(a.current=void 0,n){const t=()=>{e.enableScrollEvents(),window.removeEventListener("scroll",t)};window.addEventListener("scroll",t)}else e.enableScrollEvents()}}),[e,t]);return(0,n.useLayoutEffect)((()=>{queueMicrotask((()=>a.current?.()))})),{blockElementScrollPositionUntilNextRender:o}}function m(){const e=(0,n.useRef)(null),t=(0,r.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:a=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(a):function(e){let t=null;const a=document.documentElement.scrollTop>e;return function n(){const o=document.documentElement.scrollTop;(a&&o>e||!a&&ot&&cancelAnimationFrame(t)}(a)},cancelScroll:()=>e.current?.()}}},43320:(e,t,a)=>{"use strict";a.d(t,{HX:()=>s,_q:()=>c,os:()=>i});var n=a(80143),o=a(52263),r=a(60373);const s="default";function i(e,t){return`docs-${e}-${t}`}function c(){const{i18n:e}=(0,o.Z)(),t=(0,n._r)(),a=(0,n.WS)(),c=(0,r.Oh)();const l=[s,...Object.keys(t).map((function(e){const n=a?.activePlugin.pluginId===e?a.activeVersion:void 0,o=c[e],r=t[e].versions.find((e=>e.isLast));return i(e,(n??o??r).name)}))];return{locale:e.currentLocale,tags:l}}},50012:(e,t,a)=>{"use strict";a.d(t,{Nk:()=>p,WA:()=>d});var n=a(67294),o=a(61688);const r="localStorage";function s(e){let{key:t,oldValue:a,newValue:n,storage:o}=e;if(a===n)return;const r=document.createEvent("StorageEvent");r.initStorageEvent("storage",!1,!1,t,a,n,window.location.href,o),window.dispatchEvent(r)}function i(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(a){return t=a,c||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),c=!0),null}var t}let c=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function d(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const a=i(t?.persistence);return null===a?l:{get:()=>{try{return a.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const n=a.getItem(e);a.setItem(e,t),s({key:e,oldValue:n,newValue:t,storage:a})}catch(n){console.error(`Docusaurus storage error, can't set ${e}=${t}`,n)}},del:()=>{try{const t=a.getItem(e);a.removeItem(e),s({key:e,oldValue:t,newValue:null,storage:a})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const n=n=>{n.storageArea===a&&n.key===e&&t(n)};return window.addEventListener("storage",n),()=>window.removeEventListener("storage",n)}catch(n){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,n),()=>{}}}}}function p(e,t){const a=(0,n.useRef)((()=>null===e?l:d(e,t))).current(),r=(0,n.useCallback)((e=>"undefined"==typeof window?()=>{}:a.listen(e)),[a]);return[(0,o.useSyncExternalStore)(r,(()=>"undefined"==typeof window?null:a.get()),(()=>null)),a]}},94711:(e,t,a)=>{"use strict";a.d(t,{l:()=>r});var n=a(52263),o=a(16550);function r(){const{siteConfig:{baseUrl:e,url:t},i18n:{defaultLocale:a,currentLocale:r}}=(0,n.Z)(),{pathname:s}=(0,o.TH)(),i=r===a?e:e.replace(`/${r}/`,"/"),c=s.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:o}=e;return`${o?t:""}${function(e){return e===a?`${i}`:`${i}${e}/`}(n)}${c}`}}}},85936:(e,t,a)=>{"use strict";a.d(t,{S:()=>s});var n=a(67294),o=a(16550),r=a(902);function s(e){const t=(0,o.TH)(),a=(0,r.D9)(t),s=(0,r.zX)(e);(0,n.useEffect)((()=>{a&&t!==a&&s({location:t,previousLocation:a})}),[s,t,a])}},86668:(e,t,a)=>{"use strict";a.d(t,{L:()=>o});var n=a(52263);function o(){return(0,n.Z)().siteConfig.themeConfig}},6278:(e,t,a)=>{"use strict";a.d(t,{L:()=>o});var n=a(52263);function o(){const{siteConfig:{themeConfig:e}}=(0,n.Z)();return e}},239:(e,t,a)=>{"use strict";a.d(t,{l:()=>i});var n=a(67294),o=a(98022),r=a(44996),s=a(6278);function i(){const{withBaseUrl:e}=(0,r.C)(),{algolia:{externalUrlRegex:t,replaceSearchResultPathname:a}}=(0,s.L)();return(0,n.useCallback)((n=>{const r=new URL(n);if((0,o.F)(t,r.href))return n;const s=`${r.pathname+r.hash}`;return e(function(e,t){return t?e.replaceAll(new RegExp(t.from,"g"),t.to):e}(s,a))}),[e,t,a])}},8802:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:a,baseUrl:n}=t;if(e.startsWith("#"))return e;if(void 0===a)return e;const[o]=e.split(/[#?]/),r="/"===o||o===n?o:(s=o,a?function(e){return e.endsWith("/")?e:`${e}/`}(s):function(e){return e.endsWith("/")?e.slice(0,-1):e}(s));var s;return e.replace(o,r)}},54143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},18780:function(e,t,a){"use strict";var n=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var o=a(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return n(o).default}});var r=a(54143);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return r.getErrorCausalChain}})},86010:(e,t,a)=>{"use strict";function n(e){var t,a,o="";if("string"==typeof e||"number"==typeof e)o+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;to});const o=function(){for(var e,t,a=0,o="";a{"use strict";a.d(t,{lX:()=>v,q_:()=>T,ob:()=>m,PP:()=>C,Ep:()=>u});var n=a(87462);function o(e){return"/"===e.charAt(0)}function r(e,t){for(var a=t,n=a+1,o=e.length;n=0;u--){var m=s[u];"."===m?r(s,u):".."===m?(r(s,u),p++):p&&(r(s,u),p--)}if(!l)for(;p--;p)s.unshift("..");!l||""===s[0]||s[0]&&o(s[0])||s.unshift("");var g=s.join("/");return a&&"/"!==g.substr(-1)&&(g+="/"),g};var i=a(38776);function c(e){return"/"===e.charAt(0)?e:"/"+e}function l(e){return"/"===e.charAt(0)?e.substr(1):e}function d(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function p(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function u(e){var t=e.pathname,a=e.search,n=e.hash,o=t||"/";return a&&"?"!==a&&(o+="?"===a.charAt(0)?a:"?"+a),n&&"#"!==n&&(o+="#"===n.charAt(0)?n:"#"+n),o}function m(e,t,a,o){var r;"string"==typeof e?(r=function(e){var t=e||"/",a="",n="",o=t.indexOf("#");-1!==o&&(n=t.substr(o),t=t.substr(0,o));var r=t.indexOf("?");return-1!==r&&(a=t.substr(r),t=t.substr(0,r)),{pathname:t,search:"?"===a?"":a,hash:"#"===n?"":n}}(e),r.state=t):(void 0===(r=(0,n.Z)({},e)).pathname&&(r.pathname=""),r.search?"?"!==r.search.charAt(0)&&(r.search="?"+r.search):r.search="",r.hash?"#"!==r.hash.charAt(0)&&(r.hash="#"+r.hash):r.hash="",void 0!==t&&void 0===r.state&&(r.state=t));try{r.pathname=decodeURI(r.pathname)}catch(i){throw i instanceof URIError?new URIError('Pathname "'+r.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):i}return a&&(r.key=a),o?r.pathname?"/"!==r.pathname.charAt(0)&&(r.pathname=s(r.pathname,o.pathname)):r.pathname=o.pathname:r.pathname||(r.pathname="/"),r}function g(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,a,n,o){if(null!=e){var r="function"==typeof e?e(t,a):e;"string"==typeof r?"function"==typeof n?n(r,o):o(!0):o(!1!==r)}else o(!0)},appendListener:function(e){var a=!0;function n(){a&&e.apply(void 0,arguments)}return t.push(n),function(){a=!1,t=t.filter((function(e){return e!==n}))}},notifyListeners:function(){for(var e=arguments.length,a=new Array(e),n=0;nt?a.splice(t,a.length-t,o):a.push(o),p({action:n,location:o,index:t,entries:a})}}))},replace:function(e,t){var n="REPLACE",o=m(e,t,b(),v.location);d.confirmTransitionTo(o,n,a,(function(e){e&&(v.entries[v.index]=o,p({action:n,location:o}))}))},go:k,goBack:function(){k(-1)},goForward:function(){k(1)},canGo:function(e){var t=v.index+e;return t>=0&&t{"use strict";var n=a(59864),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},r={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},s={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},i={};function c(e){return n.isMemo(e)?s:i[e.$$typeof]||o}i[n.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},i[n.Memo]=s;var l=Object.defineProperty,d=Object.getOwnPropertyNames,p=Object.getOwnPropertySymbols,u=Object.getOwnPropertyDescriptor,m=Object.getPrototypeOf,g=Object.prototype;e.exports=function e(t,a,n){if("string"!=typeof a){if(g){var o=m(a);o&&o!==g&&e(t,o,n)}var s=d(a);p&&(s=s.concat(p(a)));for(var i=c(t),b=c(a),f=0;f{"use strict";e.exports=function(e,t,a,n,o,r,s,i){if(!e){var c;if(void 0===t)c=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var l=[a,n,o,r,s,i],d=0;(c=new Error(t.replace(/%s/g,(function(){return l[d++]})))).name="Invariant Violation"}throw c.framesToPop=1,c}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},32497:(e,t,a)=>{"use strict";a.r(t)},52295:(e,t,a)=>{"use strict";a.r(t)},74865:function(e,t,a){var n,o;n=function(){var e,t,a={version:"0.2.0"},n=a.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
    '};function o(e,t,a){return ea?a:e}function r(e){return 100*(-1+e)}function s(e,t,a){var o;return(o="translate3d"===n.positionUsing?{transform:"translate3d("+r(e)+"%,0,0)"}:"translate"===n.positionUsing?{transform:"translate("+r(e)+"%,0)"}:{"margin-left":r(e)+"%"}).transition="all "+t+"ms "+a,o}a.configure=function(e){var t,a;for(t in e)void 0!==(a=e[t])&&e.hasOwnProperty(t)&&(n[t]=a);return this},a.status=null,a.set=function(e){var t=a.isStarted();e=o(e,n.minimum,1),a.status=1===e?null:e;var r=a.render(!t),l=r.querySelector(n.barSelector),d=n.speed,p=n.easing;return r.offsetWidth,i((function(t){""===n.positionUsing&&(n.positionUsing=a.getPositioningCSS()),c(l,s(e,d,p)),1===e?(c(r,{transition:"none",opacity:1}),r.offsetWidth,setTimeout((function(){c(r,{transition:"all "+d+"ms linear",opacity:0}),setTimeout((function(){a.remove(),t()}),d)}),d)):setTimeout(t,d)})),this},a.isStarted=function(){return"number"==typeof a.status},a.start=function(){a.status||a.set(0);var e=function(){setTimeout((function(){a.status&&(a.trickle(),e())}),n.trickleSpeed)};return n.trickle&&e(),this},a.done=function(e){return e||a.status?a.inc(.3+.5*Math.random()).set(1):this},a.inc=function(e){var t=a.status;return t?("number"!=typeof e&&(e=(1-t)*o(Math.random()*t,.1,.95)),t=o(t+e,0,.994),a.set(t)):a.start()},a.trickle=function(){return a.inc(Math.random()*n.trickleRate)},e=0,t=0,a.promise=function(n){return n&&"resolved"!==n.state()?(0===t&&a.start(),e++,t++,n.always((function(){0==--t?(e=0,a.done()):a.set((e-t)/e)})),this):this},a.render=function(e){if(a.isRendered())return document.getElementById("nprogress");d(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=n.template;var o,s=t.querySelector(n.barSelector),i=e?"-100":r(a.status||0),l=document.querySelector(n.parent);return c(s,{transition:"all 0 linear",transform:"translate3d("+i+"%,0,0)"}),n.showSpinner||(o=t.querySelector(n.spinnerSelector))&&m(o),l!=document.body&&d(l,"nprogress-custom-parent"),l.appendChild(t),t},a.remove=function(){p(document.documentElement,"nprogress-busy"),p(document.querySelector(n.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&m(e)},a.isRendered=function(){return!!document.getElementById("nprogress")},a.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var i=function(){var e=[];function t(){var a=e.shift();a&&a(t)}return function(a){e.push(a),1==e.length&&t()}}(),c=function(){var e=["Webkit","O","Moz","ms"],t={};function a(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function n(t){var a=document.body.style;if(t in a)return t;for(var n,o=e.length,r=t.charAt(0).toUpperCase()+t.slice(1);o--;)if((n=e[o]+r)in a)return n;return t}function o(e){return e=a(e),t[e]||(t[e]=n(e))}function r(e,t,a){t=o(t),e.style[t]=a}return function(e,t){var a,n,o=arguments;if(2==o.length)for(a in t)void 0!==(n=t[a])&&t.hasOwnProperty(a)&&r(e,a,n);else r(e,o[1],o[2])}}();function l(e,t){return("string"==typeof e?e:u(e)).indexOf(" "+t+" ")>=0}function d(e,t){var a=u(e),n=a+t;l(a,t)||(e.className=n.substring(1))}function p(e,t){var a,n=u(e);l(e,t)&&(a=n.replace(" "+t+" "," "),e.className=a.substring(1,a.length-1))}function u(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function m(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return a},void 0===(o="function"==typeof n?n.call(t,a,t,e):n)||(e.exports=o)},27418:e=>{"use strict";var t=Object.getOwnPropertySymbols,a=Object.prototype.hasOwnProperty,n=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},a=0;a<10;a++)t["_"+String.fromCharCode(a)]=a;if("0123456789"!==Object.getOwnPropertyNames(t).map((function(e){return t[e]})).join(""))return!1;var n={};return"abcdefghijklmnopqrst".split("").forEach((function(e){n[e]=e})),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},n)).join("")}catch(o){return!1}}()?Object.assign:function(e,o){for(var r,s,i=function(e){if(null==e)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(e)}(e),c=1;c{"use strict";a.d(t,{Z:()=>r});var n=function(){var e=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,a={},n={util:{encode:function e(t){return t instanceof o?new o(t.type,e(t.content),t.alias):Array.isArray(t)?t.map(e):t.replace(/&/g,"&").replace(/=p.reach);x+=_.value.length,_=_.next){var S=_.value;if(t.length>e.length)return;if(!(S instanceof o)){var E,T=1;if(y){if(!(E=r(w,x,e,h))||E.index>=e.length)break;var j=E.index,C=E.index+E[0].length,P=x;for(P+=_.value.length;j>=P;)P+=(_=_.next).value.length;if(x=P-=_.value.length,_.value instanceof o)continue;for(var R=_;R!==t.tail&&(Pp.reach&&(p.reach=O);var D=_.prev;if(I&&(D=c(t,D,I),x+=I.length),l(t,D,T),_=c(t,D,new o(u,f?n.tokenize(A,f):A,k,A)),L&&c(t,_,L),T>1){var N={cause:u+","+g,reach:O};s(e,t,a,_.prev,x,N),p&&N.reach>p.reach&&(p.reach=N.reach)}}}}}}function i(){var e={value:null,prev:null,next:null},t={value:null,prev:e,next:null};e.next=t,this.head=e,this.tail=t,this.length=0}function c(e,t,a){var n=t.next,o={value:a,prev:t,next:n};return t.next=o,n.prev=o,e.length++,o}function l(e,t,a){for(var n=t.next,o=0;o"+r.content+""},n}(),o=n;n.default=n,o.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},o.languages.markup.tag.inside["attr-value"].inside.entity=o.languages.markup.entity,o.languages.markup.doctype.inside["internal-subset"].inside=o.languages.markup,o.hooks.add("wrap",(function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))})),Object.defineProperty(o.languages.markup.tag,"addInlined",{value:function(e,t){var a={};a["language-"+t]={pattern:/(^$)/i,lookbehind:!0,inside:o.languages[t]},a.cdata=/^$/i;var n={"included-cdata":{pattern://i,inside:a}};n["language-"+t]={pattern:/[\s\S]+/,inside:o.languages[t]};var r={};r[e]={pattern:RegExp(/(<__[^>]*>)(?:))*\]\]>|(?!)/.source.replace(/__/g,(function(){return e})),"i"),lookbehind:!0,greedy:!0,inside:n},o.languages.insertBefore("markup","cdata",r)}}),Object.defineProperty(o.languages.markup.tag,"addAttribute",{value:function(e,t){o.languages.markup.tag.inside["special-attr"].push({pattern:RegExp(/(^|["'\s])/.source+"(?:"+e+")"+/\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))/.source,"i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[t,"language-"+t],inside:o.languages[t]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),o.languages.html=o.languages.markup,o.languages.mathml=o.languages.markup,o.languages.svg=o.languages.markup,o.languages.xml=o.languages.extend("markup",{}),o.languages.ssml=o.languages.xml,o.languages.atom=o.languages.xml,o.languages.rss=o.languages.xml,function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",a={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},n={bash:a,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:n},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:a}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:n},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:n.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:n.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},a.inside=e.languages.bash;for(var o=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],r=n.variable[1].inside,s=0;s]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/},o.languages.c=o.languages.extend("clike",{comment:{pattern:/\/\/(?:[^\r\n\\]|\\(?:\r\n?|\n|(?![\r\n])))*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},"class-name":{pattern:/(\b(?:enum|struct)\s+(?:__attribute__\s*\(\([\s\S]*?\)\)\s*)?)\w+|\b[a-z]\w*_t\b/,lookbehind:!0},keyword:/\b(?:_Alignas|_Alignof|_Atomic|_Bool|_Complex|_Generic|_Imaginary|_Noreturn|_Static_assert|_Thread_local|__attribute__|asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|inline|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|typeof|union|unsigned|void|volatile|while)\b/,function:/\b[a-z_]\w*(?=\s*\()/i,number:/(?:\b0x(?:[\da-f]+(?:\.[\da-f]*)?|\.[\da-f]+)(?:p[+-]?\d+)?|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?)[ful]{0,4}/i,operator:/>>=?|<<=?|->|([-+&|:])\1|[?:~]|[-+*/%&|^!=<>]=?/}),o.languages.insertBefore("c","string",{char:{pattern:/'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n]){0,32}'/,greedy:!0}}),o.languages.insertBefore("c","string",{macro:{pattern:/(^[\t ]*)#\s*[a-z](?:[^\r\n\\/]|\/(?!\*)|\/\*(?:[^*]|\*(?!\/))*\*\/|\\(?:\r\n|[\s\S]))*/im,lookbehind:!0,greedy:!0,alias:"property",inside:{string:[{pattern:/^(#\s*include\s*)<[^>]+>/,lookbehind:!0},o.languages.c.string],char:o.languages.c.char,comment:o.languages.c.comment,"macro-name":[{pattern:/(^#\s*define\s+)\w+\b(?!\()/i,lookbehind:!0},{pattern:/(^#\s*define\s+)\w+\b(?=\()/i,lookbehind:!0,alias:"function"}],directive:{pattern:/^(#\s*)[a-z]+/,lookbehind:!0,alias:"keyword"},"directive-hash":/^#/,punctuation:/##|\\(?=[\r\n])/,expression:{pattern:/\S[\s\S]*/,inside:o.languages.c}}}}),o.languages.insertBefore("c","function",{constant:/\b(?:EOF|NULL|SEEK_CUR|SEEK_END|SEEK_SET|__DATE__|__FILE__|__LINE__|__TIMESTAMP__|__TIME__|__func__|stderr|stdin|stdout)\b/}),delete o.languages.c.boolean,function(e){var t=/\b(?:alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|char8_t|class|co_await|co_return|co_yield|compl|concept|const|const_cast|consteval|constexpr|constinit|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|final|float|for|friend|goto|if|import|inline|int|int16_t|int32_t|int64_t|int8_t|long|module|mutable|namespace|new|noexcept|nullptr|operator|override|private|protected|public|register|reinterpret_cast|requires|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|uint16_t|uint32_t|uint64_t|uint8_t|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,a=/\b(?!)\w+(?:\s*\.\s*\w+)*\b/.source.replace(//g,(function(){return t.source}));e.languages.cpp=e.languages.extend("c",{"class-name":[{pattern:RegExp(/(\b(?:class|concept|enum|struct|typename)\s+)(?!)\w+/.source.replace(//g,(function(){return t.source}))),lookbehind:!0},/\b[A-Z]\w*(?=\s*::\s*\w+\s*\()/,/\b[A-Z_]\w*(?=\s*::\s*~\w+\s*\()/i,/\b\w+(?=\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>\s*::\s*\w+\s*\()/],keyword:t,number:{pattern:/(?:\b0b[01']+|\b0x(?:[\da-f']+(?:\.[\da-f']*)?|\.[\da-f']+)(?:p[+-]?[\d']+)?|(?:\b[\d']+(?:\.[\d']*)?|\B\.[\d']+)(?:e[+-]?[\d']+)?)[ful]{0,4}/i,greedy:!0},operator:/>>=?|<<=?|->|--|\+\+|&&|\|\||[?:~]|<=>|[-+*/%&|^!=<>]=?|\b(?:and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/,boolean:/\b(?:false|true)\b/}),e.languages.insertBefore("cpp","string",{module:{pattern:RegExp(/(\b(?:import|module)\s+)/.source+"(?:"+/"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|<[^<>\r\n]*>/.source+"|"+/(?:\s*:\s*)?|:\s*/.source.replace(//g,(function(){return a}))+")"),lookbehind:!0,greedy:!0,inside:{string:/^[<"][\s\S]+/,operator:/:/,punctuation:/\./}},"raw-string":{pattern:/R"([^()\\ ]{0,16})\([\s\S]*?\)\1"/,alias:"string",greedy:!0}}),e.languages.insertBefore("cpp","keyword",{"generic-function":{pattern:/\b(?!operator\b)[a-z_]\w*\s*<(?:[^<>]|<[^<>]*>)*>(?=\s*\()/i,inside:{function:/^\w+/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:e.languages.cpp}}}}),e.languages.insertBefore("cpp","operator",{"double-colon":{pattern:/::/,alias:"punctuation"}}),e.languages.insertBefore("cpp","class-name",{"base-clause":{pattern:/(\b(?:class|struct)\s+\w+\s*:\s*)[^;{}"'\s]+(?:\s+[^;{}"'\s]+)*(?=\s*[;{])/,lookbehind:!0,greedy:!0,inside:e.languages.extend("cpp",{})}}),e.languages.insertBefore("inside","double-colon",{"class-name":/\b[a-z_]\w*\b(?!\s*::)/i},e.languages.cpp["base-clause"])}(o),function(e){var t=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;e.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-](?:[^;{\s]|\s+(?![\s{]))*(?:;|(?=\s*\{))/,inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+t.source+"|"+/(?:[^\\\r\n()"']|\\[\s\S])*/.source+")\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+t.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+t.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:t,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},e.languages.css.atrule.inside.rest=e.languages.css;var a=e.languages.markup;a&&(a.tag.addInlined("style","css"),a.tag.addAttribute("style","css"))}(o),function(e){var t,a=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;e.languages.css.selector={pattern:e.languages.css.selector.pattern,lookbehind:!0,inside:t={"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/,"pseudo-class":/:[-\w]+/,class:/\.[-\w]+/,id:/#[-\w]+/,attribute:{pattern:RegExp("\\[(?:[^[\\]\"']|"+a.source+")*\\]"),greedy:!0,inside:{punctuation:/^\[|\]$/,"case-sensitivity":{pattern:/(\s)[si]$/i,lookbehind:!0,alias:"keyword"},namespace:{pattern:/^(\s*)(?:(?!\s)[-*\w\xA0-\uFFFF])*\|(?!=)/,lookbehind:!0,inside:{punctuation:/\|$/}},"attr-name":{pattern:/^(\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+/,lookbehind:!0},"attr-value":[a,{pattern:/(=\s*)(?:(?!\s)[-\w\xA0-\uFFFF])+(?=\s*$)/,lookbehind:!0}],operator:/[|~*^$]?=/}},"n-th":[{pattern:/(\(\s*)[+-]?\d*[\dn](?:\s*[+-]\s*\d+)?(?=\s*\))/,lookbehind:!0,inside:{number:/[\dn]+/,operator:/[+-]/}},{pattern:/(\(\s*)(?:even|odd)(?=\s*\))/i,lookbehind:!0}],combinator:/>|\+|~|\|\|/,punctuation:/[(),]/}},e.languages.css.atrule.inside["selector-function-argument"].inside=t,e.languages.insertBefore("css","property",{variable:{pattern:/(^|[^-\w\xA0-\uFFFF])--(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*/i,lookbehind:!0}});var n={pattern:/(\b\d+)(?:%|[a-z]+(?![\w-]))/,lookbehind:!0},o={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0};e.languages.insertBefore("css","function",{operator:{pattern:/(\s)[+\-*\/](?=\s)/,lookbehind:!0},hexcode:{pattern:/\B#[\da-f]{3,8}\b/i,alias:"color"},color:[{pattern:/(^|[^\w-])(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)(?![\w-])/i,lookbehind:!0},{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:n,number:o,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:n,number:o})}(o),o.languages.javascript=o.languages.extend("clike",{"class-name":[o.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp(/(^|[^\w$])/.source+"(?:"+/NaN|Infinity/.source+"|"+/0[bB][01]+(?:_[01]+)*n?/.source+"|"+/0[oO][0-7]+(?:_[0-7]+)*n?/.source+"|"+/0[xX][\dA-Fa-f]+(?:_[\dA-Fa-f]+)*n?/.source+"|"+/\d+(?:_\d+)*n/.source+"|"+/(?:\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\.\d+(?:_\d+)*)(?:[Ee][+-]?\d+(?:_\d+)*)?/.source+")"+/(?![\w$])/.source),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),o.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,o.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s]|\b(?:return|yield))\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*\]|\\.|[^/\\\[\r\n])+\/[dgimyus]{0,7}(?=(?:\s|\/\*(?:[^*]|\*(?!\/))*\*\/)*(?:$|[\r\n,.;:})\]]|\/\/))/,lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:o.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:o.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:o.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:o.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:o.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),o.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:o.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),o.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),o.languages.markup&&(o.languages.markup.tag.addInlined("script","javascript"),o.languages.markup.tag.addAttribute(/on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)/.source,"javascript")),o.languages.js=o.languages.javascript,function(e){var t=/#(?!\{).+/,a={pattern:/#\{[^}]+\}/,alias:"variable"};e.languages.coffeescript=e.languages.extend("javascript",{comment:t,string:[{pattern:/'(?:\\[\s\S]|[^\\'])*'/,greedy:!0},{pattern:/"(?:\\[\s\S]|[^\\"])*"/,greedy:!0,inside:{interpolation:a}}],keyword:/\b(?:and|break|by|catch|class|continue|debugger|delete|do|each|else|extend|extends|false|finally|for|if|in|instanceof|is|isnt|let|loop|namespace|new|no|not|null|of|off|on|or|own|return|super|switch|then|this|throw|true|try|typeof|undefined|unless|until|when|while|window|with|yes|yield)\b/,"class-member":{pattern:/@(?!\d)\w+/,alias:"variable"}}),e.languages.insertBefore("coffeescript","comment",{"multiline-comment":{pattern:/###[\s\S]+?###/,alias:"comment"},"block-regex":{pattern:/\/{3}[\s\S]*?\/{3}/,alias:"regex",inside:{comment:t,interpolation:a}}}),e.languages.insertBefore("coffeescript","string",{"inline-javascript":{pattern:/`(?:\\[\s\S]|[^\\`])*`/,inside:{delimiter:{pattern:/^`|`$/,alias:"punctuation"},script:{pattern:/[\s\S]+/,alias:"language-javascript",inside:e.languages.javascript}}},"multiline-string":[{pattern:/'''[\s\S]*?'''/,greedy:!0,alias:"string"},{pattern:/"""[\s\S]*?"""/,greedy:!0,alias:"string",inside:{interpolation:a}}]}),e.languages.insertBefore("coffeescript","keyword",{property:/(?!\d)\w+(?=\s*:(?!:))/}),delete e.languages.coffeescript["template-string"],e.languages.coffee=e.languages.coffeescript}(o),function(e){var t=/[*&][^\s[\]{},]+/,a=/!(?:<[\w\-%#;/?:@&=+$,.!~*'()[\]]+>|(?:[a-zA-Z\d-]*!)?[\w\-%#;/?:@&=+$.~*'()]+)?/,n="(?:"+a.source+"(?:[ \t]+"+t.source+")?|"+t.source+"(?:[ \t]+"+a.source+")?)",o=/(?:[^\s\x00-\x08\x0e-\x1f!"#%&'*,\-:>?@[\]`{|}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]|[?:-])(?:[ \t]*(?:(?![#:])|:))*/.source.replace(//g,(function(){return/[^\s\x00-\x08\x0e-\x1f,[\]{}\x7f-\x84\x86-\x9f\ud800-\udfff\ufffe\uffff]/.source})),r=/"(?:[^"\\\r\n]|\\.)*"|'(?:[^'\\\r\n]|\\.)*'/.source;function s(e,t){t=(t||"").replace(/m/g,"")+"m";var a=/([:\-,[{]\s*(?:\s<>[ \t]+)?)(?:<>)(?=[ \t]*(?:$|,|\]|\}|(?:[\r\n]\s*)?#))/.source.replace(/<>/g,(function(){return n})).replace(/<>/g,(function(){return e}));return RegExp(a,t)}e.languages.yaml={scalar:{pattern:RegExp(/([\-:]\s*(?:\s<>[ \t]+)?[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)\S[^\r\n]*(?:\2[^\r\n]+)*)/.source.replace(/<>/g,(function(){return n}))),lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:RegExp(/((?:^|[:\-,[{\r\n?])[ \t]*(?:<>[ \t]+)?)<>(?=\s*:\s)/.source.replace(/<>/g,(function(){return n})).replace(/<>/g,(function(){return"(?:"+o+"|"+r+")"}))),lookbehind:!0,greedy:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:s(/\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?(?:[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?))?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?/.source),lookbehind:!0,alias:"number"},boolean:{pattern:s(/false|true/.source,"i"),lookbehind:!0,alias:"important"},null:{pattern:s(/null|~/.source,"i"),lookbehind:!0,alias:"important"},string:{pattern:s(r),lookbehind:!0,greedy:!0},number:{pattern:s(/[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+(?:\.\d*)?|\.\d+)(?:e[+-]?\d+)?|\.inf|\.nan)/.source,"i"),lookbehind:!0},tag:a,important:t,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},e.languages.yml=e.languages.yaml}(o),function(e){var t=/(?:\\.|[^\\\n\r]|(?:\n|\r\n?)(?![\r\n]))/.source;function a(e){return e=e.replace(//g,(function(){return t})),RegExp(/((?:^|[^\\])(?:\\{2})*)/.source+"(?:"+e+")")}var n=/(?:\\.|``(?:[^`\r\n]|`(?!`))+``|`[^`\r\n]+`|[^\\|\r\n`])+/.source,o=/\|?__(?:\|__)+\|?(?:(?:\n|\r\n?)|(?![\s\S]))/.source.replace(/__/g,(function(){return n})),r=/\|?[ \t]*:?-{3,}:?[ \t]*(?:\|[ \t]*:?-{3,}:?[ \t]*)+\|?(?:\n|\r\n?)/.source;e.languages.markdown=e.languages.extend("markup",{}),e.languages.insertBefore("markdown","prolog",{"front-matter-block":{pattern:/(^(?:\s*[\r\n])?)---(?!.)[\s\S]*?[\r\n]---(?!.)/,lookbehind:!0,greedy:!0,inside:{punctuation:/^---|---$/,"front-matter":{pattern:/\S+(?:\s+\S+)*/,alias:["yaml","language-yaml"],inside:e.languages.yaml}}},blockquote:{pattern:/^>(?:[\t ]*>)*/m,alias:"punctuation"},table:{pattern:RegExp("^"+o+r+"(?:"+o+")*","m"),inside:{"table-data-rows":{pattern:RegExp("^("+o+r+")(?:"+o+")*$"),lookbehind:!0,inside:{"table-data":{pattern:RegExp(n),inside:e.languages.markdown},punctuation:/\|/}},"table-line":{pattern:RegExp("^("+o+")"+r+"$"),lookbehind:!0,inside:{punctuation:/\||:?-{3,}:?/}},"table-header-row":{pattern:RegExp("^"+o+"$"),inside:{"table-header":{pattern:RegExp(n),alias:"important",inside:e.languages.markdown},punctuation:/\|/}}}},code:[{pattern:/((?:^|\n)[ \t]*\n|(?:^|\r\n?)[ \t]*\r\n?)(?: {4}|\t).+(?:(?:\n|\r\n?)(?: {4}|\t).+)*/,lookbehind:!0,alias:"keyword"},{pattern:/^```[\s\S]*?^```$/m,greedy:!0,inside:{"code-block":{pattern:/^(```.*(?:\n|\r\n?))[\s\S]+?(?=(?:\n|\r\n?)^```$)/m,lookbehind:!0},"code-language":{pattern:/^(```).+/,lookbehind:!0},punctuation:/```/}}],title:[{pattern:/\S.*(?:\n|\r\n?)(?:==+|--+)(?=[ \t]*$)/m,alias:"important",inside:{punctuation:/==+$|--+$/}},{pattern:/(^\s*)#.+/m,lookbehind:!0,alias:"important",inside:{punctuation:/^#+|#+$/}}],hr:{pattern:/(^\s*)([*-])(?:[\t ]*\2){2,}(?=\s*$)/m,lookbehind:!0,alias:"punctuation"},list:{pattern:/(^\s*)(?:[*+-]|\d+\.)(?=[\t ].)/m,lookbehind:!0,alias:"punctuation"},"url-reference":{pattern:/!?\[[^\]]+\]:[\t ]+(?:\S+|<(?:\\.|[^>\\])+>)(?:[\t ]+(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\)))?/,inside:{variable:{pattern:/^(!?\[)[^\]]+/,lookbehind:!0},string:/(?:"(?:\\.|[^"\\])*"|'(?:\\.|[^'\\])*'|\((?:\\.|[^)\\])*\))$/,punctuation:/^[\[\]!:]|[<>]/},alias:"url"},bold:{pattern:a(/\b__(?:(?!_)|_(?:(?!_))+_)+__\b|\*\*(?:(?!\*)|\*(?:(?!\*))+\*)+\*\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^..)[\s\S]+(?=..$)/,lookbehind:!0,inside:{}},punctuation:/\*\*|__/}},italic:{pattern:a(/\b_(?:(?!_)|__(?:(?!_))+__)+_\b|\*(?:(?!\*)|\*\*(?:(?!\*))+\*\*)+\*/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^.)[\s\S]+(?=.$)/,lookbehind:!0,inside:{}},punctuation:/[*_]/}},strike:{pattern:a(/(~~?)(?:(?!~))+\2/.source),lookbehind:!0,greedy:!0,inside:{content:{pattern:/(^~~?)[\s\S]+(?=\1$)/,lookbehind:!0,inside:{}},punctuation:/~~?/}},"code-snippet":{pattern:/(^|[^\\`])(?:``[^`\r\n]+(?:`[^`\r\n]+)*``(?!`)|`[^`\r\n]+`(?!`))/,lookbehind:!0,greedy:!0,alias:["code","keyword"]},url:{pattern:a(/!?\[(?:(?!\]))+\](?:\([^\s)]+(?:[\t ]+"(?:\\.|[^"\\])*")?\)|[ \t]?\[(?:(?!\]))+\])/.source),lookbehind:!0,greedy:!0,inside:{operator:/^!/,content:{pattern:/(^\[)[^\]]+(?=\])/,lookbehind:!0,inside:{}},variable:{pattern:/(^\][ \t]?\[)[^\]]+(?=\]$)/,lookbehind:!0},url:{pattern:/(^\]\()[^\s)]+/,lookbehind:!0},string:{pattern:/(^[ \t]+)"(?:\\.|[^"\\])*"(?=\)$)/,lookbehind:!0}}}}),["url","bold","italic","strike"].forEach((function(t){["url","bold","italic","strike","code-snippet"].forEach((function(a){t!==a&&(e.languages.markdown[t].inside.content.inside[a]=e.languages.markdown[a])}))})),e.hooks.add("after-tokenize",(function(e){"markdown"!==e.language&&"md"!==e.language||function e(t){if(t&&"string"!=typeof t)for(var a=0,n=t.length;a",quot:'"'},c=String.fromCodePoint||String.fromCharCode;e.languages.md=e.languages.markdown}(o),o.languages.graphql={comment:/#.*/,description:{pattern:/(?:"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*")(?=\s*[a-z_])/i,greedy:!0,alias:"string",inside:{"language-markdown":{pattern:/(^"(?:"")?)(?!\1)[\s\S]+(?=\1$)/,lookbehind:!0,inside:o.languages.markdown}}},string:{pattern:/"""(?:[^"]|(?!""")")*"""|"(?:\\.|[^\\"\r\n])*"/,greedy:!0},number:/(?:\B-|\b)\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,boolean:/\b(?:false|true)\b/,variable:/\$[a-z_]\w*/i,directive:{pattern:/@[a-z_]\w*/i,alias:"function"},"attr-name":{pattern:/\b[a-z_]\w*(?=\s*(?:\((?:[^()"]|"(?:\\.|[^\\"\r\n])*")*\))?:)/i,greedy:!0},"atom-input":{pattern:/\b[A-Z]\w*Input\b/,alias:"class-name"},scalar:/\b(?:Boolean|Float|ID|Int|String)\b/,constant:/\b[A-Z][A-Z_\d]*\b/,"class-name":{pattern:/(\b(?:enum|implements|interface|on|scalar|type|union)\s+|&\s*|:\s*|\[)[A-Z_]\w*/,lookbehind:!0},fragment:{pattern:/(\bfragment\s+|\.{3}\s*(?!on\b))[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-mutation":{pattern:/(\bmutation\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},"definition-query":{pattern:/(\bquery\s+)[a-zA-Z_]\w*/,lookbehind:!0,alias:"function"},keyword:/\b(?:directive|enum|extend|fragment|implements|input|interface|mutation|on|query|repeatable|scalar|schema|subscription|type|union)\b/,operator:/[!=|&]|\.{3}/,"property-query":/\w+(?=\s*\()/,object:/\w+(?=\s*\{)/,punctuation:/[!(){}\[\]:=,]/,property:/\w+/},o.hooks.add("after-tokenize",(function(e){if("graphql"===e.language)for(var t=e.tokens.filter((function(e){return"string"!=typeof e&&"comment"!==e.type&&"scalar"!==e.type})),a=0;a0)){var i=u(/^\{$/,/^\}$/);if(-1===i)continue;for(var c=a;c=0&&m(l,"variable-input")}}}}function d(e){return t[a+e]}function p(e,t){t=t||0;for(var a=0;a?|<|>)?|>[>=]?|\b(?:AND|BETWEEN|DIV|ILIKE|IN|IS|LIKE|NOT|OR|REGEXP|RLIKE|SOUNDS LIKE|XOR)\b/i,punctuation:/[;[\]()`,.]/},function(e){var t=e.languages.javascript["template-string"],a=t.pattern.source,n=t.inside.interpolation,o=n.inside["interpolation-punctuation"],r=n.pattern.source;function s(t,n){if(e.languages[t])return{pattern:RegExp("((?:"+n+")\\s*)"+a),lookbehind:!0,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},"embedded-code":{pattern:/[\s\S]+/,alias:t}}}}function i(e,t){return"___"+t.toUpperCase()+"_"+e+"___"}function c(t,a,n){var o={code:t,grammar:a,language:n};return e.hooks.run("before-tokenize",o),o.tokens=e.tokenize(o.code,o.grammar),e.hooks.run("after-tokenize",o),o.tokens}function l(t){var a={};a["interpolation-punctuation"]=o;var r=e.tokenize(t,a);if(3===r.length){var s=[1,1];s.push.apply(s,c(r[1],e.languages.javascript,"javascript")),r.splice.apply(r,s)}return new e.Token("interpolation",r,n.alias,t)}function d(t,a,n){var o=e.tokenize(t,{interpolation:{pattern:RegExp(r),lookbehind:!0}}),s=0,d={},p=c(o.map((function(e){if("string"==typeof e)return e;for(var a,o=e.content;-1!==t.indexOf(a=i(s++,n)););return d[a]=o,a})).join(""),a,n),u=Object.keys(d);return s=0,function e(t){for(var a=0;a=u.length)return;var n=t[a];if("string"==typeof n||"string"==typeof n.content){var o=u[s],r="string"==typeof n?n:n.content,i=r.indexOf(o);if(-1!==i){++s;var c=r.substring(0,i),p=l(d[o]),m=r.substring(i+o.length),g=[];if(c&&g.push(c),g.push(p),m){var b=[m];e(b),g.push.apply(g,b)}"string"==typeof n?(t.splice.apply(t,[a,1].concat(g)),a+=g.length-1):n.content=g}}else{var f=n.content;Array.isArray(f)?e(f):e([f])}}}(p),new e.Token(n,p,"language-"+n,t)}e.languages.javascript["template-string"]=[s("css",/\b(?:styled(?:\([^)]*\))?(?:\s*\.\s*\w+(?:\([^)]*\))*)*|css(?:\s*\.\s*(?:global|resolve))?|createGlobalStyle|keyframes)/.source),s("html",/\bhtml|\.\s*(?:inner|outer)HTML\s*\+?=/.source),s("svg",/\bsvg/.source),s("markdown",/\b(?:markdown|md)/.source),s("graphql",/\b(?:gql|graphql(?:\s*\.\s*experimental)?)/.source),s("sql",/\bsql/.source),t].filter(Boolean);var p={javascript:!0,js:!0,typescript:!0,ts:!0,jsx:!0,tsx:!0};function u(e){return"string"==typeof e?e:Array.isArray(e)?e.map(u).join(""):u(e.content)}e.hooks.add("after-tokenize",(function(t){t.language in p&&function t(a){for(var n=0,o=a.length;n]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var t=e.languages.extend("typescript",{});delete t["class-name"],e.languages.typescript["class-name"].inside=t,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:t}}}}),e.languages.ts=e.languages.typescript}(o),function(e){function t(e,t){return RegExp(e.replace(//g,(function(){return/(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/.source})),t)}e.languages.insertBefore("javascript","function-variable",{"method-variable":{pattern:RegExp("(\\.\\s*)"+e.languages.javascript["function-variable"].pattern.source),lookbehind:!0,alias:["function-variable","method","function","property-access"]}}),e.languages.insertBefore("javascript","function",{method:{pattern:RegExp("(\\.\\s*)"+e.languages.javascript.function.source),lookbehind:!0,alias:["function","property-access"]}}),e.languages.insertBefore("javascript","constant",{"known-class-name":[{pattern:/\b(?:(?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)?Array|ArrayBuffer|BigInt|Boolean|DataView|Date|Error|Function|Intl|JSON|(?:Weak)?(?:Map|Set)|Math|Number|Object|Promise|Proxy|Reflect|RegExp|String|Symbol|WebAssembly)\b/,alias:"class-name"},{pattern:/\b(?:[A-Z]\w*)Error\b/,alias:"class-name"}]}),e.languages.insertBefore("javascript","keyword",{imports:{pattern:t(/(\bimport\b\s*)(?:(?:\s*,\s*(?:\*\s*as\s+|\{[^{}]*\}))?|\*\s*as\s+|\{[^{}]*\})(?=\s*\bfrom\b)/.source),lookbehind:!0,inside:e.languages.javascript},exports:{pattern:t(/(\bexport\b\s*)(?:\*(?:\s*as\s+)?(?=\s*\bfrom\b)|\{[^{}]*\})/.source),lookbehind:!0,inside:e.languages.javascript}}),e.languages.javascript.keyword.unshift({pattern:/\b(?:as|default|export|from|import)\b/,alias:"module"},{pattern:/\b(?:await|break|catch|continue|do|else|finally|for|if|return|switch|throw|try|while|yield)\b/,alias:"control-flow"},{pattern:/\bnull\b/,alias:["null","nil"]},{pattern:/\bundefined\b/,alias:"nil"}),e.languages.insertBefore("javascript","operator",{spread:{pattern:/\.{3}/,alias:"operator"},arrow:{pattern:/=>/,alias:"operator"}}),e.languages.insertBefore("javascript","punctuation",{"property-access":{pattern:t(/(\.\s*)#?/.source),lookbehind:!0},"maybe-class-name":{pattern:/(^|[^$\w\xA0-\uFFFF])[A-Z][$\w\xA0-\uFFFF]+/,lookbehind:!0},dom:{pattern:/\b(?:document|(?:local|session)Storage|location|navigator|performance|window)\b/,alias:"variable"},console:{pattern:/\bconsole(?=\s*\.)/,alias:"class-name"}});for(var a=["function","function-variable","method","method-variable","property-access"],n=0;n*\.{3}(?:[^{}]|)*\})/.source;function r(e,t){return e=e.replace(//g,(function(){return a})).replace(//g,(function(){return n})).replace(//g,(function(){return o})),RegExp(e,t)}o=r(o).source,e.languages.jsx=e.languages.extend("markup",t),e.languages.jsx.tag.pattern=r(/<\/?(?:[\w.:-]+(?:+(?:[\w.:$-]+(?:=(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s{'"/>=]+|))?|))**\/?)?>/.source),e.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,e.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,e.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,e.languages.jsx.tag.inside.comment=t.comment,e.languages.insertBefore("inside","attr-name",{spread:{pattern:r(//.source),inside:e.languages.jsx}},e.languages.jsx.tag),e.languages.insertBefore("inside","special-attr",{script:{pattern:r(/=/.source),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:e.languages.jsx}}},e.languages.jsx.tag);var s=function(e){return e?"string"==typeof e?e:"string"==typeof e.content?e.content:e.content.map(s).join(""):""},i=function(t){for(var a=[],n=0;n0&&a[a.length-1].tagName===s(o.content[0].content[1])&&a.pop():"/>"===o.content[o.content.length-1].content||a.push({tagName:s(o.content[0].content[1]),openedBraces:0}):a.length>0&&"punctuation"===o.type&&"{"===o.content?a[a.length-1].openedBraces++:a.length>0&&a[a.length-1].openedBraces>0&&"punctuation"===o.type&&"}"===o.content?a[a.length-1].openedBraces--:r=!0),(r||"string"==typeof o)&&a.length>0&&0===a[a.length-1].openedBraces){var c=s(o);n0&&("string"==typeof t[n-1]||"plain-text"===t[n-1].type)&&(c=s(t[n-1])+c,t.splice(n-1,1),n--),t[n]=new e.Token("plain-text",c,null,c)}o.content&&"string"!=typeof o.content&&i(o.content)}};e.hooks.add("after-tokenize",(function(e){"jsx"!==e.language&&"tsx"!==e.language||i(e.tokens)}))}(o),function(e){e.languages.diff={coord:[/^(?:\*{3}|-{3}|\+{3}).*$/m,/^@@.*@@$/m,/^\d.*$/m]};var t={"deleted-sign":"-","deleted-arrow":"<","inserted-sign":"+","inserted-arrow":">",unchanged:" ",diff:"!"};Object.keys(t).forEach((function(a){var n=t[a],o=[];/^\w+$/.test(a)||o.push(/\w+/.exec(a)[0]),"diff"===a&&o.push("bold"),e.languages.diff[a]={pattern:RegExp("^(?:["+n+"].*(?:\r\n?|\n|(?![\\s\\S])))+","m"),alias:o,inside:{line:{pattern:/(.)(?=[\s\S]).*(?:\r\n?|\n)?/,lookbehind:!0},prefix:{pattern:/[\s\S]/,alias:/\w+/.exec(a)[0]}}}})),Object.defineProperty(e.languages.diff,"PREFIXES",{value:t})}(o),o.languages.git={comment:/^#.*/m,deleted:/^[-\u2013].*/m,inserted:/^\+.*/m,string:/("|')(?:\\.|(?!\1)[^\\\r\n])*\1/,command:{pattern:/^.*\$ git .*$/m,inside:{parameter:/\s--?\w+/}},coord:/^@@.*@@$/m,"commit-sha1":/^commit \w{40}$/m},o.languages.go=o.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"|`[^`]*`/,lookbehind:!0,greedy:!0},keyword:/\b(?:break|case|chan|const|continue|default|defer|else|fallthrough|for|func|go(?:to)?|if|import|interface|map|package|range|return|select|struct|switch|type|var)\b/,boolean:/\b(?:_|false|iota|nil|true)\b/,number:[/\b0(?:b[01_]+|o[0-7_]+)i?\b/i,/\b0x(?:[a-f\d_]+(?:\.[a-f\d_]*)?|\.[a-f\d_]+)(?:p[+-]?\d+(?:_\d+)*)?i?(?!\w)/i,/(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?[\d_]+)?i?(?!\w)/i],operator:/[*\/%^!=]=?|\+[=+]?|-[=-]?|\|[=|]?|&(?:=|&|\^=?)?|>(?:>=?|=)?|<(?:<=?|=|-)?|:=|\.\.\./,builtin:/\b(?:append|bool|byte|cap|close|complex|complex(?:64|128)|copy|delete|error|float(?:32|64)|u?int(?:8|16|32|64)?|imag|len|make|new|panic|print(?:ln)?|real|recover|rune|string|uintptr)\b/}),o.languages.insertBefore("go","string",{char:{pattern:/'(?:\\.|[^'\\\r\n]){0,10}'/,greedy:!0}}),delete o.languages.go["class-name"],function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(a,n,o,r){if(a.language===n){var s=a.tokenStack=[];a.code=a.code.replace(o,(function(e){if("function"==typeof r&&!r(e))return e;for(var o,i=s.length;-1!==a.code.indexOf(o=t(n,i));)++i;return s[i]=e,o})),a.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(a,n){if(a.language===n&&a.tokenStack){a.grammar=e.languages[n];var o=0,r=Object.keys(a.tokenStack);!function s(i){for(var c=0;c=r.length);c++){var l=i[c];if("string"==typeof l||l.content&&"string"==typeof l.content){var d=r[o],p=a.tokenStack[d],u="string"==typeof l?l:l.content,m=t(n,d),g=u.indexOf(m);if(g>-1){++o;var b=u.substring(0,g),f=new e.Token(n,e.tokenize(p,a.grammar),"language-"+n,p),h=u.substring(g+m.length),y=[];b&&y.push.apply(y,s([b])),y.push(f),h&&y.push.apply(y,s([h])),"string"==typeof l?i.splice.apply(i,[c,1].concat(y)):l.content=y}}else l.content&&s(l.content)}return i}(a.tokens)}}}})}(o),function(e){e.languages.handlebars={comment:/\{\{![\s\S]*?\}\}/,delimiter:{pattern:/^\{\{\{?|\}\}\}?$/,alias:"punctuation"},string:/(["'])(?:\\.|(?!\1)[^\\\r\n])*\1/,number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee][+-]?\d+)?/,boolean:/\b(?:false|true)\b/,block:{pattern:/^(\s*(?:~\s*)?)[#\/]\S+?(?=\s*(?:~\s*)?$|\s)/,lookbehind:!0,alias:"keyword"},brackets:{pattern:/\[[^\]]+\]/,inside:{punctuation:/\[|\]/,variable:/[\s\S]+/}},punctuation:/[!"#%&':()*+,.\/;<=>@\[\\\]^`{|}~]/,variable:/[^!"#%&'()*+,\/;<=>@\[\\\]^`{|}~\s]+/},e.hooks.add("before-tokenize",(function(t){e.languages["markup-templating"].buildPlaceholders(t,"handlebars",/\{\{\{[\s\S]+?\}\}\}|\{\{[\s\S]+?\}\}/g)})),e.hooks.add("after-tokenize",(function(t){e.languages["markup-templating"].tokenizePlaceholders(t,"handlebars")})),e.languages.hbs=e.languages.handlebars}(o),o.languages.json={property:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,lookbehind:!0,greedy:!0},string:{pattern:/(^|[^\\])"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,lookbehind:!0,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},o.languages.webmanifest=o.languages.json,o.languages.less=o.languages.extend("css",{comment:[/\/\*[\s\S]*?\*\//,{pattern:/(^|[^\\])\/\/.*/,lookbehind:!0}],atrule:{pattern:/@[\w-](?:\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{punctuation:/[:()]/}},selector:{pattern:/(?:@\{[\w-]+\}|[^{};\s@])(?:@\{[\w-]+\}|\((?:[^(){}]|\([^(){}]*\))*\)|[^(){};@\s]|\s+(?!\s))*?(?=\s*\{)/,inside:{variable:/@+[\w-]+/}},property:/(?:@\{[\w-]+\}|[\w-])+(?:\+_?)?(?=\s*:)/,operator:/[+\-*\/]/}),o.languages.insertBefore("less","property",{variable:[{pattern:/@[\w-]+\s*:/,inside:{punctuation:/:/}},/@@?[\w-]+/],"mixin-usage":{pattern:/([{;]\s*)[.#](?!\d)[\w-].*?(?=[(;])/,lookbehind:!0,alias:"function"}}),o.languages.makefile={comment:{pattern:/(^|[^\\])#(?:\\(?:\r\n|[\s\S])|[^\\\r\n])*/,lookbehind:!0},string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"builtin-target":{pattern:/\.[A-Z][^:#=\s]+(?=\s*:(?!=))/,alias:"builtin"},target:{pattern:/^(?:[^:=\s]|[ \t]+(?![\s:]))+(?=\s*:(?!=))/m,alias:"symbol",inside:{variable:/\$+(?:(?!\$)[^(){}:#=\s]+|(?=[({]))/}},variable:/\$+(?:(?!\$)[^(){}:#=\s]+|\([@*%<^+?][DF]\)|(?=[({]))/,keyword:/-include\b|\b(?:define|else|endef|endif|export|ifn?def|ifn?eq|include|override|private|sinclude|undefine|unexport|vpath)\b/,function:{pattern:/(\()(?:abspath|addsuffix|and|basename|call|dir|error|eval|file|filter(?:-out)?|findstring|firstword|flavor|foreach|guile|if|info|join|lastword|load|notdir|or|origin|patsubst|realpath|shell|sort|strip|subst|suffix|value|warning|wildcard|word(?:list|s)?)(?=[ \t])/,lookbehind:!0},operator:/(?:::|[?:+!])?=|[|@]/,punctuation:/[:;(){}]/},o.languages.objectivec=o.languages.extend("c",{string:{pattern:/@?"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"/,greedy:!0},keyword:/\b(?:asm|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|in|inline|int|long|register|return|self|short|signed|sizeof|static|struct|super|switch|typedef|typeof|union|unsigned|void|volatile|while)\b|(?:@interface|@end|@implementation|@protocol|@class|@public|@protected|@private|@property|@try|@catch|@finally|@throw|@synthesize|@dynamic|@selector)\b/,operator:/-[->]?|\+\+?|!=?|<>?=?|==?|&&?|\|\|?|[~^%?*\/@]/}),delete o.languages.objectivec["class-name"],o.languages.objc=o.languages.objectivec,o.languages.ocaml={comment:{pattern:/\(\*[\s\S]*?\*\)/,greedy:!0},char:{pattern:/'(?:[^\\\r\n']|\\(?:.|[ox]?[0-9a-f]{1,3}))'/i,greedy:!0},string:[{pattern:/"(?:\\(?:[\s\S]|\r\n)|[^\\\r\n"])*"/,greedy:!0},{pattern:/\{([a-z_]*)\|[\s\S]*?\|\1\}/,greedy:!0}],number:[/\b(?:0b[01][01_]*|0o[0-7][0-7_]*)\b/i,/\b0x[a-f0-9][a-f0-9_]*(?:\.[a-f0-9_]*)?(?:p[+-]?\d[\d_]*)?(?!\w)/i,/\b\d[\d_]*(?:\.[\d_]*)?(?:e[+-]?\d[\d_]*)?(?!\w)/i],directive:{pattern:/\B#\w+/,alias:"property"},label:{pattern:/\B~\w+/,alias:"property"},"type-variable":{pattern:/\B'\w+/,alias:"function"},variant:{pattern:/`\w+/,alias:"symbol"},keyword:/\b(?:as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|match|method|module|mutable|new|nonrec|object|of|open|private|rec|sig|struct|then|to|try|type|val|value|virtual|when|where|while|with)\b/,boolean:/\b(?:false|true)\b/,"operator-like-punctuation":{pattern:/\[[<>|]|[>|]\]|\{<|>\}/,alias:"punctuation"},operator:/\.[.~]|:[=>]|[=<>@^|&+\-*\/$%!?~][!$%&*+\-.\/:<=>?@^|~]*|\b(?:and|asr|land|lor|lsl|lsr|lxor|mod|or)\b/,punctuation:/;;|::|[(){}\[\].,:;#]|\b_\b/},o.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0,greedy:!0},"string-interpolation":{pattern:/(?:f|fr|rf)(?:("""|''')[\s\S]*?\1|("|')(?:\\.|(?!\2)[^\\\r\n])*\2)/i,greedy:!0,inside:{interpolation:{pattern:/((?:^|[^{])(?:\{\{)*)\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}]|\{(?!\{)(?:[^{}])+\})+\})+\}/,lookbehind:!0,inside:{"format-spec":{pattern:/(:)[^:(){}]+(?=\}$)/,lookbehind:!0},"conversion-option":{pattern:/![sra](?=[:}]$)/,alias:"punctuation"},rest:null}},string:/[\s\S]+/}},"triple-quoted-string":{pattern:/(?:[rub]|br|rb)?("""|''')[\s\S]*?\1/i,greedy:!0,alias:"string"},string:{pattern:/(?:[rub]|br|rb)?("|')(?:\\.|(?!\1)[^\\\r\n])*\1/i,greedy:!0},function:{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_]\w*(?=\s*\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)\w+/i,lookbehind:!0},decorator:{pattern:/(^[\t ]*)@\w+(?:\.\w+)*/m,lookbehind:!0,alias:["annotation","punctuation"],inside:{punctuation:/\./}},keyword:/\b(?:_(?=\s*:)|and|as|assert|async|await|break|case|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|match|nonlocal|not|or|pass|print|raise|return|try|while|with|yield)\b/,builtin:/\b(?:__import__|abs|all|any|apply|ascii|basestring|bin|bool|buffer|bytearray|bytes|callable|chr|classmethod|cmp|coerce|compile|complex|delattr|dict|dir|divmod|enumerate|eval|execfile|file|filter|float|format|frozenset|getattr|globals|hasattr|hash|help|hex|id|input|int|intern|isinstance|issubclass|iter|len|list|locals|long|map|max|memoryview|min|next|object|oct|open|ord|pow|property|range|raw_input|reduce|reload|repr|reversed|round|set|setattr|slice|sorted|staticmethod|str|sum|super|tuple|type|unichr|unicode|vars|xrange|zip)\b/,boolean:/\b(?:False|None|True)\b/,number:/\b0(?:b(?:_?[01])+|o(?:_?[0-7])+|x(?:_?[a-f0-9])+)\b|(?:\b\d+(?:_\d+)*(?:\.(?:\d+(?:_\d+)*)?)?|\B\.\d+(?:_\d+)*)(?:e[+-]?\d+(?:_\d+)*)?j?(?!\w)/i,operator:/[-+%=]=?|!=|:=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]/,punctuation:/[{}[\];(),.:]/},o.languages.python["string-interpolation"].inside.interpolation.inside.rest=o.languages.python,o.languages.py=o.languages.python,o.languages.reason=o.languages.extend("clike",{string:{pattern:/"(?:\\(?:\r\n|[\s\S])|[^\\\r\n"])*"/,greedy:!0},"class-name":/\b[A-Z]\w*/,keyword:/\b(?:and|as|assert|begin|class|constraint|do|done|downto|else|end|exception|external|for|fun|function|functor|if|in|include|inherit|initializer|lazy|let|method|module|mutable|new|nonrec|object|of|open|or|private|rec|sig|struct|switch|then|to|try|type|val|virtual|when|while|with)\b/,operator:/\.{3}|:[:=]|\|>|->|=(?:==?|>)?|<=?|>=?|[|^?'#!~`]|[+\-*\/]\.?|\b(?:asr|land|lor|lsl|lsr|lxor|mod)\b/}),o.languages.insertBefore("reason","class-name",{char:{pattern:/'(?:\\x[\da-f]{2}|\\o[0-3][0-7][0-7]|\\\d{3}|\\.|[^'\\\r\n])'/,greedy:!0},constructor:/\b[A-Z]\w*\b(?!\s*\.)/,label:{pattern:/\b[a-z]\w*(?=::)/,alias:"symbol"}}),delete o.languages.reason.function,function(e){e.languages.sass=e.languages.extend("css",{comment:{pattern:/^([ \t]*)\/[\/*].*(?:(?:\r?\n|\r)\1[ \t].+)*/m,lookbehind:!0,greedy:!0}}),e.languages.insertBefore("sass","atrule",{"atrule-line":{pattern:/^(?:[ \t]*)[@+=].+/m,greedy:!0,inside:{atrule:/(?:@[\w-]+|[+=])/}}}),delete e.languages.sass.atrule;var t=/\$[-\w]+|#\{\$[-\w]+\}/,a=[/[+*\/%]|[=!]=|<=?|>=?|\b(?:and|not|or)\b/,{pattern:/(\s)-(?=\s)/,lookbehind:!0}];e.languages.insertBefore("sass","property",{"variable-line":{pattern:/^[ \t]*\$.+/m,greedy:!0,inside:{punctuation:/:/,variable:t,operator:a}},"property-line":{pattern:/^[ \t]*(?:[^:\s]+ *:.*|:[^:\s].*)/m,greedy:!0,inside:{property:[/[^:\s]+(?=\s*:)/,{pattern:/(:)[^:\s]+/,lookbehind:!0}],punctuation:/:/,variable:t,operator:a,important:e.languages.sass.important}}}),delete e.languages.sass.property,delete e.languages.sass.important,e.languages.insertBefore("sass","punctuation",{selector:{pattern:/^([ \t]*)\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*(?:,(?:\r?\n|\r)\1[ \t]+\S(?:,[^,\r\n]+|[^,\r\n]*)(?:,[^,\r\n]+)*)*/m,lookbehind:!0,greedy:!0}})}(o),o.languages.scss=o.languages.extend("css",{comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},atrule:{pattern:/@[\w-](?:\([^()]+\)|[^()\s]|\s+(?!\s))*?(?=\s+[{;])/,inside:{rule:/@[\w-]+/}},url:/(?:[-a-z]+-)?url(?=\()/i,selector:{pattern:/(?=\S)[^@;{}()]?(?:[^@;{}()\s]|\s+(?!\s)|#\{\$[-\w]+\})+(?=\s*\{(?:\}|\s|[^}][^:{}]*[:{][^}]))/,inside:{parent:{pattern:/&/,alias:"important"},placeholder:/%[-\w]+/,variable:/\$[-\w]+|#\{\$[-\w]+\}/}},property:{pattern:/(?:[-\w]|\$[-\w]|#\{\$[-\w]+\})+(?=\s*:)/,inside:{variable:/\$[-\w]+|#\{\$[-\w]+\}/}}}),o.languages.insertBefore("scss","atrule",{keyword:[/@(?:content|debug|each|else(?: if)?|extend|for|forward|function|if|import|include|mixin|return|use|warn|while)\b/i,{pattern:/( )(?:from|through)(?= )/,lookbehind:!0}]}),o.languages.insertBefore("scss","important",{variable:/\$[-\w]+|#\{\$[-\w]+\}/}),o.languages.insertBefore("scss","function",{"module-modifier":{pattern:/\b(?:as|hide|show|with)\b/i,alias:"keyword"},placeholder:{pattern:/%[-\w]+/,alias:"selector"},statement:{pattern:/\B!(?:default|optional)\b/i,alias:"keyword"},boolean:/\b(?:false|true)\b/,null:{pattern:/\bnull\b/,alias:"keyword"},operator:{pattern:/(\s)(?:[-+*\/%]|[=!]=|<=?|>=?|and|not|or)(?=\s)/,lookbehind:!0}}),o.languages.scss.atrule.inside.rest=o.languages.scss,function(e){var t={pattern:/(\b\d+)(?:%|[a-z]+)/,lookbehind:!0},a={pattern:/(^|[^\w.-])-?(?:\d+(?:\.\d+)?|\.\d+)/,lookbehind:!0},n={comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0},url:{pattern:/\burl\((["']?).*?\1\)/i,greedy:!0},string:{pattern:/("|')(?:(?!\1)[^\\\r\n]|\\(?:\r\n|[\s\S]))*\1/,greedy:!0},interpolation:null,func:null,important:/\B!(?:important|optional)\b/i,keyword:{pattern:/(^|\s+)(?:(?:else|for|if|return|unless)(?=\s|$)|@[\w-]+)/,lookbehind:!0},hexcode:/#[\da-f]{3,6}/i,color:[/\b(?:AliceBlue|AntiqueWhite|Aqua|Aquamarine|Azure|Beige|Bisque|Black|BlanchedAlmond|Blue|BlueViolet|Brown|BurlyWood|CadetBlue|Chartreuse|Chocolate|Coral|CornflowerBlue|Cornsilk|Crimson|Cyan|DarkBlue|DarkCyan|DarkGoldenRod|DarkGr[ae]y|DarkGreen|DarkKhaki|DarkMagenta|DarkOliveGreen|DarkOrange|DarkOrchid|DarkRed|DarkSalmon|DarkSeaGreen|DarkSlateBlue|DarkSlateGr[ae]y|DarkTurquoise|DarkViolet|DeepPink|DeepSkyBlue|DimGr[ae]y|DodgerBlue|FireBrick|FloralWhite|ForestGreen|Fuchsia|Gainsboro|GhostWhite|Gold|GoldenRod|Gr[ae]y|Green|GreenYellow|HoneyDew|HotPink|IndianRed|Indigo|Ivory|Khaki|Lavender|LavenderBlush|LawnGreen|LemonChiffon|LightBlue|LightCoral|LightCyan|LightGoldenRodYellow|LightGr[ae]y|LightGreen|LightPink|LightSalmon|LightSeaGreen|LightSkyBlue|LightSlateGr[ae]y|LightSteelBlue|LightYellow|Lime|LimeGreen|Linen|Magenta|Maroon|MediumAquaMarine|MediumBlue|MediumOrchid|MediumPurple|MediumSeaGreen|MediumSlateBlue|MediumSpringGreen|MediumTurquoise|MediumVioletRed|MidnightBlue|MintCream|MistyRose|Moccasin|NavajoWhite|Navy|OldLace|Olive|OliveDrab|Orange|OrangeRed|Orchid|PaleGoldenRod|PaleGreen|PaleTurquoise|PaleVioletRed|PapayaWhip|PeachPuff|Peru|Pink|Plum|PowderBlue|Purple|Red|RosyBrown|RoyalBlue|SaddleBrown|Salmon|SandyBrown|SeaGreen|SeaShell|Sienna|Silver|SkyBlue|SlateBlue|SlateGr[ae]y|Snow|SpringGreen|SteelBlue|Tan|Teal|Thistle|Tomato|Transparent|Turquoise|Violet|Wheat|White|WhiteSmoke|Yellow|YellowGreen)\b/i,{pattern:/\b(?:hsl|rgb)\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*\)\B|\b(?:hsl|rgb)a\(\s*\d{1,3}\s*,\s*\d{1,3}%?\s*,\s*\d{1,3}%?\s*,\s*(?:0|0?\.\d+|1)\s*\)\B/i,inside:{unit:t,number:a,function:/[\w-]+(?=\()/,punctuation:/[(),]/}}],entity:/\\[\da-f]{1,8}/i,unit:t,boolean:/\b(?:false|true)\b/,operator:[/~|[+!\/%<>?=]=?|[-:]=|\*[*=]?|\.{2,3}|&&|\|\||\B-\B|\b(?:and|in|is(?: a| defined| not|nt)?|not|or)\b/],number:a,punctuation:/[{}()\[\];:,]/};n.interpolation={pattern:/\{[^\r\n}:]+\}/,alias:"variable",inside:{delimiter:{pattern:/^\{|\}$/,alias:"punctuation"},rest:n}},n.func={pattern:/[\w-]+\([^)]*\).*/,inside:{function:/^[^(]+/,rest:n}},e.languages.stylus={"atrule-declaration":{pattern:/(^[ \t]*)@.+/m,lookbehind:!0,inside:{atrule:/^@[\w-]+/,rest:n}},"variable-declaration":{pattern:/(^[ \t]*)[\w$-]+\s*.?=[ \t]*(?:\{[^{}]*\}|\S.*|$)/m,lookbehind:!0,inside:{variable:/^\S+/,rest:n}},statement:{pattern:/(^[ \t]*)(?:else|for|if|return|unless)[ \t].+/m,lookbehind:!0,inside:{keyword:/^\S+/,rest:n}},"property-declaration":{pattern:/((?:^|\{)([ \t]*))(?:[\w-]|\{[^}\r\n]+\})+(?:\s*:\s*|[ \t]+)(?!\s)[^{\r\n]*(?:;|[^{\r\n,]$(?!(?:\r?\n|\r)(?:\{|\2[ \t])))/m,lookbehind:!0,inside:{property:{pattern:/^[^\s:]+/,inside:{interpolation:n.interpolation}},rest:n}},selector:{pattern:/(^[ \t]*)(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)(?:(?:\r?\n|\r)(?:\1(?:(?=\S)(?:[^{}\r\n:()]|::?[\w-]+(?:\([^)\r\n]*\)|(?![\w-]))|\{[^}\r\n]+\})+)))*(?:,$|\{|(?=(?:\r?\n|\r)(?:\{|\1[ \t])))/m,lookbehind:!0,inside:{interpolation:n.interpolation,comment:n.comment,punctuation:/[{},]/}},func:n.func,string:n.string,comment:{pattern:/(^|[^\\])(?:\/\*[\s\S]*?\*\/|\/\/.*)/,lookbehind:!0,greedy:!0},interpolation:n.interpolation,punctuation:/[{}()\[\];:.]/}}(o),function(e){var t=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",t),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var a=e.languages.tsx.tag;a.pattern=RegExp(/(^|[^\w$]|(?=<\/))/.source+"(?:"+a.pattern.source+")",a.pattern.flags),a.lookbehind=!0}(o),o.languages.wasm={comment:[/\(;[\s\S]*?;\)/,{pattern:/;;.*/,greedy:!0}],string:{pattern:/"(?:\\[\s\S]|[^"\\])*"/,greedy:!0},keyword:[{pattern:/\b(?:align|offset)=/,inside:{operator:/=/}},{pattern:/\b(?:(?:f32|f64|i32|i64)(?:\.(?:abs|add|and|ceil|clz|const|convert_[su]\/i(?:32|64)|copysign|ctz|demote\/f64|div(?:_[su])?|eqz?|extend_[su]\/i32|floor|ge(?:_[su])?|gt(?:_[su])?|le(?:_[su])?|load(?:(?:8|16|32)_[su])?|lt(?:_[su])?|max|min|mul|neg?|nearest|or|popcnt|promote\/f32|reinterpret\/[fi](?:32|64)|rem_[su]|rot[lr]|shl|shr_[su]|sqrt|store(?:8|16|32)?|sub|trunc(?:_[su]\/f(?:32|64))?|wrap\/i64|xor))?|memory\.(?:grow|size))\b/,inside:{punctuation:/\./}},/\b(?:anyfunc|block|br(?:_if|_table)?|call(?:_indirect)?|data|drop|elem|else|end|export|func|get_(?:global|local)|global|if|import|local|loop|memory|module|mut|nop|offset|param|result|return|select|set_(?:global|local)|start|table|tee_local|then|type|unreachable)\b/],variable:/\$[\w!#$%&'*+\-./:<=>?@\\^`|~]+/,number:/[+-]?\b(?:\d(?:_?\d)*(?:\.\d(?:_?\d)*)?(?:[eE][+-]?\d(?:_?\d)*)?|0x[\da-fA-F](?:_?[\da-fA-F])*(?:\.[\da-fA-F](?:_?[\da-fA-D])*)?(?:[pP][+-]?\d(?:_?\d)*)?)\b|\binf\b|\bnan(?::0x[\da-fA-F](?:_?[\da-fA-D])*)?\b/,punctuation:/[()]/};const r=o},29901:e=>{e.exports&&(e.exports={core:{meta:{path:"components/prism-core.js",option:"mandatory"},core:"Core"},themes:{meta:{path:"themes/{id}.css",link:"index.html?theme={id}",exclusive:!0},prism:{title:"Default",option:"default"},"prism-dark":"Dark","prism-funky":"Funky","prism-okaidia":{title:"Okaidia",owner:"ocodia"},"prism-twilight":{title:"Twilight",owner:"remybach"},"prism-coy":{title:"Coy",owner:"tshedor"},"prism-solarizedlight":{title:"Solarized Light",owner:"hectormatos2011 "},"prism-tomorrow":{title:"Tomorrow Night",owner:"Rosey"}},languages:{meta:{path:"components/prism-{id}",noCSS:!0,examplesPath:"examples/prism-{id}",addCheckAll:!0},markup:{title:"Markup",alias:["html","xml","svg","mathml","ssml","atom","rss"],aliasTitles:{html:"HTML",xml:"XML",svg:"SVG",mathml:"MathML",ssml:"SSML",atom:"Atom",rss:"RSS"},option:"default"},css:{title:"CSS",option:"default",modify:"markup"},clike:{title:"C-like",option:"default"},javascript:{title:"JavaScript",require:"clike",modify:"markup",optional:"regex",alias:"js",option:"default"},abap:{title:"ABAP",owner:"dellagustin"},abnf:{title:"ABNF",owner:"RunDevelopment"},actionscript:{title:"ActionScript",require:"javascript",modify:"markup",owner:"Golmote"},ada:{title:"Ada",owner:"Lucretia"},agda:{title:"Agda",owner:"xy-ren"},al:{title:"AL",owner:"RunDevelopment"},antlr4:{title:"ANTLR4",alias:"g4",owner:"RunDevelopment"},apacheconf:{title:"Apache Configuration",owner:"GuiTeK"},apex:{title:"Apex",require:["clike","sql"],owner:"RunDevelopment"},apl:{title:"APL",owner:"ngn"},applescript:{title:"AppleScript",owner:"Golmote"},aql:{title:"AQL",owner:"RunDevelopment"},arduino:{title:"Arduino",require:"cpp",alias:"ino",owner:"dkern"},arff:{title:"ARFF",owner:"Golmote"},armasm:{title:"ARM Assembly",alias:"arm-asm",owner:"RunDevelopment"},arturo:{title:"Arturo",alias:"art",optional:["bash","css","javascript","markup","markdown","sql"],owner:"drkameleon"},asciidoc:{alias:"adoc",title:"AsciiDoc",owner:"Golmote"},aspnet:{title:"ASP.NET (C#)",require:["markup","csharp"],owner:"nauzilus"},asm6502:{title:"6502 Assembly",owner:"kzurawel"},asmatmel:{title:"Atmel AVR Assembly",owner:"cerkit"},autohotkey:{title:"AutoHotkey",owner:"aviaryan"},autoit:{title:"AutoIt",owner:"Golmote"},avisynth:{title:"AviSynth",alias:"avs",owner:"Zinfidel"},"avro-idl":{title:"Avro IDL",alias:"avdl",owner:"RunDevelopment"},awk:{title:"AWK",alias:"gawk",aliasTitles:{gawk:"GAWK"},owner:"RunDevelopment"},bash:{title:"Bash",alias:["sh","shell"],aliasTitles:{sh:"Shell",shell:"Shell"},owner:"zeitgeist87"},basic:{title:"BASIC",owner:"Golmote"},batch:{title:"Batch",owner:"Golmote"},bbcode:{title:"BBcode",alias:"shortcode",aliasTitles:{shortcode:"Shortcode"},owner:"RunDevelopment"},bbj:{title:"BBj",owner:"hyyan"},bicep:{title:"Bicep",owner:"johnnyreilly"},birb:{title:"Birb",require:"clike",owner:"Calamity210"},bison:{title:"Bison",require:"c",owner:"Golmote"},bnf:{title:"BNF",alias:"rbnf",aliasTitles:{rbnf:"RBNF"},owner:"RunDevelopment"},bqn:{title:"BQN",owner:"yewscion"},brainfuck:{title:"Brainfuck",owner:"Golmote"},brightscript:{title:"BrightScript",owner:"RunDevelopment"},bro:{title:"Bro",owner:"wayward710"},bsl:{title:"BSL (1C:Enterprise)",alias:"oscript",aliasTitles:{oscript:"OneScript"},owner:"Diversus23"},c:{title:"C",require:"clike",owner:"zeitgeist87"},csharp:{title:"C#",require:"clike",alias:["cs","dotnet"],owner:"mvalipour"},cpp:{title:"C++",require:"c",owner:"zeitgeist87"},cfscript:{title:"CFScript",require:"clike",alias:"cfc",owner:"mjclemente"},chaiscript:{title:"ChaiScript",require:["clike","cpp"],owner:"RunDevelopment"},cil:{title:"CIL",owner:"sbrl"},cilkc:{title:"Cilk/C",require:"c",alias:"cilk-c",owner:"OpenCilk"},cilkcpp:{title:"Cilk/C++",require:"cpp",alias:["cilk-cpp","cilk"],owner:"OpenCilk"},clojure:{title:"Clojure",owner:"troglotit"},cmake:{title:"CMake",owner:"mjrogozinski"},cobol:{title:"COBOL",owner:"RunDevelopment"},coffeescript:{title:"CoffeeScript",require:"javascript",alias:"coffee",owner:"R-osey"},concurnas:{title:"Concurnas",alias:"conc",owner:"jasontatton"},csp:{title:"Content-Security-Policy",owner:"ScottHelme"},cooklang:{title:"Cooklang",owner:"ahue"},coq:{title:"Coq",owner:"RunDevelopment"},crystal:{title:"Crystal",require:"ruby",owner:"MakeNowJust"},"css-extras":{title:"CSS Extras",require:"css",modify:"css",owner:"milesj"},csv:{title:"CSV",owner:"RunDevelopment"},cue:{title:"CUE",owner:"RunDevelopment"},cypher:{title:"Cypher",owner:"RunDevelopment"},d:{title:"D",require:"clike",owner:"Golmote"},dart:{title:"Dart",require:"clike",owner:"Golmote"},dataweave:{title:"DataWeave",owner:"machaval"},dax:{title:"DAX",owner:"peterbud"},dhall:{title:"Dhall",owner:"RunDevelopment"},diff:{title:"Diff",owner:"uranusjr"},django:{title:"Django/Jinja2",require:"markup-templating",alias:"jinja2",owner:"romanvm"},"dns-zone-file":{title:"DNS zone file",owner:"RunDevelopment",alias:"dns-zone"},docker:{title:"Docker",alias:"dockerfile",owner:"JustinBeckwith"},dot:{title:"DOT (Graphviz)",alias:"gv",optional:"markup",owner:"RunDevelopment"},ebnf:{title:"EBNF",owner:"RunDevelopment"},editorconfig:{title:"EditorConfig",owner:"osipxd"},eiffel:{title:"Eiffel",owner:"Conaclos"},ejs:{title:"EJS",require:["javascript","markup-templating"],owner:"RunDevelopment",alias:"eta",aliasTitles:{eta:"Eta"}},elixir:{title:"Elixir",owner:"Golmote"},elm:{title:"Elm",owner:"zwilias"},etlua:{title:"Embedded Lua templating",require:["lua","markup-templating"],owner:"RunDevelopment"},erb:{title:"ERB",require:["ruby","markup-templating"],owner:"Golmote"},erlang:{title:"Erlang",owner:"Golmote"},"excel-formula":{title:"Excel Formula",alias:["xlsx","xls"],owner:"RunDevelopment"},fsharp:{title:"F#",require:"clike",owner:"simonreynolds7"},factor:{title:"Factor",owner:"catb0t"},false:{title:"False",owner:"edukisto"},"firestore-security-rules":{title:"Firestore security rules",require:"clike",owner:"RunDevelopment"},flow:{title:"Flow",require:"javascript",owner:"Golmote"},fortran:{title:"Fortran",owner:"Golmote"},ftl:{title:"FreeMarker Template Language",require:"markup-templating",owner:"RunDevelopment"},gml:{title:"GameMaker Language",alias:"gamemakerlanguage",require:"clike",owner:"LiarOnce"},gap:{title:"GAP (CAS)",owner:"RunDevelopment"},gcode:{title:"G-code",owner:"RunDevelopment"},gdscript:{title:"GDScript",owner:"RunDevelopment"},gedcom:{title:"GEDCOM",owner:"Golmote"},gettext:{title:"gettext",alias:"po",owner:"RunDevelopment"},gherkin:{title:"Gherkin",owner:"hason"},git:{title:"Git",owner:"lgiraudel"},glsl:{title:"GLSL",require:"c",owner:"Golmote"},gn:{title:"GN",alias:"gni",owner:"RunDevelopment"},"linker-script":{title:"GNU Linker Script",alias:"ld",owner:"RunDevelopment"},go:{title:"Go",require:"clike",owner:"arnehormann"},"go-module":{title:"Go module",alias:"go-mod",owner:"RunDevelopment"},gradle:{title:"Gradle",require:"clike",owner:"zeabdelkhalek-badido18"},graphql:{title:"GraphQL",optional:"markdown",owner:"Golmote"},groovy:{title:"Groovy",require:"clike",owner:"robfletcher"},haml:{title:"Haml",require:"ruby",optional:["css","css-extras","coffeescript","erb","javascript","less","markdown","scss","textile"],owner:"Golmote"},handlebars:{title:"Handlebars",require:"markup-templating",alias:["hbs","mustache"],aliasTitles:{mustache:"Mustache"},owner:"Golmote"},haskell:{title:"Haskell",alias:"hs",owner:"bholst"},haxe:{title:"Haxe",require:"clike",optional:"regex",owner:"Golmote"},hcl:{title:"HCL",owner:"outsideris"},hlsl:{title:"HLSL",require:"c",owner:"RunDevelopment"},hoon:{title:"Hoon",owner:"matildepark"},http:{title:"HTTP",optional:["csp","css","hpkp","hsts","javascript","json","markup","uri"],owner:"danielgtaylor"},hpkp:{title:"HTTP Public-Key-Pins",owner:"ScottHelme"},hsts:{title:"HTTP Strict-Transport-Security",owner:"ScottHelme"},ichigojam:{title:"IchigoJam",owner:"BlueCocoa"},icon:{title:"Icon",owner:"Golmote"},"icu-message-format":{title:"ICU Message Format",owner:"RunDevelopment"},idris:{title:"Idris",alias:"idr",owner:"KeenS",require:"haskell"},ignore:{title:".ignore",owner:"osipxd",alias:["gitignore","hgignore","npmignore"],aliasTitles:{gitignore:".gitignore",hgignore:".hgignore",npmignore:".npmignore"}},inform7:{title:"Inform 7",owner:"Golmote"},ini:{title:"Ini",owner:"aviaryan"},io:{title:"Io",owner:"AlesTsurko"},j:{title:"J",owner:"Golmote"},java:{title:"Java",require:"clike",owner:"sherblot"},javadoc:{title:"JavaDoc",require:["markup","java","javadoclike"],modify:"java",optional:"scala",owner:"RunDevelopment"},javadoclike:{title:"JavaDoc-like",modify:["java","javascript","php"],owner:"RunDevelopment"},javastacktrace:{title:"Java stack trace",owner:"RunDevelopment"},jexl:{title:"Jexl",owner:"czosel"},jolie:{title:"Jolie",require:"clike",owner:"thesave"},jq:{title:"JQ",owner:"RunDevelopment"},jsdoc:{title:"JSDoc",require:["javascript","javadoclike","typescript"],modify:"javascript",optional:["actionscript","coffeescript"],owner:"RunDevelopment"},"js-extras":{title:"JS Extras",require:"javascript",modify:"javascript",optional:["actionscript","coffeescript","flow","n4js","typescript"],owner:"RunDevelopment"},json:{title:"JSON",alias:"webmanifest",aliasTitles:{webmanifest:"Web App Manifest"},owner:"CupOfTea696"},json5:{title:"JSON5",require:"json",owner:"RunDevelopment"},jsonp:{title:"JSONP",require:"json",owner:"RunDevelopment"},jsstacktrace:{title:"JS stack trace",owner:"sbrl"},"js-templates":{title:"JS Templates",require:"javascript",modify:"javascript",optional:["css","css-extras","graphql","markdown","markup","sql"],owner:"RunDevelopment"},julia:{title:"Julia",owner:"cdagnino"},keepalived:{title:"Keepalived Configure",owner:"dev-itsheng"},keyman:{title:"Keyman",owner:"mcdurdin"},kotlin:{title:"Kotlin",alias:["kt","kts"],aliasTitles:{kts:"Kotlin Script"},require:"clike",owner:"Golmote"},kumir:{title:"KuMir (\u041a\u0443\u041c\u0438\u0440)",alias:"kum",owner:"edukisto"},kusto:{title:"Kusto",owner:"RunDevelopment"},latex:{title:"LaTeX",alias:["tex","context"],aliasTitles:{tex:"TeX",context:"ConTeXt"},owner:"japborst"},latte:{title:"Latte",require:["clike","markup-templating","php"],owner:"nette"},less:{title:"Less",require:"css",optional:"css-extras",owner:"Golmote"},lilypond:{title:"LilyPond",require:"scheme",alias:"ly",owner:"RunDevelopment"},liquid:{title:"Liquid",require:"markup-templating",owner:"cinhtau"},lisp:{title:"Lisp",alias:["emacs","elisp","emacs-lisp"],owner:"JuanCaicedo"},livescript:{title:"LiveScript",owner:"Golmote"},llvm:{title:"LLVM IR",owner:"porglezomp"},log:{title:"Log file",optional:"javastacktrace",owner:"RunDevelopment"},lolcode:{title:"LOLCODE",owner:"Golmote"},lua:{title:"Lua",owner:"Golmote"},magma:{title:"Magma (CAS)",owner:"RunDevelopment"},makefile:{title:"Makefile",owner:"Golmote"},markdown:{title:"Markdown",require:"markup",optional:"yaml",alias:"md",owner:"Golmote"},"markup-templating":{title:"Markup templating",require:"markup",owner:"Golmote"},mata:{title:"Mata",owner:"RunDevelopment"},matlab:{title:"MATLAB",owner:"Golmote"},maxscript:{title:"MAXScript",owner:"RunDevelopment"},mel:{title:"MEL",owner:"Golmote"},mermaid:{title:"Mermaid",owner:"RunDevelopment"},metafont:{title:"METAFONT",owner:"LaeriExNihilo"},mizar:{title:"Mizar",owner:"Golmote"},mongodb:{title:"MongoDB",owner:"airs0urce",require:"javascript"},monkey:{title:"Monkey",owner:"Golmote"},moonscript:{title:"MoonScript",alias:"moon",owner:"RunDevelopment"},n1ql:{title:"N1QL",owner:"TMWilds"},n4js:{title:"N4JS",require:"javascript",optional:"jsdoc",alias:"n4jsd",owner:"bsmith-n4"},"nand2tetris-hdl":{title:"Nand To Tetris HDL",owner:"stephanmax"},naniscript:{title:"Naninovel Script",owner:"Elringus",alias:"nani"},nasm:{title:"NASM",owner:"rbmj"},neon:{title:"NEON",owner:"nette"},nevod:{title:"Nevod",owner:"nezaboodka"},nginx:{title:"nginx",owner:"volado"},nim:{title:"Nim",owner:"Golmote"},nix:{title:"Nix",owner:"Golmote"},nsis:{title:"NSIS",owner:"idleberg"},objectivec:{title:"Objective-C",require:"c",alias:"objc",owner:"uranusjr"},ocaml:{title:"OCaml",owner:"Golmote"},odin:{title:"Odin",owner:"edukisto"},opencl:{title:"OpenCL",require:"c",modify:["c","cpp"],owner:"Milania1"},openqasm:{title:"OpenQasm",alias:"qasm",owner:"RunDevelopment"},oz:{title:"Oz",owner:"Golmote"},parigp:{title:"PARI/GP",owner:"Golmote"},parser:{title:"Parser",require:"markup",owner:"Golmote"},pascal:{title:"Pascal",alias:"objectpascal",aliasTitles:{objectpascal:"Object Pascal"},owner:"Golmote"},pascaligo:{title:"Pascaligo",owner:"DefinitelyNotAGoat"},psl:{title:"PATROL Scripting Language",owner:"bertysentry"},pcaxis:{title:"PC-Axis",alias:"px",owner:"RunDevelopment"},peoplecode:{title:"PeopleCode",alias:"pcode",owner:"RunDevelopment"},perl:{title:"Perl",owner:"Golmote"},php:{title:"PHP",require:"markup-templating",owner:"milesj"},phpdoc:{title:"PHPDoc",require:["php","javadoclike"],modify:"php",owner:"RunDevelopment"},"php-extras":{title:"PHP Extras",require:"php",modify:"php",owner:"milesj"},"plant-uml":{title:"PlantUML",alias:"plantuml",owner:"RunDevelopment"},plsql:{title:"PL/SQL",require:"sql",owner:"Golmote"},powerquery:{title:"PowerQuery",alias:["pq","mscript"],owner:"peterbud"},powershell:{title:"PowerShell",owner:"nauzilus"},processing:{title:"Processing",require:"clike",owner:"Golmote"},prolog:{title:"Prolog",owner:"Golmote"},promql:{title:"PromQL",owner:"arendjr"},properties:{title:".properties",owner:"Golmote"},protobuf:{title:"Protocol Buffers",require:"clike",owner:"just-boris"},pug:{title:"Pug",require:["markup","javascript"],optional:["coffeescript","ejs","handlebars","less","livescript","markdown","scss","stylus","twig"],owner:"Golmote"},puppet:{title:"Puppet",owner:"Golmote"},pure:{title:"Pure",optional:["c","cpp","fortran"],owner:"Golmote"},purebasic:{title:"PureBasic",require:"clike",alias:"pbfasm",owner:"HeX0R101"},purescript:{title:"PureScript",require:"haskell",alias:"purs",owner:"sriharshachilakapati"},python:{title:"Python",alias:"py",owner:"multipetros"},qsharp:{title:"Q#",require:"clike",alias:"qs",owner:"fedonman"},q:{title:"Q (kdb+ database)",owner:"Golmote"},qml:{title:"QML",require:"javascript",owner:"RunDevelopment"},qore:{title:"Qore",require:"clike",owner:"temnroegg"},r:{title:"R",owner:"Golmote"},racket:{title:"Racket",require:"scheme",alias:"rkt",owner:"RunDevelopment"},cshtml:{title:"Razor C#",alias:"razor",require:["markup","csharp"],optional:["css","css-extras","javascript","js-extras"],owner:"RunDevelopment"},jsx:{title:"React JSX",require:["markup","javascript"],optional:["jsdoc","js-extras","js-templates"],owner:"vkbansal"},tsx:{title:"React TSX",require:["jsx","typescript"]},reason:{title:"Reason",require:"clike",owner:"Golmote"},regex:{title:"Regex",owner:"RunDevelopment"},rego:{title:"Rego",owner:"JordanSh"},renpy:{title:"Ren'py",alias:"rpy",owner:"HyuchiaDiego"},rescript:{title:"ReScript",alias:"res",owner:"vmarcosp"},rest:{title:"reST (reStructuredText)",owner:"Golmote"},rip:{title:"Rip",owner:"ravinggenius"},roboconf:{title:"Roboconf",owner:"Golmote"},robotframework:{title:"Robot Framework",alias:"robot",owner:"RunDevelopment"},ruby:{title:"Ruby",require:"clike",alias:"rb",owner:"samflores"},rust:{title:"Rust",owner:"Golmote"},sas:{title:"SAS",optional:["groovy","lua","sql"],owner:"Golmote"},sass:{title:"Sass (Sass)",require:"css",optional:"css-extras",owner:"Golmote"},scss:{title:"Sass (SCSS)",require:"css",optional:"css-extras",owner:"MoOx"},scala:{title:"Scala",require:"java",owner:"jozic"},scheme:{title:"Scheme",owner:"bacchus123"},"shell-session":{title:"Shell session",require:"bash",alias:["sh-session","shellsession"],owner:"RunDevelopment"},smali:{title:"Smali",owner:"RunDevelopment"},smalltalk:{title:"Smalltalk",owner:"Golmote"},smarty:{title:"Smarty",require:"markup-templating",optional:"php",owner:"Golmote"},sml:{title:"SML",alias:"smlnj",aliasTitles:{smlnj:"SML/NJ"},owner:"RunDevelopment"},solidity:{title:"Solidity (Ethereum)",alias:"sol",require:"clike",owner:"glachaud"},"solution-file":{title:"Solution file",alias:"sln",owner:"RunDevelopment"},soy:{title:"Soy (Closure Template)",require:"markup-templating",owner:"Golmote"},sparql:{title:"SPARQL",require:"turtle",owner:"Triply-Dev",alias:"rq"},"splunk-spl":{title:"Splunk SPL",owner:"RunDevelopment"},sqf:{title:"SQF: Status Quo Function (Arma 3)",require:"clike",owner:"RunDevelopment"},sql:{title:"SQL",owner:"multipetros"},squirrel:{title:"Squirrel",require:"clike",owner:"RunDevelopment"},stan:{title:"Stan",owner:"RunDevelopment"},stata:{title:"Stata Ado",require:["mata","java","python"],owner:"RunDevelopment"},iecst:{title:"Structured Text (IEC 61131-3)",owner:"serhioromano"},stylus:{title:"Stylus",owner:"vkbansal"},supercollider:{title:"SuperCollider",alias:"sclang",owner:"RunDevelopment"},swift:{title:"Swift",owner:"chrischares"},systemd:{title:"Systemd configuration file",owner:"RunDevelopment"},"t4-templating":{title:"T4 templating",owner:"RunDevelopment"},"t4-cs":{title:"T4 Text Templates (C#)",require:["t4-templating","csharp"],alias:"t4",owner:"RunDevelopment"},"t4-vb":{title:"T4 Text Templates (VB)",require:["t4-templating","vbnet"],owner:"RunDevelopment"},tap:{title:"TAP",owner:"isaacs",require:"yaml"},tcl:{title:"Tcl",owner:"PeterChaplin"},tt2:{title:"Template Toolkit 2",require:["clike","markup-templating"],owner:"gflohr"},textile:{title:"Textile",require:"markup",optional:"css",owner:"Golmote"},toml:{title:"TOML",owner:"RunDevelopment"},tremor:{title:"Tremor",alias:["trickle","troy"],owner:"darach",aliasTitles:{trickle:"trickle",troy:"troy"}},turtle:{title:"Turtle",alias:"trig",aliasTitles:{trig:"TriG"},owner:"jakubklimek"},twig:{title:"Twig",require:"markup-templating",owner:"brandonkelly"},typescript:{title:"TypeScript",require:"javascript",optional:"js-templates",alias:"ts",owner:"vkbansal"},typoscript:{title:"TypoScript",alias:"tsconfig",aliasTitles:{tsconfig:"TSConfig"},owner:"dkern"},unrealscript:{title:"UnrealScript",alias:["uscript","uc"],owner:"RunDevelopment"},uorazor:{title:"UO Razor Script",owner:"jaseowns"},uri:{title:"URI",alias:"url",aliasTitles:{url:"URL"},owner:"RunDevelopment"},v:{title:"V",require:"clike",owner:"taggon"},vala:{title:"Vala",require:"clike",optional:"regex",owner:"TemplarVolk"},vbnet:{title:"VB.Net",require:"basic",owner:"Bigsby"},velocity:{title:"Velocity",require:"markup",owner:"Golmote"},verilog:{title:"Verilog",owner:"a-rey"},vhdl:{title:"VHDL",owner:"a-rey"},vim:{title:"vim",owner:"westonganger"},"visual-basic":{title:"Visual Basic",alias:["vb","vba"],aliasTitles:{vba:"VBA"},owner:"Golmote"},warpscript:{title:"WarpScript",owner:"RunDevelopment"},wasm:{title:"WebAssembly",owner:"Golmote"},"web-idl":{title:"Web IDL",alias:"webidl",owner:"RunDevelopment"},wgsl:{title:"WGSL",owner:"Dr4gonthree"},wiki:{title:"Wiki markup",require:"markup",owner:"Golmote"},wolfram:{title:"Wolfram language",alias:["mathematica","nb","wl"],aliasTitles:{mathematica:"Mathematica",nb:"Mathematica Notebook"},owner:"msollami"},wren:{title:"Wren",owner:"clsource"},xeora:{title:"Xeora",require:"markup",alias:"xeoracube",aliasTitles:{xeoracube:"XeoraCube"},owner:"freakmaxi"},"xml-doc":{title:"XML doc (.net)",require:"markup",modify:["csharp","fsharp","vbnet"],owner:"RunDevelopment"},xojo:{title:"Xojo (REALbasic)",owner:"Golmote"},xquery:{title:"XQuery",require:"markup",owner:"Golmote"},yaml:{title:"YAML",alias:"yml",owner:"hason"},yang:{title:"YANG",owner:"RunDevelopment"},zig:{title:"Zig",owner:"RunDevelopment"}},plugins:{meta:{path:"plugins/{id}/prism-{id}",link:"plugins/{id}/"},"line-highlight":{title:"Line Highlight",description:"Highlights specific lines and/or line ranges."},"line-numbers":{title:"Line Numbers",description:"Line number at the beginning of code lines.",owner:"kuba-kubula"},"show-invisibles":{title:"Show Invisibles",description:"Show hidden characters such as tabs and line breaks.",optional:["autolinker","data-uri-highlight"]},autolinker:{title:"Autolinker",description:"Converts URLs and emails in code to clickable links. Parses Markdown links in comments."},wpd:{title:"WebPlatform Docs",description:'Makes tokens link to WebPlatform.org documentation. The links open in a new tab.'},"custom-class":{title:"Custom Class",description:"This plugin allows you to prefix Prism's default classes (.comment can become .namespace--comment) or replace them with your defined ones (like .editor__comment). You can even add new classes.",owner:"dvkndn",noCSS:!0},"file-highlight":{title:"File Highlight",description:"Fetch external files and highlight them with Prism. Used on the Prism website itself.",noCSS:!0},"show-language":{title:"Show Language",description:"Display the highlighted language in code blocks (inline code does not show the label).",owner:"nauzilus",noCSS:!0,require:"toolbar"},"jsonp-highlight":{title:"JSONP Highlight",description:"Fetch content with JSONP and highlight some interesting content (e.g. GitHub/Gists or Bitbucket API).",noCSS:!0,owner:"nauzilus"},"highlight-keywords":{title:"Highlight Keywords",description:"Adds special CSS classes for each keyword for fine-grained highlighting.",owner:"vkbansal",noCSS:!0},"remove-initial-line-feed":{title:"Remove initial line feed",description:"Removes the initial line feed in code blocks.",owner:"Golmote",noCSS:!0},"inline-color":{title:"Inline color",description:"Adds a small inline preview for colors in style sheets.",require:"css-extras",owner:"RunDevelopment"},previewers:{title:"Previewers",description:"Previewers for angles, colors, gradients, easing and time.",require:"css-extras",owner:"Golmote"},autoloader:{title:"Autoloader",description:"Automatically loads the needed languages to highlight the code blocks.",owner:"Golmote",noCSS:!0},"keep-markup":{title:"Keep Markup",description:"Prevents custom markup from being dropped out during highlighting.",owner:"Golmote",optional:"normalize-whitespace",noCSS:!0},"command-line":{title:"Command Line",description:"Display a command line with a prompt and, optionally, the output/response from the commands.",owner:"chriswells0"},"unescaped-markup":{title:"Unescaped Markup",description:"Write markup without having to escape anything."},"normalize-whitespace":{title:"Normalize Whitespace",description:"Supports multiple operations to normalize whitespace in code blocks.",owner:"zeitgeist87",optional:"unescaped-markup",noCSS:!0},"data-uri-highlight":{title:"Data-URI Highlight",description:"Highlights data-URI contents.",owner:"Golmote",noCSS:!0},toolbar:{title:"Toolbar",description:"Attach a toolbar for plugins to easily register buttons on the top of a code block.",owner:"mAAdhaTTah"},"copy-to-clipboard":{title:"Copy to Clipboard Button",description:"Add a button that copies the code block to the clipboard when clicked.",owner:"mAAdhaTTah",require:"toolbar",noCSS:!0},"download-button":{title:"Download Button",description:"A button in the toolbar of a code block adding a convenient way to download a code file.",owner:"Golmote",require:"toolbar",noCSS:!0},"match-braces":{title:"Match braces",description:"Highlights matching braces.",owner:"RunDevelopment"},"diff-highlight":{title:"Diff Highlight",description:"Highlights the code inside diff blocks.",owner:"RunDevelopment",require:"diff"},"filter-highlight-all":{title:"Filter highlightAll",description:"Filters the elements the highlightAll and highlightAllUnder methods actually highlight.",owner:"RunDevelopment",noCSS:!0},treeview:{title:"Treeview",description:"A language with special styles to highlight file system tree structures.",owner:"Golmote"}}})},2885:(e,t,a)=>{const n=a(29901),o=a(39642),r=new Set;function s(e){void 0===e?e=Object.keys(n.languages).filter((e=>"meta"!=e)):Array.isArray(e)||(e=[e]);const t=[...r,...Object.keys(Prism.languages)];o(n,e,t).load((e=>{if(!(e in n.languages))return void(s.silent||console.warn("Language does not exist: "+e));const t="./prism-"+e;delete a.c[a(16500).resolve(t)],delete Prism.languages[e],a(16500)(t),r.add(e)}))}s.silent=!1,e.exports=s},6726:(e,t,a)=>{var n={"./":2885};function o(e){var t=r(e);return a(t)}function r(e){if(!a.o(n,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}o.keys=function(){return Object.keys(n)},o.resolve=r,e.exports=o,o.id=6726},16500:(e,t,a)=>{var n={"./":2885};function o(e){var t=r(e);return a(t)}function r(e){if(!a.o(n,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n[e]}o.keys=function(){return Object.keys(n)},o.resolve=r,e.exports=o,o.id=16500},39642:e=>{"use strict";var t=function(){var e=function(){};function t(e,t){Array.isArray(e)?e.forEach(t):null!=e&&t(e,0)}function a(e){for(var t={},a=0,n=e.length;a "));var i={},c=e[n];if(c){function l(t){if(!(t in e))throw new Error(n+" depends on an unknown component "+t);if(!(t in i))for(var s in o(t,r),i[t]=!0,a[t])i[s]=!0}t(c.require,l),t(c.optional,l),t(c.modify,l)}a[n]=i,r.pop()}}return function(e){var t=a[e];return t||(o(e,n),t=a[e]),t}}function o(e){for(var t in e)return!0;return!1}return function(r,s,i){var c=function(e){var t={};for(var a in e){var n=e[a];for(var o in n)if("meta"!=o){var r=n[o];t[o]="string"==typeof r?{title:r}:r}}return t}(r),l=function(e){var a;return function(n){if(n in e)return n;if(!a)for(var o in a={},e){var r=e[o];t(r&&r.alias,(function(t){if(t in a)throw new Error(t+" cannot be alias for both "+o+" and "+a[t]);if(t in e)throw new Error(t+" cannot be alias of "+o+" because it is a component.");a[t]=o}))}return a[n]||n}}(c);s=s.map(l),i=(i||[]).map(l);var d=a(s),p=a(i);s.forEach((function e(a){var n=c[a];t(n&&n.require,(function(t){t in p||(d[t]=!0,e(t))}))}));for(var u,m=n(c),g=d;o(g);){for(var b in u={},g){var f=c[b];t(f&&f.modify,(function(e){e in p&&(u[e]=!0)}))}for(var h in p)if(!(h in d))for(var y in m(h))if(y in d){u[h]=!0;break}for(var k in g=u)d[k]=!0}var v={getIds:function(){var e=[];return v.load((function(t){e.push(t)})),e},load:function(t,a){return function(t,a,n,o){var r=o?o.series:void 0,s=o?o.parallel:e,i={},c={};function l(e){if(e in i)return i[e];c[e]=!0;var o,d=[];for(var p in t(e))p in a&&d.push(p);if(0===d.length)o=n(e);else{var u=s(d.map((function(e){var t=l(e);return delete c[e],t})));r?o=r(u,(function(){return n(e)})):n(e)}return i[e]=o}for(var d in a)l(d);var p=[];for(var u in c)p.push(i[u]);return s(p)}(m,d,t,a)}};return v}}();e.exports=t},92703:(e,t,a)=>{"use strict";var n=a(50414);function o(){}function r(){}r.resetWarningCache=o,e.exports=function(){function e(e,t,a,o,r,s){if(s!==n){var i=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw i.name="Invariant Violation",i}}function t(){return e}e.isRequired=e;var a={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:r,resetWarningCache:o};return a.PropTypes=a,a}},45697:(e,t,a)=>{e.exports=a(92703)()},50414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},64448:(e,t,a)=>{"use strict";var n=a(67294),o=a(27418),r=a(63840);function s(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,a=1;a