Packaged Factories
Discover, identify, and run first-party @you/* packaged factories with you run --named.
Discovery And Resolution
Choose a packaged factory when you want a catalog-backed named invocation by canonical name such as @you/goal. Use a project-local or saved named factory when you own the definition under a chosen root. Use --factory <factory.json> for a portable one-shot config path without guessing --dir. Invoke with you run --named <canonical-name>. Resolution order is project-local ./factory (or --dir), then global ~/.you-agent-factory/factories, then built-in catalog materialization on first use. On-disk scoped names are URL-encoded — for example ~/.you-agent-factory/factories/@you%2Ftts/.Global shared factories root where packaged built-ins materialize:
Factory Name Identity
The live FactoryName definition is the customer-facing identifier for one packaged or named factory. you run --named and factory-session lookup use that identity. Exhaustive Factory field inventories stay on the full schema and API reference pages.FactoryName
stringCustomer-facing identifier for one stored named factory. `GET /factory-sessions/~default/factory` may also return the reserved `UNDEFINED` identifier when the active runtime is still the default root factory and no durable current-factory pointer exists. Semantic validation failures return `INVALID_FACTORY_NAME`, including attempts to activate a named factory with the reserved identifier.
- pattern
^(UNDEFINED|[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)$ - minLength
1
Metadata And Source Fragments
The live Factory root contract carries free-form metadata for serialization and replay diagnostics, plus sourceDirectory and factoryDirectory provenance for the on-disk definition. Packaged materialization writes an editable factory under the resolved root; later runs load that copy instead of overwriting customer edits. This page does not invent auto-refresh or package-lock semantics. Open the full schema and API references when you need exhaustive contract lookup beyond these teaching embeds.You Factory configuration
objectTop-level factory.json contract. Declare the work types, resources, portability resources, workers, and workstations that make up one authored factory here. Guarded loop breakers should be authored as guarded LOGICAL_MOVE workstations using VISIT_COUNT guards instead of a top-level exhaustion-rules field.
- additionalProperties
false (closed)
Fields
Optional localized customer-facing explanation of this Factory.
Ordered runnable invocation examples. Canonical Factory documents write examples here; legacy invocationSignature.examples are accepted only by the Factory input compatibility mapper.
- factoryDirectory
factoryDirectoryOptionalstringDirectory that contained the factory.json used for this serialized runtime config.
Root-level guards that apply across the factory instead of one specific workstation or input.
- id
idOptionalstringFactory identifier used as the factory-level template context fallback.
Named input kinds accepted by the factory. The default input type is implicit and must not be declared.
Optional factory-authored invocation primary-result policy shared by CLI and API entrypoints. When omitted, runtimes use the SUBMITTED_WORK_TERMINAL fallback and return the first terminal content for the work item originally submitted by the invocation.
Optional canonical callable argument contract shared by CLI, API, dashboard, docs, and packaged factories. When omitted, callers use the factory's compatibility invocation behavior.
Optional non-executable graph editor layout metadata keyed by canonical graph node and edge ids.
Free-form factory-level metadata carried through runtime serialization and replay diagnostics.
Authored orchestrator identity for this factory. When omitted, existing Petri factories load through compatibility defaulting to orchestrator.kind = PETRI.
Shared capacity pools that workers or workstations can consume while work is executing.
Default runner selection for the factory when a workstation does not declare its own runner override.
- sourceDirectory
sourceDirectoryOptionalstringOriginal source directory for record/replay and drift diagnostics.
Optional portability manifest for validation-only external tools and portable bundled files. During v1 factory sharing, bundled INPUT files represent a share-time snapshot of the source factory's current inputs work so recipients restore detached starter-work copies that no longer sync back to the original factory. This contract is distinct from runtime-capacity resources.
Server-managed current-factory version metadata. Clients should echo this value on complete replacement saves when they want stale-write detection, but durable factory configuration does not treat it as customer-authored topology.
Customer-authored work item categories and the lifecycle states each one can occupy.
Reusable worker definitions that workstations reference by name when dispatching work.
Processing steps that consume work, invoke workers, and emit the next work states.
How To Use
Run a packaged factory by its canonical name with you run --named. Pass one-shot invocation text when the factory accepts shared DEFAULT handling. Inspect factory-defined arguments with you run --named <canonical-name> --help. Open packaged CLI topics such as you docs packaged-goal when you need per-factory invocation signatures. Use the factories configuration and global-configuration pages when you need factory.json topology or operator defaults instead of packaged discovery.Run the packaged goal factory with one-shot invocation text:
Run the packaged text-to-speech factory:
Inspect factory-defined arguments for a packaged name: