Estimate the cost and shape of a render without producing the workbook.
Use describe("xlsx.inspect") when your code needs the complete live JSON Schemas.
At a glance
| Property | Value |
|---|---|
| Package | @runstamp/xlsx |
| Domain / verb | xlsx / inspect |
| Customer jobs | read, review |
| Deterministic | Yes |
| Side effects | none |
Availability
| Local | SDK | CLI | MCP | Managed API |
|---|---|---|---|---|
| public ga | public ga | public ga | public ga | public ga |
Managed API route: POST /api/v2/operations/xlsx/inspect. Managed execution requires a free-trial workspace or an active Platform or Enterprise workspace, and an environment-bound API key.
Input and result
| Schema | Required fields | Optional fields |
|---|---|---|
| Input | sheets | accessible, meta, theme, defaults, date1904, namedRanges |
| Options | none | deterministic, deterministicSeed, timeoutMs, locale, lossPolicy, limits |
| Result value | deterministic, recommendedRenderMode, requestedStringStrategy, resolvedStringStrategy, includeSharedStrings, rowChunkSize, qualityReport, sheetPlans, partManifest | none |
Every success also carries losses, diagnostics, and a hash-bound receipt.
Defaults, limits, and format constraints
Defaults
| Path | Default |
|---|---|
$.deterministic | default=true |
$.lossPolicy | default="collect" |
Formats and profiles
| Path | Constraint |
|---|---|
$.sheets[].conditionalFormatting[].ref | minLength=1 |
$.sheets[].conditionalFormatting[].rules | minItems=1 |
$.sheets[].conditionalFormatting[].rules[].oneOf[0].type | const="cellIs" |
$.sheets[].conditionalFormatting[].rules[].oneOf[0].operator | oneOf="between","equal","greaterThan","greaterThanOrEqual","lessThan","lessThanOrEqual","notBetween","notEqual" |
$.sheets[].conditionalFormatting[].rules[].oneOf[0].style.anyOf[1].font.size | exclusiveMinimum=0 |
$.sheets[].conditionalFormatting[].rules[].oneOf[0].style.anyOf[1].font.underline.anyOf[1] | oneOf="single","double","singleAccounting","doubleAccounting" |
$.sheets[].conditionalFormatting[].rules[].oneOf[0].style.anyOf[1].font.vertAlign | oneOf="superscript","subscript" |
$.sheets[].conditionalFormatting[].rules[].oneOf[0].style.anyOf[1].font.charset | minimum=0maximum=255 |
$.sheets[].conditionalFormatting[].rules[].oneOf[0].style.anyOf[1].fill.type | oneOf="solid","pattern" |
$.sheets[].conditionalFormatting[].rules[].oneOf[0].style.anyOf[1].fill.patternType | oneOf="solid","darkGray","mediumGray","lightGray","gray125","gray0625","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis" |
$.sheets[].conditionalFormatting[].rules[].oneOf[0].style.anyOf[1].border.top.style | oneOf="thin","medium","thick","double","dotted","dashed","dashDot","dashDotDot","hair","mediumDashed","mediumDashDot","mediumDashDotDot","slantDashDot" |
$.sheets[].conditionalFormatting[].rules[].oneOf[0].style.anyOf[1].border.bottom.style | oneOf="thin","medium","thick","double","dotted","dashed","dashDot","dashDotDot","hair","mediumDashed","mediumDashDot","mediumDashDotDot","slantDashDot" |
$.sheets[].conditionalFormatting[].rules[].oneOf[0].style.anyOf[1].border.left.style | oneOf="thin","medium","thick","double","dotted","dashed","dashDot","dashDotDot","hair","mediumDashed","mediumDashDot","mediumDashDotDot","slantDashDot" |
$.sheets[].conditionalFormatting[].rules[].oneOf[0].style.anyOf[1].border.right.style | oneOf="thin","medium","thick","double","dotted","dashed","dashDot","dashDotDot","hair","mediumDashed","mediumDashDot","mediumDashDotDot","slantDashDot" |
$.sheets[].conditionalFormatting[].rules[].oneOf[0].style.anyOf[1].border.diagonal.style | oneOf="thin","medium","thick","double","dotted","dashed","dashDot","dashDotDot","hair","mediumDashed","mediumDashDot","mediumDashDotDot","slantDashDot" |
$.sheets[].conditionalFormatting[].rules[].oneOf[0].style.anyOf[1].border.diagonal.direction | oneOf="up","down","both" |
$.sheets[].conditionalFormatting[].rules[].oneOf[0].style.anyOf[1].alignment.horizontal | oneOf="left","center","right","fill","justify","centerContinuous","distributed","general" |
$.sheets[].conditionalFormatting[].rules[].oneOf[0].style.anyOf[1].alignment.vertical | oneOf="top","center","bottom","justify","distributed" |
$.sheets[].conditionalFormatting[].rules[].oneOf[0].style.anyOf[1].alignment.textRotation | minimum=0maximum=255 |
$.sheets[].conditionalFormatting[].rules[].oneOf[0].style.anyOf[1].alignment.indent | minimum=0maximum=250 |
$.sheets[].conditionalFormatting[].rules[].oneOf[0].style.anyOf[1].alignment.readingOrder.anyOf[0] | const=0 |
Showing 24 of 109 constraints. Use describe() or the machine-readable reference for the complete schema.
Other limits
| Path | Constraint |
|---|---|
$.defaults.font.family | minLength=1 |
$.defaults.font.size | exclusiveMinimum=0 |
$.defaults.columnWidth | minimum=0 |
$.defaults.rowHeight | minimum=0maximum=409 |
$.namedRanges[].name | minLength=1maxLength=255 |
$.namedRanges[].ref | minLength=1 |
$.sheets | minItems=1maxItems=255 |
$.sheets[].name | minLength=1maxLength=31 |
$.sheets[].columns | maxItems=16384 |
$.sheets[].columns[].width | minimum=0 |
$.sheets[].rows | maxItems=1048576 |
$.sheets[].rows[].height | minimum=0maximum=409 |
$.sheets[].rows[].cells | maxItems=16384 |
$.sheets[].rows[].cells[].value.anyOf[5] | minItems=1 |
$.sheets[].rows[].cells[].value.anyOf[5][].font.size | exclusiveMinimum=0 |
$.sheets[].rows[].cells[].value.anyOf[5][].font.charset | minimum=0maximum=255 |
$.sheets[].rows[].cells[].style.anyOf[1].font.size | exclusiveMinimum=0 |
$.sheets[].rows[].cells[].style.anyOf[1].font.charset | minimum=0maximum=255 |
$.sheets[].rows[].cells[].style.anyOf[1].alignment.textRotation | minimum=0maximum=255 |
$.sheets[].rows[].cells[].style.anyOf[1].alignment.indent | minimum=0maximum=250 |
$.sheets[].rows[].cells[].formula.anyOf[0] | minLength=1 |
$.sheets[].rows[].cells[].formula.anyOf[1].expression | minLength=1 |
$.sheets[].rows[].cells[].formula.anyOf[1].cachedValue.anyOf[5] | minItems=1 |
Showing 32 of 209 constraints. Use describe() or the machine-readable reference for the complete schema.
Invoke
const input = await fetch("https://runstamp.com/demo-evidence/operation-evidence/xlsx/xlsx.inspect/input.json").then((response) => response.json());
const result = await runstamp.run("xlsx.inspect", input);
if (!result.ok) throw new Error(`${result.error.code}: ${result.error.remediation}`);
console.log(result.value, result.losses, result.diagnostics, result.receipt);curl -fsS https://runstamp.com/demo-evidence/operation-evidence/xlsx/xlsx.inspect/input.json -o input.json
npx -p @runstamp/sdk runstamp ops invoke xlsx.inspect --input input.json{
"tool": "runstamp_invoke_operation",
"arguments": {
"operation": "xlsx.inspect",
"input": "<JSON from https://runstamp.com/demo-evidence/operation-evidence/xlsx/xlsx.inspect/input.json>",
"execution_mode": "local"
}
}Errors and losses
Declared errors (10)
common/SCHEMA_REJECTEDcommon/CONTRACT_VIOLATIONcommon/OPERATION_CANCELLEDcommon/OPERATION_TIMEOUTcommon/RESOURCE_LIMIT_EXCEEDEDcommon/INPUT_CORRUPTxlsx/TEMPLATE_PARSE_FAILEDxlsx/TEMPLATE_ASSEMBLY_FAILEDxlsx/XLSX_XML_UNSAFExlsx/LOSS_POLICY_VIOLATED
Declared losses (0)
- None.
SDK AbortSignal, CLI exit 130, and MCP cancellation return the typed common/OPERATION_CANCELLED failure envelope.
Verified example and exact contract
- Fixture:
icp-workflow(xlsx-tracker-compliance-remediation.json). - Example input — SHA-256
57ed61c3dde8935152aea4a115153c6f75e47d2bbe78024ef0e3c5133563095e. - Example result — SHA-256
f50cf3f13d28da4d1b1c8c96a1bd20379c713d4c840b65a3d6abe98ee81fd91c. - Verified result SHA-256:
ec52c7ef1b598aa3a9466ad80ce538493dd7163e6d8596bf7ed0cea1efc47830. - Qualification lane:
11-pdf-xlsx.
Contract fingerprints
- Descriptor:
ee13028ac7876e67c40f54d6b6301233a0f53a41bfbc2a9da181cdbef7838a6f. - Input schema:
a87cb70b9b312a36c5e559ee0a788ffe02f6b15da971046731d1b4249ae10867. - Options schema:
fdfd7767a0e2fe0da1244a2af2b1ff6b98afc16ecea71968651a31d5feaa8c74. - Result value schema:
9533625f4195ef2cfd962f685b1a27b696b521ce52eac7fa946028faf8250435.
The machine-readable operation reference publishes the complete schemas, qualification results, and evidence bindings for every operation.