Skip to main content
Version: 1.0-beta

Artifacts

API reference​

A selection of workspace artifacts and their immutable collection view. Collection key filters replace collection references with subsets. Static filters change only membership. Listed types, dimensions, and keys use OR; chained filters use AND. Empty alternatives match nothing; unknown names match nothing but module load failures. Filters never change addresses or dimension identifiers. Module keys match a module's configured or kebab-case name. A module that failed to load has no schema, so its load failure stands in for whatever it would hold: a filter keeps it when the module could hold something the filter selects, and an exclusion drops it only by its own address, such as <module>/** or ?module=<module>.

Implements Node

dimensionKeys
List keys represented in this selection for the given dimension, sorted with no duplicates.
dimensions
List dimension identifiers represented in this selection, sorted with no duplicates.
id
A unique identifier for this Artifacts.
uri
The DAG address that selects this whole selection: filterUri(uri) selects the same set.
asChangesets
Convert the selection to Changesets. Fail if any artifact is not a Changeset; a module load failure fails with its load error. Does not apply command filters.
asChecks
Convert the selection to Checks. Fail if any artifact is not a Check. A module load failure is a Check that fails with its load error. Does not apply command filters or run the checks.
asExpertise
Convert the selection to expertise without running the functions. Each must take one LLM! argument and return LLM!; any other arguments must be optional or auto-filled. Agent arguments receive the agent that owns the conversation. A module load failure fails with its load error.
asGenerators
Convert the selection to Generators without running them. Fail if any artifact is not a Generator. Module load failures are skipped: generating can repair them.
asServices
Convert the selection to Services. Fail if any artifact is not a Service; a module load failure fails with its load error. Does not apply command filters or start the services.
dimensionDefinitions
List dimensions on the selected schema paths, including empty collections. Does not read runtime values.
dimensionItems
List collection items represented in this selection for the given dimension. Preserve parent keys and remove duplicate item addresses. Does not evaluate item values.
filterDimensionKeys
Keep artifacts with any listed key in this dimension. Replace collection references with matching subsets. Skip absent keys and leave the source view unchanged.
filterDimensions
Keep artifacts selected through any listed dimension.
filterDirectives
Keep artifacts with any listed directive. Does not filter by type or workspace settings.
filterParentDirectives
Keep artifacts whose immediate parent has any listed directive. Artifacts without a parent do not match.
filterParentTypes
Keep artifacts whose immediate parent has any listed object type. Artifacts without a typed parent do not match.
filterPath
Match one complete, ordered field sequence exactly.
filterPathPattern
Keep paths that match a glob pattern. A literal path matches exactly. Both module-qualified and workspace main paths match.
filterTypes
Keep artifacts of any listed concrete GraphQL type.
filterUri
Apply a DAG address as one filter: the chain of path, type, and dimension-key filters it encodes.
items
List artifact descriptions with their collection view. Discover collection keys without evaluating leaf values.
modules
List the modules represented in this selection without evaluating artifact values.
one
Require exactly one artifact; fail if there are zero or multiple matches. Several matches are listed, one address per line.
pathDefinitions
List selected schema paths, including empty collections. Does not read runtime values. Applies type keys and collection presence; collection key values require items.
types
List concrete type definitions represented in this selection, sorted by name with no duplicates.
withoutUri
Remove artifacts selected by a DAG address. Retain the collection view.

dimensionKeys(dimension: String!): [String!]!

List keys represented in this selection for the given dimension, sorted with no duplicates.

dimension: String!

dimensions: [String!]!

List dimension identifiers represented in this selection, sorted with no duplicates.

id: ID!

A unique identifier for this Artifacts.

uri: String!

The DAG address that selects this whole selection: filterUri(uri) selects the same set.

asChangesets: [Changeset!]!

Convert the selection to Changesets. Fail if any artifact is not a Changeset; a module load failure fails with its load error. Does not apply command filters.

asChecks: [Check!]!

Convert the selection to Checks. Fail if any artifact is not a Check. A module load failure is a Check that fails with its load error. Does not apply command filters or run the checks.

asExpertise: [Expertise!]!

Convert the selection to expertise without running the functions. Each must take one LLM! argument and return LLM!; any other arguments must be optional or auto-filled. Agent arguments receive the agent that owns the conversation. A module load failure fails with its load error.

asGenerators: [Generator!]!

Convert the selection to Generators without running them. Fail if any artifact is not a Generator. Module load failures are skipped: generating can repair them.

asServices: [Service!]!

Convert the selection to Services. Fail if any artifact is not a Service; a module load failure fails with its load error. Does not apply command filters or start the services.

dimensionDefinitions: [ArtifactDimension!]!

List dimensions on the selected schema paths, including empty collections. Does not read runtime values.

dimensionItems(dimension: String!): [Artifact!]!

List collection items represented in this selection for the given dimension. Preserve parent keys and remove duplicate item addresses. Does not evaluate item values.

dimension: String!

filterDimensionKeys(dimension: String!, keys: [String!]!): Artifacts!

Keep artifacts with any listed key in this dimension. Replace collection references with matching subsets. Skip absent keys and leave the source view unchanged.

dimension: String!
keys: [String!]!

filterDimensions(dimensions: [String!]!): Artifacts!

Keep artifacts selected through any listed dimension.

dimensions: [String!]!

filterDirectives(directives: [String!]!, exclude: Boolean = false): Artifacts!

Keep artifacts with any listed directive. Does not filter by type or workspace settings.

directives: [String!]!
exclude: Boolean = false

Remove the matching artifacts instead.

filterParentDirectives(directives: [String!]!, exclude: Boolean = false): Artifacts!

Keep artifacts whose immediate parent has any listed directive. Artifacts without a parent do not match.

directives: [String!]!
exclude: Boolean = false

Remove the matching artifacts instead.

filterParentTypes(types: [String!]!, exclude: Boolean = false): Artifacts!

Keep artifacts whose immediate parent has any listed object type. Artifacts without a typed parent do not match.

types: [String!]!
exclude: Boolean = false

Remove the matching artifacts instead.

filterPath(path: [String!]!): Artifacts!

Match one complete, ordered field sequence exactly.

path: [String!]!

filterPathPattern(pattern: String!): Artifacts!

Keep paths that match a glob pattern. A literal path matches exactly. Both module-qualified and workspace main paths match.

pattern: String!

filterTypes(types: [String!]!, exclude: Boolean = false): Artifacts!

Keep artifacts of any listed concrete GraphQL type.

types: [String!]!
exclude: Boolean = false

Remove the matching artifacts instead.

filterUri(uri: String!): Artifacts!

Apply a DAG address as one filter: the chain of path, type, and dimension-key filters it encodes.

The scheme is optional. The path may be a pattern; an empty path selects all artifacts.

A module that failed to load keeps its load failure when the module could hold what the address selects, as with every filter (see Artifacts).

uri: String!

A DAG address: [dag[+<type>]://][<path>][?<dimension>=<key>&...]

items: [Artifact!]!

List artifact descriptions with their collection view. Discover collection keys without evaluating leaf values.

modules: [Module!]!

List the modules represented in this selection without evaluating artifact values.

one: Artifact!

Require exactly one artifact; fail if there are zero or multiple matches. Several matches are listed, one address per line.

pathDefinitions(absolute: Boolean = false,typeAssertion: Boolean = false,dimension: String): [ArtifactPath!]!

List selected schema paths, including empty collections. Does not read runtime values. Applies type keys and collection presence; collection key values require items.

absolute: Boolean = false

Prefix each address with the workspace's Git address and commit.

typeAssertion: Boolean = false

Include the artifact type in each address scheme.

dimension: String

Project paths to the items of this collection dimension. Preserve parent dimensions and remove descendant dimensions.

types: [TypeDef!]!

List concrete type definitions represented in this selection, sorted by name with no duplicates.

withoutUri(uri: String!): Artifacts!

Remove artifacts selected by a DAG address. Retain the collection view.

uri: String!

References

Returned by