Changelog¶
0.4.0¶
TaskTemplate.element_typeselects the BPMN element a template applies to: every element C7/Operaton can run as an external task with a topic (ElementType.SERVICE_TASK, the default,SEND_TASK,BUSINESS_RULE_TASK,MESSAGE_INTERMEDIATE_THROW_EVENT, andMESSAGE_END_EVENT). Message events also renderelementTypewith abpmn:MessageEventDefinition(applied by the forked modeler).MESSAGE_END_EVENTrejects contracts with outputs, which Operaton does not allow on end events. Service-task templates are unchanged.
0.3.0¶
Breaking: existing projects may need changes before generate or check
passes again.
TaskTemplate.versionmust be an integer of at least 1.- Template hints on output fields were ignored before; now
valueandgrouptake effect and any other hint is rejected. checkrejects scalar suite defaults for array and object inputs; use@{EMPTY}or&{EMPTY}.
Changes:
dict[str, str]inputs render asMapelement-template properties. The newentrieshint fixes their keys (with labels, entry types, and defaults) and is checked against the schema's entry rules; otherwiseLiteralor stringEnumkeys become the entries, or modeler users may add keys. Value length and pattern constraints become Mapconstraints, key patterns becomekeyPattern, andLiteralvalues become Dropdown entries. A Dropdown entry's default must be one of its choices, and its choices must be contract values. Map keys must be strings.- The new
grouphint places an input in another of the spec's groups. TaskTemplate.iconembeds a per-template SVG instead of the configuredicon;Config.iconsholds the loaded files andrender_allaccepts them asicons=. Icons outside the project root are rejected.TaskTemplate.keep_versionskeeps earlier published template versions:generatecopies them unchanged from the existing file and writes a list, newest first, so the modeler can upgrade diagrams.checkexplains versions that would be dropped and changed versions that need a bump.render_alltakestemplate_dir=to read them.versionmust be an integer of at least 1.- Output fields accept the
valueandgrouphints;value=""renders an optional, empty output mapping that is not written unless a modeler user names a variable. Other hints on outputs are rejected, as are hinted names with whitespace,$,{, or}and outputs mapped to the same variable. checkrequires list (@) defaults for array inputs and dictionary (&) defaults for object inputs, and suggests&{EMPTY}.
0.2.0¶
- Bundle the
purjo-operaton-task-packageagent skill and addoperaton-contracts install-skill [--force] [--skills-dir DIR], which installs it into.agents/skills/and links it into.claude/skills/for Claude Code (--claude/--no-claude; automatic when the project has.claude/). Linked or replaced entries are never followed into the installed skill, and symbolic links fall back to a copy where unavailable. operaton-contractsreports configuration, specs, icon, and schema validation problems as messages (exit status 2 or 1) instead of tracebacks; it rejects empty specs and a non-listreserved-topics, and no longer reuses a specs module imported from another project root.checktreats${EMPTY}and${None}suite defaults of non-string inputs as untyped, and skips virtual environments when collecting suites.import_contractstries every fallback directory in turn.
0.1.0¶
- Initial release:
TaskContract,template_hints, theOperatonContractsRobot library withValidate Task Input, element-template generation, package consistency checks, and theoperaton-contractscommand.