Docsloth / developers
Self-hostStart quickstart

docsloth/chat-bubble

chat-bubble

Floating contextual documentation assistant

Trust class: agentic · key prop: prompt · agent tools: open, ask, close

Props

PropTypeRequired
titlestringno
scopeobjectyes
model_resource_idstringno
positionstringyes
labelstringyes
toolsarrayyes

Manifest fixture

{
  "name": "@docsloth/chat-bubble",
  "version": "1.0.0",
  "protocol": "1.x",
  "license": "Apache-2.0",
  "description": "Floating contextual documentation assistant",
  "runtime": "react",
  "trust_class": "agentic",
  "entry": "dist/index.js",
  "integrity": "0000000000000000000000000000000000000000000000000000000000000000",
  "props_schema": {
    "type": "object",
    "properties": {
      "prompt": {
        "type": "string"
      },
      "title": {
        "type": "string"
      }
    },
    "required": [
      "prompt"
    ],
    "additionalProperties": false
  },
  "tools": [
    {
      "name": "open",
      "description": "Floating contextual documentation assistant — open",
      "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": "ask",
      "description": "Floating contextual documentation assistant — ask",
      "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": "close",
      "description": "Floating contextual documentation assistant — close",
      "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
    }
  ],
  "resources": [
    "model"
  ],
  "fallback": {
    "html": true,
    "markdown": true,
    "json": true
  },
  "recording_policy": "blocked",
  "permissions": {
    "network_hosts": [],
    "production_write": false,
    "max_runtime_seconds": 120
  }
}

Host behaviour

  • 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.