docsloth/tutorial
tutorial
Verified multistep task tutorial
Trust class: connected · key prop: workflowId · agent tools: next, verify, reset
Props
| Prop | Type | Required |
|---|---|---|
title | string | no |
workflow_id | string | yes |
steps | array | yes |
resource | object | no |
persist_progress | boolean | yes |
Manifest fixture
{
"name": "@docsloth/tutorial",
"version": "1.0.0",
"protocol": "1.x",
"license": "Apache-2.0",
"description": "Verified multistep task tutorial",
"runtime": "react",
"trust_class": "connected",
"entry": "dist/index.js",
"integrity": "0000000000000000000000000000000000000000000000000000000000000000",
"props_schema": {
"type": "object",
"properties": {
"workflowId": {
"type": "string"
},
"title": {
"type": "string"
}
},
"required": [
"workflowId"
],
"additionalProperties": false
},
"tools": [
{
"name": "next",
"description": "Verified multistep task tutorial — next",
"effect": "read",
"input_schema": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [],
"additionalProperties": false
},
"output_schema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ok",
"blocked",
"failed"
]
},
"message": {
"type": "string"
}
},
"required": [
"status",
"message"
],
"additionalProperties": false
},
"confirmation_required": false
},
{
"name": "verify",
"description": "Verified multistep task tutorial — verify",
"effect": "execute",
"input_schema": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [],
"additionalProperties": false
},
"output_schema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ok",
"blocked",
"failed"
]
},
"message": {
"type": "string"
}
},
"required": [
"status",
"message"
],
"additionalProperties": false
},
"confirmation_required": false
},
{
"name": "reset",
"description": "Verified multistep task tutorial — reset",
"effect": "local_write",
"input_schema": {
"type": "object",
"properties": {
"value": {
"type": "string"
}
},
"required": [],
"additionalProperties": false
},
"output_schema": {
"type": "object",
"properties": {
"status": {
"type": "string",
"enum": [
"ok",
"blocked",
"failed"
]
},
"message": {
"type": "string"
}
},
"required": [
"status",
"message"
],
"additionalProperties": false
},
"confirmation_required": false
}
],
"resources": [
"approved_resource"
],
"fallback": {
"html": true,
"markdown": true,
"json": true
},
"recording_policy": "blocked",
"permissions": {
"network_hosts": [],
"production_write": false,
"max_runtime_seconds": 120
}
}Host behaviour
- Requires a short-lived capability for its declared tools; refusals surface as permission_required.
- Unknown hosts render a labelled fallback block instead of crashing.
- Behaviour and accessibility are covered in the component test suite.
Actions
Actions
- Preview
Runs the published renderer on synthetic blocks in an isolated iframe; the playground ships a default block set and a labelled fallback for unknown components. No cost.
- Install
Installation is a local CLI/SDK action against your own project with pinned digests; no hosted registry account is required in this build.
- Remix allowed assets
Reuse is governed by the component licence (Apache-2.0 for first-party components); check attribution and trademark rules before shipping a remix.