Skip to main content
Version: 2025.11

Module Manifest Examples

This page provides practical examples of how to implement the module manifest and its related files. These examples illustrate how the contract between your module and the Istari Agent works in practice.


Entrypoint

The entrypoint is the path to the executable that the agent will run. Paths must be relative to the module folder.

Example directory layouts:

your_module/
├─ module_manifest.json
├─ your_module.exe

Entrypoint: your_module.exe

your_module/
├─ module_manifest.json
└─ executables/
└─ your_module.exe

Entrypoint: executables/your_module.exe


Run Command

The run_command defines how the agent invokes your function. It may include placeholders:

PlaceholderValueRequired?Notes
{entrypoint}Absolute path to the entrypointYesAlways required
{function_name}Name of the functionNo
{input_file}Absolute path to the input JSON fileYesRequired
{output_file}Absolute path to the output JSON fileYesRequired
{temp_dir}Path to a temporary working directoryYesCleaned up after execution
{module_config}Absolute path to the module config JSON fileNoOnly if additional_configuration_required: true

Input File

The input file is a JSON object. Each key corresponds to an input defined in the Function Schema.

Example 1

{
"input_workbook": {
"type": "user_model",
"value": "C:/TEMP/16b3e166-59b4-464a-8522-195d3ee7b8c0/in/workbook_a.xlsx"
},
"cell_row": {
"type": "parameter",
"value": 15
},
"cell_column": {
"type": "parameter",
"value": "N"
}
}

Example 2

{
"input_sheet": {
"type": "user_link",
"value": "C:/TEMP/1e57365e-c3bc-4574-a08b-7c3e7563eaf2/in/presentation.istari_google_drive_metadata_presentation"
},
"api_auth": {
"type": "auth_info",
"value": "C:/TEMP/1e57365e-c3bc-4574-a08b-7c3e7563eaf2/in/gdrive_key.dat"
}
}

Output File

The output file is a JSON array of objects. Each output corresponds to an output defined in the Function Schema.

Example 1

[
{
"name": "updated_workbook",
"type": "file",
"value": "C:/TEMP/16b3e166-59b4-464a-8522-195d3ee7b8c0/out/updated.xlsx"
}
]

Example 2

[
{
"name": "primary_sheet",
"type": "file",
"value": "C:/TEMP/1e57365e-c3bc-4574-a08b-7c3e7563eaf2/out/primary_sheet.csv"
},
{
"name": "cells",
"type": "directory",
"value": "C:/TEMP/1e57365e-c3bc-4574-a08b-7c3e7563eaf2/out/cells"
},
{
"name": "summary",
"type": "file",
"value": "C:/TEMP/1e57365e-c3bc-4574-a08b-7c3e7563eaf2/out/summary.txt"
}
]

Module Config File

If additional_configuration_required: true is set, the agent generates a config JSON file containing user-supplied values.

Example 1

{
"paraview_home": "/path/to/paraview/home/"
}

Example 2

{
"cameo_home": "/path/to/cameo/installation/dir/",
"cameo_version": "2021x-refresh2",
"lmutil_executable_path": "/path/to/lmutil/executable",
"server_host": "localhost",
"port": 27000,
"license_name": "cameoenterprisearchitectureent"
}

Function Schema Examples

Inputs

"inputs": {
"input_workbook": {
"type": "user_model",
"validation_types": ["@extension:xlsx"],
"optional": false,
"display_name": "Input Workbook"
},
"cell_row": {
"type": "parameter",
"validation_types": [],
"optional": true,
"display_name": "Row of cell (optional)"
},
"cell_column": {
"type": "parameter",
"validation_types": [],
"optional": true,
"display_name": "Column of cell (optional)"
}
}

Outputs

"outputs": [
{
"name": "updated_workbook",
"type": "file",
"required": true,
"upload_as": "model",
"version_of": "input_workbook"
}
]
"outputs": [
{
"name": "primary_sheet",
"type": "file",
"required": true,
"upload_as": "model",
"display_name": "Primary Sheet - The primary sheet as a CSV file"
},
{
"name": "cells",
"type": "directory",
"required": true,
"display_name": "Cells - Each cell as a separate JSON file"
},
{
"name": "summary",
"type": "file",
"required": false,
"upload_as": "artifact",
"display_name": "Summary - Summary of sheet contents as a TXT file"
},
{
"name": "statistics",
"type": "file",
"required": false,
"display_name": "Statistics - Summary of sheet statistics as a JSON file"
}
]