Variable: BLOCK_SHAPE_CONTRACTS¶
constBLOCK_SHAPE_CONTRACTS:object
Defined in: core/src/block-shapes.ts:31
Canonical and compatibility shapes for every built-in block.
Custom blocks intentionally remain open-world and are absent from this registry.
Type Declaration¶
agents¶
readonlyagents:object
agents.canonicalShape¶
readonlycanonicalShape:"object"='object'
agents.example¶
readonlyexample: "@agents { reviewer: { description: \"Review code\" content: \"\"\"Review changes.\"\"\" } }" ='@agents { reviewer: { description: "Review code" content: """Review changes.""" } }'
agents.legacyShapes¶
readonlylegacyShapes: readonly [] =[]
agents.supportedShapes¶
readonlysupportedShapes: readonly ["object"] =OBJECT_ONLY_SHAPES
commands¶
readonlycommands:object
commands.canonicalShape¶
readonlycanonicalShape:"object"='object'
commands.example¶
readonlyexample: "@commands { \"/test\": { content: \"\"\"Run tests.\"\"\" } }" ='@commands { "/test": { content: """Run tests.""" } }'
commands.legacyShapes¶
readonlylegacyShapes: readonly [] =[]
commands.supportedShapes¶
readonlysupportedShapes: readonly ["object"] =OBJECT_ONLY_SHAPES
context¶
readonlycontext:object
context.canonicalShape¶
readonlycanonicalShape:"mixed"='mixed'
context.example¶
readonlyexample: "@context { project: \"Example\" \"\"\"Additional project context.\"\"\" }" ='@context { project: "Example" """Additional project context.""" }'
context.legacyShapes¶
readonlylegacyShapes: readonly [] =[]
context.supportedShapes¶
readonlysupportedShapes: readonly ["text","object","mixed"]
examples¶
readonlyexamples:object
examples.canonicalShape¶
readonlycanonicalShape:"object"='object'
examples.example¶
readonlyexample: "@examples { basic: { input: \"Before\" output: \"After\" } }" ='@examples { basic: { input: "Before" output: "After" } }'
examples.legacyShapes¶
readonlylegacyShapes: readonly [] =[]
examples.supportedShapes¶
readonlysupportedShapes: readonly ["object"] =OBJECT_ONLY_SHAPES
guards¶
readonlyguards:object
guards.canonicalShape¶
readonlycanonicalShape:"object"='object'
guards.example¶
readonlyexample: "@guards { globs: [\"**/*.ts\"] }" ='@guards { globs: ["**/*.ts"] }'
guards.legacyShapes¶
readonlylegacyShapes: readonly ["mixed"]
guards.supportedShapes¶
readonlysupportedShapes: readonly ["object","mixed"]
hooks¶
readonlyhooks:object
hooks.canonicalShape¶
readonlycanonicalShape:"object"='object'
hooks.example¶
readonlyexample: "@hooks { validate: { event: \"pre-tool-use\" command: [\"pnpm\", \"test\"] } }" ='@hooks { validate: { event: "pre-tool-use" command: ["pnpm", "test"] } }'
hooks.legacyShapes¶
readonlylegacyShapes: readonly [] =[]
hooks.supportedShapes¶
readonlysupportedShapes: readonly ["object"] =OBJECT_ONLY_SHAPES
identity¶
readonlyidentity:object
identity.canonicalShape¶
readonlycanonicalShape:"text"='text'
identity.example¶
readonlyexample: "@identity { \"\"\"You are a helpful assistant.\"\"\" }" ='@identity { """You are a helpful assistant.""" }'
identity.legacyShapes¶
readonlylegacyShapes: readonly ["object","mixed"]
identity.supportedShapes¶
readonlysupportedShapes: readonly ["text","object","mixed"]
knowledge¶
readonlyknowledge:object
knowledge.canonicalShape¶
readonlycanonicalShape:"text"='text'
knowledge.example¶
readonlyexample: "@knowledge { \"\"\"Project reference material.\"\"\" }" ='@knowledge { """Project reference material.""" }'
knowledge.legacyShapes¶
readonlylegacyShapes: readonly ["object","mixed"]
knowledge.supportedShapes¶
readonlysupportedShapes: readonly ["text","object","mixed"]
local¶
readonlylocal:object
local.canonicalShape¶
readonlycanonicalShape:"text"='text'
local.example¶
readonlyexample: "@local { \"\"\"Private project instructions.\"\"\" }" ='@local { """Private project instructions.""" }'
local.legacyShapes¶
readonlylegacyShapes: readonly ["object","mixed"]
local.supportedShapes¶
readonlysupportedShapes: readonly ["text","object","mixed"]
mcpServers¶
readonlymcpServers:object
mcpServers.canonicalShape¶
readonlycanonicalShape:"object"='object'
mcpServers.example¶
readonlyexample: "@mcpServers { local: { transport: \"stdio\" command: [\"node\", \"server.mjs\"] } }" ='@mcpServers { local: { transport: "stdio" command: ["node", "server.mjs"] } }'
mcpServers.legacyShapes¶
readonlylegacyShapes: readonly [] =[]
mcpServers.supportedShapes¶
readonlysupportedShapes: readonly ["object"] =OBJECT_ONLY_SHAPES
params¶
readonlyparams:object
params.canonicalShape¶
readonlycanonicalShape:"object"='object'
params.example¶
readonlyexample:"@params { strictness: range(1..5) = 3 }"='@params { strictness: range(1..5) = 3 }'
params.legacyShapes¶
readonlylegacyShapes: readonly [] =[]
params.supportedShapes¶
readonlysupportedShapes: readonly ["object"] =OBJECT_ONLY_SHAPES
plugins¶
readonlyplugins:object
plugins.canonicalShape¶
readonlycanonicalShape:"object"='object'
plugins.example¶
readonlyexample: "@plugins { quality: { skills: [\"review\"] } }" ='@plugins { quality: { skills: ["review"] } }'
plugins.legacyShapes¶
readonlylegacyShapes: readonly [] =[]
plugins.supportedShapes¶
readonlysupportedShapes: readonly ["object"] =OBJECT_ONLY_SHAPES
prompts¶
readonlyprompts:object
prompts.canonicalShape¶
readonlycanonicalShape:"object"='object'
prompts.example¶
readonlyexample: "@prompts { review: { content: \"\"\"Review changes.\"\"\" } }" ='@prompts { review: { content: """Review changes.""" } }'
prompts.legacyShapes¶
readonlylegacyShapes: readonly [] =[]
prompts.supportedShapes¶
readonlysupportedShapes: readonly ["object"] =OBJECT_ONLY_SHAPES
restrictions¶
readonlyrestrictions:object
restrictions.canonicalShape¶
readonlycanonicalShape:"array"='array'
restrictions.example¶
readonlyexample: "@restrictions { - \"Never expose secrets\" }" ='@restrictions { - "Never expose secrets" }'
restrictions.legacyShapes¶
readonlylegacyShapes: readonly ["text","object","mixed"]
restrictions.supportedShapes¶
readonlysupportedShapes: readonly ["array","text","object","mixed"]
shortcuts¶
readonlyshortcuts:object
shortcuts.canonicalShape¶
readonlycanonicalShape:"object"='object'
shortcuts.example¶
readonlyexample: "@shortcuts { \"/test\": { content: \"\"\"Run tests.\"\"\" } }" ='@shortcuts { "/test": { content: """Run tests.""" } }'
shortcuts.legacyShapes¶
readonlylegacyShapes: readonly [] =[]
shortcuts.supportedShapes¶
readonlysupportedShapes: readonly ["object"] =OBJECT_ONLY_SHAPES
skills¶
readonlyskills:object
skills.canonicalShape¶
readonlycanonicalShape:"object"='object'
skills.example¶
readonlyexample: "@skills { review: { description: \"Review code\" content: \"\"\"Review changes.\"\"\" } }" ='@skills { review: { description: "Review code" content: """Review changes.""" } }'
skills.legacyShapes¶
readonlylegacyShapes: readonly [] =[]
skills.supportedShapes¶
readonlysupportedShapes: readonly ["object"] =OBJECT_ONLY_SHAPES
standards¶
readonlystandards:object
standards.canonicalShape¶
readonlycanonicalShape:"object"='object'
standards.example¶
readonlyexample: "@standards { code: [\"Use strict TypeScript\"] }" ='@standards { code: ["Use strict TypeScript"] }'
standards.legacyShapes¶
readonlylegacyShapes: readonly ["mixed","text"]
standards.supportedShapes¶
readonlysupportedShapes: readonly ["object","mixed","text"]
workflows¶
readonlyworkflows:object
workflows.canonicalShape¶
readonlycanonicalShape:"object"='object'
workflows.example¶
readonlyexample: "@workflows { release: { description: \"Prepare release\" content: \"\"\"Run checks.\"\"\" } }" ='@workflows { release: { description: "Prepare release" content: """Run checks.""" } }'
workflows.legacyShapes¶
readonlylegacyShapes: readonly [] =[]
workflows.supportedShapes¶
readonlysupportedShapes: readonly ["object"] =OBJECT_ONLY_SHAPES