Tools / object_registry
object_registry
Inspect, validate or register object and trait definitions.
Generated from @oods/foundry 0.10.1
One of the 20 tools your assistant sees by default.
Use object_import instead to draft from existing schema files. Use it when exploring object shapes with list/show; use catalog_list instead to choose components, structured_data_fetch for complete datasets, or registry_snapshot for mappings together with definitions. Returns definitions, composed traits/view extensions, validation findings or registry write/reload results. action selects list/show/validate/register/reload. includeInternal reveals hidden objects. validate/register accept YAML; register writes your configured folder after checking declared contexts, and overwrite replaces your own definition. Team objects may shadow shipped objects; traits cannot reuse shipped names. Relationships validate their target and field. Reload reads folders without restarting. Reference: TOOL-REFERENCE.md#object_registry; full schema: oods://schemas/object_registry.input.json.
Inputs
| Name | Type | Required | Description |
|---|---|---|---|
action | "list" | "show" | "validate" | "register" | "reload" | yes | Selects the per-action contract: 'list' returns the objects in use with their source, business objects first and internal ones only with includeInternal, and every file not in use; 'show' returns the full composed… See full schema for details. |
domain | string | no | Filter to objects in a specific domain (e.g. 'core.identity', 'saas.billing'). Actions: list. |
maturity | "draft" | "alpha" | "beta" | "stable" | no | Filter by metadata maturity level. Actions: list. |
trait | string | no | Filter to objects composing a given trait (e.g. 'Priceable', 'lifecycle/Stateful'). Actions: list. |
includeInternal | boolean | no | Also list OODS Foundry's internal (non-business) objects, after the business objects. Without it they are left out and hiddenInternal counts them. Actions: list. |
name | string | no | Object name to look up (e.g. 'User', 'Product', 'Invoice'). Actions: show (required). |
context | string | no | Optional: filter view_extensions to a single context (e.g. 'detail', 'list', 'form', 'timeline', 'card', 'inline'). Actions: show. |
yaml | string | no | The whole definition as YAML: an object file starts with "object:", a trait file with "trait:" (the same format as OODS Foundry's own objects/ and traits/). Actions: validate (required), register (required). See full schema for details. |
overwrite | boolean | no | Replace a definition of yours with this name; without it a name you already registered is refused (OODS-C004). Actions: register. |
Outputs
The package ships no output schema for this tool.
A real call
Recorded by this site's harbor run, step trait-validate, with the published OODS Foundry
0.10.1.
Its input:
{
"action": "validate",
"yaml": "trait:\n name: Stockable\n version: 1.0.0\n description: How full a storage location is, counted in the unit the team stores goods in.\n category: inventory\n tags:\n - inventory\n - capacity\n\nparameters:\n - name: capacityUnit\n type: string\n required: false\n description: The unit capacity and stock are counted in.\n default: pallets\n\nschema:\n stock_level:\n type: string\n required: true\n description: Whether the location has room, is nearly full, or is full.\n validation:\n enum:\n - room_available\n - nearly_full\n - full\n capacity_units:\n type: integer\n required: true\n description: How many units the location holds when it is full.\n examples:\n - 1200\n - 800\n - 2400\n units_on_hand:\n type: integer\n required: true\n description: How many units are stored there now.\n examples:\n - 640\n - 760\n - 2400\n\nsemantics:\n stock_level:\n semantic_type: inventory.stock.level\n token_mapping: tokenMap(inventory.stock.*)\n ui_hints:\n component: StatusBadge\n\nview_extensions:\n list:\n - component: StatusBadge\n position: after\n props:\n statusField: stock_level\n emphasis: subtle\n showIcon: false\n card:\n - component: StatusBadge\n position: after\n props:\n statusField: stock_level\n emphasis: subtle\n showIcon: false\n detail:\n - component: StatusBadge\n position: main\n priority: 70\n props:\n statusField: stock_level\n emphasis: subtle\n showIcon: false\n # Like the shipped Supersedable trait: the fields the trait is about are placed explicitly, so the detail\n # composer's field budget never leaves them out.\n - component: Text\n position: main\n priority: 69\n props:\n field: units_on_hand\n - component: Text\n position: main\n priority: 68\n props:\n field: capacity_units\n\ntokens:\n inventory.stock.tone: neutral\n\ndependencies: []\n"
} Its result:
{
"kind": "trait",
"name": "Stockable",
"valid": true,
"errors": [],
"warnings": [],
"contexts": [
"list",
"card",
"detail"
],
"folder": "~/.oods-foundry/traits"
}