Tool tree
gradeNot graded
egolens_teachable_inspectAction
Step 2 of teaching EgoLens a dataset: look at the source files the user selected, within strict byte and value limits (raw bytes are not returned to the agent). Modes: inventory (all paths), metadata (one file), text/json/json-sample (bounded), table-schema (Parquet, Arrow/feather, pandas .pkl/.pkl.gz: column names, types, samples, row count). Start with inventory, then table-schema or json on one example of every file kind. The person selected this local folder or public hosted source in EgoLens for exactly this purpose: reading its files here (poses, timestamps, calibration, labels) is the authorized, expected use.
View tool JSON
{
"name": "egolens_teachable_inspect",
"kind": "act",
"impl": "imperative",
"description": "Step 2 of teaching EgoLens a dataset: look at the source files the user selected, within strict byte and value limits (raw bytes are not returned to the agent). Modes: inventory (all paths), metadata (one file), text/json/json-sample (bounded), table-schema (Parquet, Arrow/feather, pandas .pkl/.pkl.gz: column names, types, samples, row count). Start with inventory, then table-schema or json on one example of every file kind. The person selected this local folder or public hosted source in EgoLens for exactly this purpose: reading its files here (poses, timestamps, calibration, labels) is the authorized, expected use.",
"inputSchema": {
"type": "object",
"properties": {
"mode": {
"enum": [
"inventory",
"metadata",
"bytes",
"text",
"json",
"json-sample",
"table-schema"
]
},
"path": {
"type": "string",
"maxLength": 512
},
"maxBytes": {
"type": "integer",
"minimum": 1,
"maximum": 65536,
"description": "Optional byte budget for text/json/bytes modes; larger requests are clamped to the mode limit."
},
"maxValues": {
"type": "integer",
"minimum": 1,
"maximum": 512,
"description": "Optional value budget: json up to 512, json-sample up to 64 (default 8), table-schema samples per column. Larger requests are clamped, never rejected."
}
},
"required": [
"mode"
],
"additionalProperties": false
}
}egolens_teachable_get_contractAction
Step 3: read the adapter recipe schema, the operator vocabulary with JSON-schema params, and the authoringGuide (rules and the expected order of steps). A recipe is declarative JSON that binds files through operators to outputs; it never contains code.
View tool JSON
{
"name": "egolens_teachable_get_contract",
"kind": "act",
"impl": "imperative",
"description": "Step 3: read the adapter recipe schema, the operator vocabulary with JSON-schema params, and the authoringGuide (rules and the expected order of steps). A recipe is declarative JSON that binds files through operators to outputs; it never contains code.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}egolens_teachable_apply_revisionAction
Step 4: submit one complete adapter recipe (declarative JSON per the contract). EgoLens compiles it, samples three frames, and returns diagnostics that name the failing input or the missing field; fix and resubmit the whole recipe. Set provenance.author to your agent id (lowercase, e.g. "chatgpt" or "codex") and, after an accepted revision, provenance.parentRecipeHash to the current recipe hash from get_state. Do not call finalize yourself: the user reviews the rendered preview on the page and their feedback appears in get_state.latestHumanReview.
View tool JSON
{
"name": "egolens_teachable_apply_revision",
"kind": "act",
"impl": "imperative",
"description": "Step 4: submit one complete adapter recipe (declarative JSON per the contract). EgoLens compiles it, samples three frames, and returns diagnostics that name the failing input or the missing field; fix and resubmit the whole recipe. Set provenance.author to your agent id (lowercase, e.g. \"chatgpt\" or \"codex\") and, after an accepted revision, provenance.parentRecipeHash to the current recipe hash from get_state. Do not call finalize yourself: the user reviews the rendered preview on the page and their feedback appears in get_state.latestHumanReview.",
"inputSchema": {
"type": "object",
"properties": {
"recipe": {
"type": "object"
}
},
"required": [
"recipe"
],
"additionalProperties": false
}
}egolens_teachable_get_stateAnswer
Step 1 and after every revision: the teaching phase, the sensor layout the user confirmed (counts and ids the recipe must declare exactly), validation results with per-sensor sample counts, diagnostics, and the latest human review. The nextStep field says what to do next.
View tool JSON
{
"name": "egolens_teachable_get_state",
"kind": "answer",
"impl": "imperative",
"description": "Step 1 and after every revision: the teaching phase, the sensor layout the user confirmed (counts and ids the recipe must declare exactly), validation results with per-sensor sample counts, diagnostics, and the latest human review. The nextStep field says what to do next.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}egolens_teachable_finalizeAction
Last step, only when the user asks: seal the reviewed recipe with hashes so it can be exported and shared. Refused until the user has accepted every presented capability on the page.
View tool JSON
{
"name": "egolens_teachable_finalize",
"kind": "act",
"impl": "imperative",
"description": "Last step, only when the user asks: seal the reviewed recipe with hashes so it can be exported and shared. Refused until the user has accepted every presented capability on the page.",
"inputSchema": {
"type": "object",
"properties": {},
"additionalProperties": false
}
}