@styx-api/core 0.3.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -790,6 +790,190 @@ declare function findStructNode(node: Expr, ctx: CodegenContext, structType: Ext
790
790
  kind: "sequence";
791
791
  }> | undefined;
792
792
  //#endregion
793
+ //#region src/backend/collect-output-fields.d.ts
794
+ /**
795
+ * Field shape for a single resolved output.
796
+ *
797
+ * - `single`: emitted at most once. Optional iff any `present`/`variant` atom
798
+ * appears in the gate (the value may be absent under that gate).
799
+ * - `list`: emitted once per element of an iterated binding (any `iter` atom in
800
+ * the gate). A gated list still types as a list - the empty list stands for
801
+ * "nothing produced".
802
+ */
803
+ type OutputShape = {
804
+ kind: "single";
805
+ optional: boolean;
806
+ } | {
807
+ kind: "list";
808
+ };
809
+ /** One collected Outputs field, deduped across same-named outputs. */
810
+ interface OutputField {
811
+ /** Backend-sanitized field identifier (via the caller's `idOf`). */
812
+ id: string;
813
+ /** First-seen raw output name (the descriptor's output id). */
814
+ name: string;
815
+ shape: OutputShape;
816
+ doc?: string;
817
+ }
818
+ /** A captured stream (stdout/stderr), surfaced as a list-of-lines Outputs field. */
819
+ interface StreamField {
820
+ /** First-seen raw stream name, bumped with a trailing `_` to dodge collisions. */
821
+ name: string;
822
+ /** Backend-sanitized identifier for `name` (via the caller's `idOf`). */
823
+ id: string;
824
+ doc?: string;
825
+ }
826
+ //#endregion
827
+ //#region src/backend/typed-spec.d.ts
828
+ /**
829
+ * A flat, rich projection of a tool's solved tree, for Python-ecosystem
830
+ * "declarative spec" backends (nipype, pydra) that DELEGATE EXECUTION to the
831
+ * already-generated styx Python wrapper rather than re-implementing arg-building
832
+ * or output-path templates.
833
+ *
834
+ * The model intentionally reuses the Python backend's naming (`buildEmitModel`'s
835
+ * `sigEntries` and `computePublicNames`-derived handles): both consumers call the
836
+ * Python wrapper by its exact scrubbed kwarg names, so deriving those names from
837
+ * the very function that defines the wrapper signature makes a name mismatch
838
+ * impossible by construction.
839
+ *
840
+ * The hard semantics (argv construction, output filename resolution) stay in the
841
+ * Python backend; this model carries only the *types* the spec frameworks need.
842
+ */
843
+ type TypedParamKind = "int" | "float" | "str" | "path" | "bool" | "count" | "enum" | "list" | "struct" | "union";
844
+ /** Lighter descriptor for a list's element type. */
845
+ interface TypedParamItem {
846
+ kind: TypedParamKind;
847
+ scalarKind?: ScalarKind;
848
+ choices?: (string | number)[];
849
+ mediaTypes?: string[];
850
+ }
851
+ /** One user-facing parameter of the styx kwarg wrapper, with its rich type. */
852
+ interface TypedParam {
853
+ /** EXACT scrubbed kwarg name the styx Python wrapper exposes. */
854
+ hostName: string;
855
+ /** styx field (wire) name. */
856
+ wireKey: string;
857
+ kind: TypedParamKind;
858
+ scalarKind?: ScalarKind;
859
+ /** True iff the BoundType is `optional` (the key may be absent). */
860
+ optional: boolean;
861
+ /** True iff the field carries an explicit default value (includes flags). */
862
+ hasDefault: boolean;
863
+ /** Required and never defaulted: must always be supplied. */
864
+ mandatory: boolean;
865
+ default?: string | number | boolean;
866
+ doc?: string;
867
+ /** Numeric range for int/float fields. */
868
+ range?: {
869
+ min?: number;
870
+ max?: number;
871
+ };
872
+ /** Cardinality bounds for list fields. */
873
+ listBounds?: {
874
+ min?: number;
875
+ max?: number;
876
+ };
877
+ /** Allowed values for enum (union-of-literal) fields. */
878
+ choices?: (string | number)[];
879
+ /** Media types declared on a file (path) field. */
880
+ mediaTypes?: string[];
881
+ /** Element descriptor for list fields. */
882
+ itemType?: TypedParamItem;
883
+ }
884
+ /** The delegation surface in the co-generated styx Python module. */
885
+ interface DelegationTarget {
886
+ /** styx Python module file stem (without extension). */
887
+ moduleName: string;
888
+ /** Kwarg wrapper function name (e.g. `bet`). */
889
+ wrapperFn: string;
890
+ /** Outputs dataclass name (e.g. `BetOutputs`). */
891
+ outputsClass: string;
892
+ }
893
+ /** Flat, typed projection consumed by the nipype/pydra backends. */
894
+ interface TypedSpec {
895
+ /**
896
+ * False when the solver collapsed the root to a non-struct (no kwarg surface).
897
+ * Such tools cannot be wrapped by a flat kwarg spec; consumers degrade/skip.
898
+ */
899
+ rootIsStruct: boolean;
900
+ params: TypedParam[];
901
+ outputs: OutputField[];
902
+ streams: StreamField[];
903
+ delegation: DelegationTarget;
904
+ }
905
+ /** Project a tool's solved tree into the flat typed spec for delegation backends. */
906
+ declare function buildTypedSpec(ctx: CodegenContext): TypedSpec;
907
+ //#endregion
908
+ //#region src/backend/nipype/emit.d.ts
909
+ /** Generated symbol names for one tool's nipype interface module. */
910
+ interface NipypeNames {
911
+ /** Styx Python module file stem to import the wrapper from (e.g. `_bet`). */
912
+ styxStem: string;
913
+ /** Interface module file stem (e.g. `bet`). */
914
+ ifaceStem: string;
915
+ /** Interface class name (e.g. `Bet`). */
916
+ cls: string;
917
+ /** Input spec class name (e.g. `BetInputSpec`). */
918
+ inputSpec: string;
919
+ /** Output spec class name (e.g. `BetOutputSpec`). */
920
+ outputSpec: string;
921
+ }
922
+ //#endregion
923
+ //#region src/backend/nipype/nipype.d.ts
924
+ /** Derive the per-tool nipype module/class names. */
925
+ declare function nipypeNames(ctx: CodegenContext): NipypeNames;
926
+ /** Generate the nipype interface module source for one tool. */
927
+ declare function generateNipype(ctx: CodegenContext): string;
928
+ /**
929
+ * Emits nipype `Interface` definitions whose typed InputSpec/OutputSpec carry
930
+ * rich constraints (numeric ranges, list bounds, enum choices, file types) and
931
+ * which delegate execution to the styx Python wrapper (Option B): no command-line
932
+ * arg-building or output-path resolution is re-implemented here.
933
+ *
934
+ * Per tool, two co-located files are emitted so the output is a self-contained,
935
+ * importable Python package: `_<tool>.py` (the styx Python module) and
936
+ * `<tool>.py` (the interface, importing the wrapper via a relative import).
937
+ */
938
+ declare class NipypeBackend implements Backend {
939
+ readonly name = "nipype";
940
+ readonly target = "nipype";
941
+ emitApp(ctx: CodegenContext, _scope?: Scope): EmittedApp;
942
+ }
943
+ //#endregion
944
+ //#region src/backend/pydra/emit.d.ts
945
+ /** Generated symbol names for one tool's pydra task module. */
946
+ interface PydraNames {
947
+ /** Styx Python module file stem to import the wrapper from (e.g. `_bet`). */
948
+ styxStem: string;
949
+ /** Task module file stem (e.g. `bet`). */
950
+ ifaceStem: string;
951
+ /** Task class name (e.g. `Bet`). */
952
+ cls: string;
953
+ }
954
+ //#endregion
955
+ //#region src/backend/pydra/pydra.d.ts
956
+ /** Derive the per-tool pydra module/class names. */
957
+ declare function pydraNames(ctx: CodegenContext): PydraNames;
958
+ /** Generate the pydra task module source for one tool. */
959
+ declare function generatePydra(ctx: CodegenContext): string;
960
+ /**
961
+ * Emits pydra tasks (`@python.define`, the post-rewrite pydra.compose API) whose
962
+ * typed inputs/outputs carry rich constraints (numeric ranges and list bounds via
963
+ * attrs validators, enum choices, file types, defaults) and which delegate
964
+ * execution to the styx Python wrapper (Option B): no command-line arg-building
965
+ * or output-path resolution is re-implemented here.
966
+ *
967
+ * Per tool, two co-located files are emitted so the output is a self-contained,
968
+ * importable Python package: `_<tool>.py` (the styx Python module) and
969
+ * `<tool>.py` (the task, importing the wrapper via a relative import).
970
+ */
971
+ declare class PydraBackend implements Backend {
972
+ readonly name = "pydra";
973
+ readonly target = "pydra";
974
+ emitApp(ctx: CodegenContext, _scope?: Scope): EmittedApp;
975
+ }
976
+ //#endregion
793
977
  //#region src/backend/resolve-field-binding.d.ts
794
978
  /**
795
979
  * Resolve a struct child node to its field binding, handling collapsed sequences.
@@ -930,6 +1114,41 @@ declare function unionKey(type: Extract<BoundType, {
930
1114
  }>): string;
931
1115
  //#endregion
932
1116
  //#region src/backend/python/python.d.ts
1117
+ /**
1118
+ * The fully-derived naming/typing model for one tool's Python emission. Computed
1119
+ * once by `buildEmitModel` so the file emitter and the call-site snippet renderer
1120
+ * share the exact same public names, scrubbed kwarg names, and root typing - the
1121
+ * snippet must match the function the generated code actually exposes.
1122
+ */
1123
+ interface PyEmitModel {
1124
+ appId: string | undefined;
1125
+ pkg: string | undefined;
1126
+ names: {
1127
+ params: string;
1128
+ outputs: string;
1129
+ metadata: string;
1130
+ cargs: string;
1131
+ outputsFn: string;
1132
+ paramsFn: string;
1133
+ execute: string;
1134
+ validate: string;
1135
+ wrapper: string;
1136
+ };
1137
+ rootType: BoundType;
1138
+ rootIsStruct: boolean;
1139
+ namedTypes: Map<string, string>;
1140
+ typeDecls: NamedType[];
1141
+ rootTypeTag: string | undefined;
1142
+ paramsType: string;
1143
+ sigEntries: SigEntry[];
1144
+ }
1145
+ /**
1146
+ * Derive the public names, named-type declarations, root typing, and per-field
1147
+ * signature entries for one tool. Mutates `scope` exactly as the emitter needs
1148
+ * (the `reg` registrations and the `sigScope` child), so passing the same scope
1149
+ * the emitter continues with keeps later local registrations consistent.
1150
+ */
1151
+ declare function buildEmitModel(ctx: CodegenContext, scope?: Scope): PyEmitModel;
933
1152
  declare function generatePython(ctx: CodegenContext, packageScope?: Scope): string;
934
1153
  declare class PythonBackend implements Backend {
935
1154
  readonly name = "python";
@@ -1089,11 +1308,13 @@ declare const STYXDEFS_COMPAT: {
1089
1308
  readonly npm: "^0.2.0";
1090
1309
  };
1091
1310
  /**
1092
- * Extra Python runtime packages the root distribution pulls in (container +
1093
- * graph runners). Left unpinned - styxdefs's floor constrains them transitively
1094
- * via their own inter-package pins.
1311
+ * Extra Python runtime packages the root metapackage pulls in. `styxkit[all]`
1312
+ * provides the cross-backend runner-selection helpers (`use_docker`, `use_auto`,
1313
+ * ...) that the metapackage's `__init__` re-exports, and transitively installs
1314
+ * every container/graph runner backend. Left unpinned - styxkit's own styxdefs
1315
+ * floor constrains the stack.
1095
1316
  */
1096
- declare const PYTHON_RUNNER_DEPS: readonly ["styxdocker", "styxsingularity", "styxgraph"];
1317
+ declare const PYTHON_RUNNER_DEPS: readonly ["styxkit[all]"];
1097
1318
  //#endregion
1098
1319
  //#region src/backend/typescript/typescript.d.ts
1099
1320
  declare function generateTypeScript(ctx: CodegenContext, packageScope?: Scope): string;
@@ -1145,5 +1366,5 @@ declare function compile(source: string, filenameOrOptions?: string | {
1145
1366
  filename?: string;
1146
1367
  }): ParseResult;
1147
1368
  //#endregion
1148
- export { AccessPath, AccessSegment, Alternative, AppEntrypoint, AppMeta, Backend, Binding, BindingId, BindingRegistry, BoundType, BoundVariant, BoutiquesBackend, CodeBuilder, CodegenContext, Documentation, EmitError, EmitResult, EmitWarning, EmittedApp, EmittedPackage, Expr, FieldInfo, Float, FormatName, Frontend, GateAtom, Int, JsonSchema, JsonSchemaBackend, Literal, MediaTypeIdentifier, NamedType, NamingStrategy, NodeMeta, NodeRef, Optional, Output, OutputDiagnostic, OutputDiagnosticLevel, OutputEmitPlan, OutputResolution, OutputScope, OutputToken, OutputValidationResult, PYTHON_RUNNER_DEPS, PackageMeta, ParseError, ParseResult, ParseWarning, Pass, PassResult, PassStatus, Path, ProjectMeta, PythonBackend, Repeat, ResolvedOutput, ResolvedToken, STYXDEFS_COMPAT, ScalarKind, Scope, Sequence, SigEntry, SigOptions, SnippetDialect, SnippetOptions, SolveOptions, SolveResult, SourceLocation, Str, StreamOutput, StructuralNode, Terminal, TypeMap, TypeScriptBackend, alt, appEntrypoint, atomKey, buildSigEntries, camelCase, canonicalize, collectFieldInfo, collectNamedTypes, compactTokens, compile, compose, createContext, createPipeline, createRegistry, defaultNamingStrategy, defaultPipeline, detectFormat, effectiveOutputName, findDoc, findStructNode, fixpoint, flatten, float, format, formatSolveResult, generateBoutiques, generateOutputsSchema, generatePython, generateSchema, generateTypeScript, int, isGated, isIterated, isStructural, isTerminal, lit, nodeRef, opt, outputGate, pascalCase, path, planOutput, planScope, removeEmpty, renderPythonCall, renderStructLiteral, renderTypeScriptCall, renderValue, rep, repJoin, resolveFieldBinding, resolveOutputs, resolveTypeName, screamingSnakeCase, seq, seqJoin, simplify, snakeCase, solve, str, structKey, typeKey, unionKey };
1369
+ export { AccessPath, AccessSegment, Alternative, AppEntrypoint, AppMeta, Backend, Binding, BindingId, BindingRegistry, BoundType, BoundVariant, BoutiquesBackend, CodeBuilder, CodegenContext, DelegationTarget, Documentation, EmitError, EmitResult, EmitWarning, EmittedApp, EmittedPackage, Expr, FieldInfo, Float, FormatName, Frontend, GateAtom, Int, JsonSchema, JsonSchemaBackend, Literal, MediaTypeIdentifier, NamedType, NamingStrategy, NipypeBackend, NipypeNames, NodeMeta, NodeRef, Optional, Output, OutputDiagnostic, OutputDiagnosticLevel, OutputEmitPlan, OutputResolution, OutputScope, OutputToken, OutputValidationResult, PYTHON_RUNNER_DEPS, PackageMeta, ParseError, ParseResult, ParseWarning, Pass, PassResult, PassStatus, Path, ProjectMeta, PydraBackend, PydraNames, PythonBackend, Repeat, ResolvedOutput, ResolvedToken, STYXDEFS_COMPAT, ScalarKind, Scope, Sequence, SigEntry, SigOptions, SnippetDialect, SnippetOptions, SolveOptions, SolveResult, SourceLocation, Str, StreamOutput, StructuralNode, Terminal, TypeMap, TypeScriptBackend, TypedParam, TypedParamItem, TypedParamKind, TypedSpec, alt, appEntrypoint, atomKey, buildEmitModel, buildSigEntries, buildTypedSpec, camelCase, canonicalize, collectFieldInfo, collectNamedTypes, compactTokens, compile, compose, createContext, createPipeline, createRegistry, defaultNamingStrategy, defaultPipeline, detectFormat, effectiveOutputName, findDoc, findStructNode, fixpoint, flatten, float, format, formatSolveResult, generateBoutiques, generateNipype, generateOutputsSchema, generatePydra, generatePython, generateSchema, generateTypeScript, int, isGated, isIterated, isStructural, isTerminal, lit, nipypeNames, nodeRef, opt, outputGate, pascalCase, path, planOutput, planScope, pydraNames, removeEmpty, renderPythonCall, renderStructLiteral, renderTypeScriptCall, renderValue, rep, repJoin, resolveFieldBinding, resolveOutputs, resolveTypeName, screamingSnakeCase, seq, seqJoin, simplify, snakeCase, solve, str, structKey, typeKey, unionKey };
1149
1370
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../src/frontend/detect-format.ts","../src/ir/types.ts","../src/ir/meta.ts","../src/ir/node.ts","../src/ir/builders.ts","../src/ir/format.ts","../src/ir/passes/pass.ts","../src/ir/passes/canonicalize.ts","../src/ir/passes/flatten.ts","../src/ir/passes/pipeline.ts","../src/ir/passes/simplify.ts","../src/ir/passes/remove-empty.ts","../src/frontend/frontend.ts","../src/bindings/resolved-output.ts","../src/bindings/types.ts","../src/bindings/binding.ts","../src/bindings/output-gate.ts","../src/bindings/format.ts","../src/solver/resolve-outputs.ts","../src/solver/solver.ts","../src/manifest/types.ts","../src/manifest/context.ts","../src/backend/scope.ts","../src/backend/backend.ts","../src/backend/boutiques/boutiques.ts","../src/backend/code-builder.ts","../src/backend/collect-field-info.ts","../src/backend/collect-named-types.ts","../src/backend/find-doc.ts","../src/backend/find-struct-node.ts","../src/backend/resolve-field-binding.ts","../src/backend/resolve-output-tokens.ts","../src/backend/sig-entries.ts","../src/backend/type-keys.ts","../src/backend/python/python.ts","../src/backend/snippet-core.ts","../src/backend/python/snippet.ts","../src/backend/schema/jsonschema.ts","../src/backend/string-case.ts","../src/backend/styxdefs-compat.ts","../src/backend/typescript/typescript.ts","../src/backend/typescript/snippet.ts","../src/index.ts"],"mappings":"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"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../src/frontend/detect-format.ts","../src/ir/types.ts","../src/ir/meta.ts","../src/ir/node.ts","../src/ir/builders.ts","../src/ir/format.ts","../src/ir/passes/pass.ts","../src/ir/passes/canonicalize.ts","../src/ir/passes/flatten.ts","../src/ir/passes/pipeline.ts","../src/ir/passes/simplify.ts","../src/ir/passes/remove-empty.ts","../src/frontend/frontend.ts","../src/bindings/resolved-output.ts","../src/bindings/types.ts","../src/bindings/binding.ts","../src/bindings/output-gate.ts","../src/bindings/format.ts","../src/solver/resolve-outputs.ts","../src/solver/solver.ts","../src/manifest/types.ts","../src/manifest/context.ts","../src/backend/scope.ts","../src/backend/backend.ts","../src/backend/boutiques/boutiques.ts","../src/backend/code-builder.ts","../src/backend/collect-field-info.ts","../src/backend/collect-named-types.ts","../src/backend/find-doc.ts","../src/backend/find-struct-node.ts","../src/backend/collect-output-fields.ts","../src/backend/typed-spec.ts","../src/backend/nipype/emit.ts","../src/backend/nipype/nipype.ts","../src/backend/pydra/emit.ts","../src/backend/pydra/pydra.ts","../src/backend/resolve-field-binding.ts","../src/backend/resolve-output-tokens.ts","../src/backend/sig-entries.ts","../src/backend/type-keys.ts","../src/backend/python/python.ts","../src/backend/snippet-core.ts","../src/backend/python/snippet.ts","../src/backend/schema/jsonschema.ts","../src/backend/string-case.ts","../src/backend/styxdefs-compat.ts","../src/backend/typescript/typescript.ts","../src/backend/typescript/snippet.ts","../src/index.ts"],"mappings":"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"}
package/dist/index.d.mts CHANGED
@@ -790,6 +790,190 @@ declare function findStructNode(node: Expr, ctx: CodegenContext, structType: Ext
790
790
  kind: "sequence";
791
791
  }> | undefined;
792
792
  //#endregion
793
+ //#region src/backend/collect-output-fields.d.ts
794
+ /**
795
+ * Field shape for a single resolved output.
796
+ *
797
+ * - `single`: emitted at most once. Optional iff any `present`/`variant` atom
798
+ * appears in the gate (the value may be absent under that gate).
799
+ * - `list`: emitted once per element of an iterated binding (any `iter` atom in
800
+ * the gate). A gated list still types as a list - the empty list stands for
801
+ * "nothing produced".
802
+ */
803
+ type OutputShape = {
804
+ kind: "single";
805
+ optional: boolean;
806
+ } | {
807
+ kind: "list";
808
+ };
809
+ /** One collected Outputs field, deduped across same-named outputs. */
810
+ interface OutputField {
811
+ /** Backend-sanitized field identifier (via the caller's `idOf`). */
812
+ id: string;
813
+ /** First-seen raw output name (the descriptor's output id). */
814
+ name: string;
815
+ shape: OutputShape;
816
+ doc?: string;
817
+ }
818
+ /** A captured stream (stdout/stderr), surfaced as a list-of-lines Outputs field. */
819
+ interface StreamField {
820
+ /** First-seen raw stream name, bumped with a trailing `_` to dodge collisions. */
821
+ name: string;
822
+ /** Backend-sanitized identifier for `name` (via the caller's `idOf`). */
823
+ id: string;
824
+ doc?: string;
825
+ }
826
+ //#endregion
827
+ //#region src/backend/typed-spec.d.ts
828
+ /**
829
+ * A flat, rich projection of a tool's solved tree, for Python-ecosystem
830
+ * "declarative spec" backends (nipype, pydra) that DELEGATE EXECUTION to the
831
+ * already-generated styx Python wrapper rather than re-implementing arg-building
832
+ * or output-path templates.
833
+ *
834
+ * The model intentionally reuses the Python backend's naming (`buildEmitModel`'s
835
+ * `sigEntries` and `computePublicNames`-derived handles): both consumers call the
836
+ * Python wrapper by its exact scrubbed kwarg names, so deriving those names from
837
+ * the very function that defines the wrapper signature makes a name mismatch
838
+ * impossible by construction.
839
+ *
840
+ * The hard semantics (argv construction, output filename resolution) stay in the
841
+ * Python backend; this model carries only the *types* the spec frameworks need.
842
+ */
843
+ type TypedParamKind = "int" | "float" | "str" | "path" | "bool" | "count" | "enum" | "list" | "struct" | "union";
844
+ /** Lighter descriptor for a list's element type. */
845
+ interface TypedParamItem {
846
+ kind: TypedParamKind;
847
+ scalarKind?: ScalarKind;
848
+ choices?: (string | number)[];
849
+ mediaTypes?: string[];
850
+ }
851
+ /** One user-facing parameter of the styx kwarg wrapper, with its rich type. */
852
+ interface TypedParam {
853
+ /** EXACT scrubbed kwarg name the styx Python wrapper exposes. */
854
+ hostName: string;
855
+ /** styx field (wire) name. */
856
+ wireKey: string;
857
+ kind: TypedParamKind;
858
+ scalarKind?: ScalarKind;
859
+ /** True iff the BoundType is `optional` (the key may be absent). */
860
+ optional: boolean;
861
+ /** True iff the field carries an explicit default value (includes flags). */
862
+ hasDefault: boolean;
863
+ /** Required and never defaulted: must always be supplied. */
864
+ mandatory: boolean;
865
+ default?: string | number | boolean;
866
+ doc?: string;
867
+ /** Numeric range for int/float fields. */
868
+ range?: {
869
+ min?: number;
870
+ max?: number;
871
+ };
872
+ /** Cardinality bounds for list fields. */
873
+ listBounds?: {
874
+ min?: number;
875
+ max?: number;
876
+ };
877
+ /** Allowed values for enum (union-of-literal) fields. */
878
+ choices?: (string | number)[];
879
+ /** Media types declared on a file (path) field. */
880
+ mediaTypes?: string[];
881
+ /** Element descriptor for list fields. */
882
+ itemType?: TypedParamItem;
883
+ }
884
+ /** The delegation surface in the co-generated styx Python module. */
885
+ interface DelegationTarget {
886
+ /** styx Python module file stem (without extension). */
887
+ moduleName: string;
888
+ /** Kwarg wrapper function name (e.g. `bet`). */
889
+ wrapperFn: string;
890
+ /** Outputs dataclass name (e.g. `BetOutputs`). */
891
+ outputsClass: string;
892
+ }
893
+ /** Flat, typed projection consumed by the nipype/pydra backends. */
894
+ interface TypedSpec {
895
+ /**
896
+ * False when the solver collapsed the root to a non-struct (no kwarg surface).
897
+ * Such tools cannot be wrapped by a flat kwarg spec; consumers degrade/skip.
898
+ */
899
+ rootIsStruct: boolean;
900
+ params: TypedParam[];
901
+ outputs: OutputField[];
902
+ streams: StreamField[];
903
+ delegation: DelegationTarget;
904
+ }
905
+ /** Project a tool's solved tree into the flat typed spec for delegation backends. */
906
+ declare function buildTypedSpec(ctx: CodegenContext): TypedSpec;
907
+ //#endregion
908
+ //#region src/backend/nipype/emit.d.ts
909
+ /** Generated symbol names for one tool's nipype interface module. */
910
+ interface NipypeNames {
911
+ /** Styx Python module file stem to import the wrapper from (e.g. `_bet`). */
912
+ styxStem: string;
913
+ /** Interface module file stem (e.g. `bet`). */
914
+ ifaceStem: string;
915
+ /** Interface class name (e.g. `Bet`). */
916
+ cls: string;
917
+ /** Input spec class name (e.g. `BetInputSpec`). */
918
+ inputSpec: string;
919
+ /** Output spec class name (e.g. `BetOutputSpec`). */
920
+ outputSpec: string;
921
+ }
922
+ //#endregion
923
+ //#region src/backend/nipype/nipype.d.ts
924
+ /** Derive the per-tool nipype module/class names. */
925
+ declare function nipypeNames(ctx: CodegenContext): NipypeNames;
926
+ /** Generate the nipype interface module source for one tool. */
927
+ declare function generateNipype(ctx: CodegenContext): string;
928
+ /**
929
+ * Emits nipype `Interface` definitions whose typed InputSpec/OutputSpec carry
930
+ * rich constraints (numeric ranges, list bounds, enum choices, file types) and
931
+ * which delegate execution to the styx Python wrapper (Option B): no command-line
932
+ * arg-building or output-path resolution is re-implemented here.
933
+ *
934
+ * Per tool, two co-located files are emitted so the output is a self-contained,
935
+ * importable Python package: `_<tool>.py` (the styx Python module) and
936
+ * `<tool>.py` (the interface, importing the wrapper via a relative import).
937
+ */
938
+ declare class NipypeBackend implements Backend {
939
+ readonly name = "nipype";
940
+ readonly target = "nipype";
941
+ emitApp(ctx: CodegenContext, _scope?: Scope): EmittedApp;
942
+ }
943
+ //#endregion
944
+ //#region src/backend/pydra/emit.d.ts
945
+ /** Generated symbol names for one tool's pydra task module. */
946
+ interface PydraNames {
947
+ /** Styx Python module file stem to import the wrapper from (e.g. `_bet`). */
948
+ styxStem: string;
949
+ /** Task module file stem (e.g. `bet`). */
950
+ ifaceStem: string;
951
+ /** Task class name (e.g. `Bet`). */
952
+ cls: string;
953
+ }
954
+ //#endregion
955
+ //#region src/backend/pydra/pydra.d.ts
956
+ /** Derive the per-tool pydra module/class names. */
957
+ declare function pydraNames(ctx: CodegenContext): PydraNames;
958
+ /** Generate the pydra task module source for one tool. */
959
+ declare function generatePydra(ctx: CodegenContext): string;
960
+ /**
961
+ * Emits pydra tasks (`@python.define`, the post-rewrite pydra.compose API) whose
962
+ * typed inputs/outputs carry rich constraints (numeric ranges and list bounds via
963
+ * attrs validators, enum choices, file types, defaults) and which delegate
964
+ * execution to the styx Python wrapper (Option B): no command-line arg-building
965
+ * or output-path resolution is re-implemented here.
966
+ *
967
+ * Per tool, two co-located files are emitted so the output is a self-contained,
968
+ * importable Python package: `_<tool>.py` (the styx Python module) and
969
+ * `<tool>.py` (the task, importing the wrapper via a relative import).
970
+ */
971
+ declare class PydraBackend implements Backend {
972
+ readonly name = "pydra";
973
+ readonly target = "pydra";
974
+ emitApp(ctx: CodegenContext, _scope?: Scope): EmittedApp;
975
+ }
976
+ //#endregion
793
977
  //#region src/backend/resolve-field-binding.d.ts
794
978
  /**
795
979
  * Resolve a struct child node to its field binding, handling collapsed sequences.
@@ -930,6 +1114,41 @@ declare function unionKey(type: Extract<BoundType, {
930
1114
  }>): string;
931
1115
  //#endregion
932
1116
  //#region src/backend/python/python.d.ts
1117
+ /**
1118
+ * The fully-derived naming/typing model for one tool's Python emission. Computed
1119
+ * once by `buildEmitModel` so the file emitter and the call-site snippet renderer
1120
+ * share the exact same public names, scrubbed kwarg names, and root typing - the
1121
+ * snippet must match the function the generated code actually exposes.
1122
+ */
1123
+ interface PyEmitModel {
1124
+ appId: string | undefined;
1125
+ pkg: string | undefined;
1126
+ names: {
1127
+ params: string;
1128
+ outputs: string;
1129
+ metadata: string;
1130
+ cargs: string;
1131
+ outputsFn: string;
1132
+ paramsFn: string;
1133
+ execute: string;
1134
+ validate: string;
1135
+ wrapper: string;
1136
+ };
1137
+ rootType: BoundType;
1138
+ rootIsStruct: boolean;
1139
+ namedTypes: Map<string, string>;
1140
+ typeDecls: NamedType[];
1141
+ rootTypeTag: string | undefined;
1142
+ paramsType: string;
1143
+ sigEntries: SigEntry[];
1144
+ }
1145
+ /**
1146
+ * Derive the public names, named-type declarations, root typing, and per-field
1147
+ * signature entries for one tool. Mutates `scope` exactly as the emitter needs
1148
+ * (the `reg` registrations and the `sigScope` child), so passing the same scope
1149
+ * the emitter continues with keeps later local registrations consistent.
1150
+ */
1151
+ declare function buildEmitModel(ctx: CodegenContext, scope?: Scope): PyEmitModel;
933
1152
  declare function generatePython(ctx: CodegenContext, packageScope?: Scope): string;
934
1153
  declare class PythonBackend implements Backend {
935
1154
  readonly name = "python";
@@ -1089,11 +1308,13 @@ declare const STYXDEFS_COMPAT: {
1089
1308
  readonly npm: "^0.2.0";
1090
1309
  };
1091
1310
  /**
1092
- * Extra Python runtime packages the root distribution pulls in (container +
1093
- * graph runners). Left unpinned - styxdefs's floor constrains them transitively
1094
- * via their own inter-package pins.
1311
+ * Extra Python runtime packages the root metapackage pulls in. `styxkit[all]`
1312
+ * provides the cross-backend runner-selection helpers (`use_docker`, `use_auto`,
1313
+ * ...) that the metapackage's `__init__` re-exports, and transitively installs
1314
+ * every container/graph runner backend. Left unpinned - styxkit's own styxdefs
1315
+ * floor constrains the stack.
1095
1316
  */
1096
- declare const PYTHON_RUNNER_DEPS: readonly ["styxdocker", "styxsingularity", "styxgraph"];
1317
+ declare const PYTHON_RUNNER_DEPS: readonly ["styxkit[all]"];
1097
1318
  //#endregion
1098
1319
  //#region src/backend/typescript/typescript.d.ts
1099
1320
  declare function generateTypeScript(ctx: CodegenContext, packageScope?: Scope): string;
@@ -1145,5 +1366,5 @@ declare function compile(source: string, filenameOrOptions?: string | {
1145
1366
  filename?: string;
1146
1367
  }): ParseResult;
1147
1368
  //#endregion
1148
- export { AccessPath, AccessSegment, Alternative, AppEntrypoint, AppMeta, Backend, Binding, BindingId, BindingRegistry, BoundType, BoundVariant, BoutiquesBackend, CodeBuilder, CodegenContext, Documentation, EmitError, EmitResult, EmitWarning, EmittedApp, EmittedPackage, Expr, FieldInfo, Float, FormatName, Frontend, GateAtom, Int, JsonSchema, JsonSchemaBackend, Literal, MediaTypeIdentifier, NamedType, NamingStrategy, NodeMeta, NodeRef, Optional, Output, OutputDiagnostic, OutputDiagnosticLevel, OutputEmitPlan, OutputResolution, OutputScope, OutputToken, OutputValidationResult, PYTHON_RUNNER_DEPS, PackageMeta, ParseError, ParseResult, ParseWarning, Pass, PassResult, PassStatus, Path, ProjectMeta, PythonBackend, Repeat, ResolvedOutput, ResolvedToken, STYXDEFS_COMPAT, ScalarKind, Scope, Sequence, SigEntry, SigOptions, SnippetDialect, SnippetOptions, SolveOptions, SolveResult, SourceLocation, Str, StreamOutput, StructuralNode, Terminal, TypeMap, TypeScriptBackend, alt, appEntrypoint, atomKey, buildSigEntries, camelCase, canonicalize, collectFieldInfo, collectNamedTypes, compactTokens, compile, compose, createContext, createPipeline, createRegistry, defaultNamingStrategy, defaultPipeline, detectFormat, effectiveOutputName, findDoc, findStructNode, fixpoint, flatten, float, format, formatSolveResult, generateBoutiques, generateOutputsSchema, generatePython, generateSchema, generateTypeScript, int, isGated, isIterated, isStructural, isTerminal, lit, nodeRef, opt, outputGate, pascalCase, path, planOutput, planScope, removeEmpty, renderPythonCall, renderStructLiteral, renderTypeScriptCall, renderValue, rep, repJoin, resolveFieldBinding, resolveOutputs, resolveTypeName, screamingSnakeCase, seq, seqJoin, simplify, snakeCase, solve, str, structKey, typeKey, unionKey };
1369
+ export { AccessPath, AccessSegment, Alternative, AppEntrypoint, AppMeta, Backend, Binding, BindingId, BindingRegistry, BoundType, BoundVariant, BoutiquesBackend, CodeBuilder, CodegenContext, DelegationTarget, Documentation, EmitError, EmitResult, EmitWarning, EmittedApp, EmittedPackage, Expr, FieldInfo, Float, FormatName, Frontend, GateAtom, Int, JsonSchema, JsonSchemaBackend, Literal, MediaTypeIdentifier, NamedType, NamingStrategy, NipypeBackend, NipypeNames, NodeMeta, NodeRef, Optional, Output, OutputDiagnostic, OutputDiagnosticLevel, OutputEmitPlan, OutputResolution, OutputScope, OutputToken, OutputValidationResult, PYTHON_RUNNER_DEPS, PackageMeta, ParseError, ParseResult, ParseWarning, Pass, PassResult, PassStatus, Path, ProjectMeta, PydraBackend, PydraNames, PythonBackend, Repeat, ResolvedOutput, ResolvedToken, STYXDEFS_COMPAT, ScalarKind, Scope, Sequence, SigEntry, SigOptions, SnippetDialect, SnippetOptions, SolveOptions, SolveResult, SourceLocation, Str, StreamOutput, StructuralNode, Terminal, TypeMap, TypeScriptBackend, TypedParam, TypedParamItem, TypedParamKind, TypedSpec, alt, appEntrypoint, atomKey, buildEmitModel, buildSigEntries, buildTypedSpec, camelCase, canonicalize, collectFieldInfo, collectNamedTypes, compactTokens, compile, compose, createContext, createPipeline, createRegistry, defaultNamingStrategy, defaultPipeline, detectFormat, effectiveOutputName, findDoc, findStructNode, fixpoint, flatten, float, format, formatSolveResult, generateBoutiques, generateNipype, generateOutputsSchema, generatePydra, generatePython, generateSchema, generateTypeScript, int, isGated, isIterated, isStructural, isTerminal, lit, nipypeNames, nodeRef, opt, outputGate, pascalCase, path, planOutput, planScope, pydraNames, removeEmpty, renderPythonCall, renderStructLiteral, renderTypeScriptCall, renderValue, rep, repJoin, resolveFieldBinding, resolveOutputs, resolveTypeName, screamingSnakeCase, seq, seqJoin, simplify, snakeCase, solve, str, structKey, typeKey, unionKey };
1149
1370
  //# sourceMappingURL=index.d.mts.map