← Scripts {#if scriptLoading}

Loading…

{:else if scriptError}
{scriptError}
{:else if script} {#if tab === 'edit'}

Source

{#if rhaiFormatError}
{rhaiFormatError}
{/if} {#if saveSourceError}
{saveSourceError}
{/if}

Test invoke

Request body (JSON)
{#if testBodyFormatError}
{testBodyFormatError}
{/if}
Headers (JSON object)
{#if testHeadersFormatError}
{testHeadersFormatError}
{/if}
{#if testError}
{testError}
{/if} {#if testResult}
HTTP {testResult.status}
{JSON.stringify(testResult.body, null, 2)}
{/if}

Test invoke uses the internal /api/v1/execute/{`{id}`} bypass — your custom routes aren't checked. To test routes, use the Match preview on the Routing tab or curl the URL directly.

{:else if tab === 'routing'}

Routes

{#if showAddRoute}
{#if pathKindWarning}
{pathKindWarning}
{/if} {#if createRouteError}
{createRouteError}
{/if}
{/if} {#if routesLoading}

Loading routes…

{:else if routesError}
{routesError}
{:else if routes.length === 0}

No routes yet. Scripts are still callable via POST /api/v1/execute/{`{id}`} while you set things up.

{:else} {/if}

Match preview

Synthetic check: does this URL+method match a route, and which? Useful for verifying your routing before exposing scripts publicly.

{#if previewResult}
{previewResult}
{/if}
{:else if tab === 'settings'}

General

Advanced sandbox

Each value is admin-ceiling-capped at write time. Leave empty to use the platform default for that knob.

{#each ['max_operations', 'max_string_size', 'max_array_size', 'max_map_size', 'max_call_levels', 'max_expr_depth'] as key (key)} {/each}
{#if saveSettingsError}
{saveSettingsError}
{/if}
{:else if tab === 'executions'}

Recent executions

{#if logsError}
{logsError}
{:else if logs && logs.length === 0}

No executions yet — try the Test invoke panel on the Edit tab, or curl one of your routes.

{:else if logs} {/if}
{/if} {/if}