Log inGet started
World

Builtin Library

Branchmain
Branchesmainpublish
Commitdd348ac6c3

README.md

services.shared.describe

The work behind services describe: which assets lack the description their type asks for, what each needs, the request for each, and writing the answer.

local Describe = require("@builtin::tools.services.shared.describe")
local report = Describe.describe({ mode = "find" })
print(report.calls, report.totalCost)
for _, row in ipairs(report.assets) do print(row.asset, row.call) end

Describe.describe(options) takes { mode, scope, assets, instructions, examples } and answers a report (see the tool's README). What it reads: each type's described checks and describe: block through assetType.shared.typeYaml, the describing-assets guide and the answer-format.md beside this module (the reply format) that the model follows, and the asset's files. The service that makes the text is describe: one operation, one price per call. The assets are packed whole into calls of at most CALL_BUDGET_BYTES of request text (and CALL_MAX_ASSETS assets), each asset sits in a block carrying an id the tool assigns, and the model answers one JSON object per line keyed by those ids, which the tool reads line by line so that one bad answer fails one asset.