function _build_completion_query_context_string()

in excel-addin/src/taskpane/taskpane.js [111:135]


function _build_completion_query_context_string({topic, fields, completions=[], partial=[], side_info=[]}) {
    // TODO assert for malformed completions (incomplete tables)
    const field_string = `| ${fields.join(CELL_SEPARATOR)} |\n`;
    var completion_string = '';
    var side_info_string = '';
    if (!completions.length) {
        completion_string = '|'
    }
    else {
        completion_string = completions.map(x => `| ${x.join(CELL_SEPARATOR)} |`).join("\n") + "\n|";
    }

    if (partial.length) {
        completion_string += ` ${partial.join(CELL_SEPARATOR)}`;
    }

    if (side_info.length) {
        side_info_string = '\n' + side_info.join('\n') + '\n\n';
    }
    else {
        side_info_string = '';
    }
    const TOPIC_QUERY = `Please build a table summarizing ${topic}\n`;
    return {context_string: `${CONTEXT}${side_info_string}${TOPIC_QUERY}${field_string}`, existing_completions: `${completion_string}`};
}