vigiles API reference
    Preparing search index...

    Variable experimental_agentConst Experimental

    experimental_agent: <const P extends AuthoredPurity | undefined = undefined>(
        spec: AgentSpecInput<P, ClaudeCodeToolVocabulary>,
    ) => AgentSpec & {
        andThen: <
            PriorOk extends Readonly<Record<string, OutputFieldType>>,
            PriorErr extends Readonly<Record<string, OutputFieldType>>,
            Needs extends Readonly<Record<string, OutputFieldType>>,
            Ok extends Readonly<Record<string, OutputFieldType>>,
            Err extends Readonly<Record<string, OutputFieldType>>,
        >(
            prior: Pipeline<PriorOk, PriorErr>,
            next: Supplies<PriorOk, Needs> extends true
                ? PipeStep<Needs, Ok, Err>
                : { __HANDOFF_ERROR: Supplies<PriorOk, Needs> },
        ) => Pipeline<Ok, PriorErr | Err>;
        delegate: (
            agent: string,
            task?: string,
            needsContract?: Readonly<Record<string, OutputFieldType>>,
        ) => RailwayStep;
        needs: <const N extends Readonly<Record<string, OutputFieldType>>>(
            shape: N,
        ) => N;
        pipe: {
            <
                A extends Readonly<Record<string, OutputFieldType>>,
                AE extends Readonly<Record<string, OutputFieldType>>,
            >(
                a: TypedAgentSpec<A, AE>,
            ): Pipeline<A, AE>;
            <
                A extends Readonly<Record<string, OutputFieldType>>,
                AE extends Readonly<Record<string, OutputFieldType>>,
                BN extends Readonly<Record<string, OutputFieldType>>,
                B extends Readonly<Record<string, OutputFieldType>>,
                BE extends Readonly<Record<string, OutputFieldType>>,
            >(
                a: TypedAgentSpec<A, AE>,
                b: Supplies<A, BN> extends true
                    ? PipeStep<BN, B, BE>
                    : { __HANDOFF_ERROR: Supplies<A, BN> },
            ): Pipeline<B, AE | BE>;
            <
                A extends Readonly<Record<string, OutputFieldType>>,
                AE extends Readonly<Record<string, OutputFieldType>>,
                BN extends Readonly<Record<string, OutputFieldType>>,
                B extends Readonly<Record<string, OutputFieldType>>,
                BE extends Readonly<Record<string, OutputFieldType>>,
                CN extends Readonly<Record<string, OutputFieldType>>,
                C extends Readonly<Record<string, OutputFieldType>>,
                CE extends Readonly<Record<string, OutputFieldType>>,
            >(
                a: TypedAgentSpec<A, AE>,
                b: Supplies<A, BN> extends true
                    ? PipeStep<BN, B, BE>
                    : { __HANDOFF_ERROR: Supplies<A, BN> },
                c: Supplies<B, CN> extends true
                    ? PipeStep<CN, C, CE>
                    : { __HANDOFF_ERROR: Supplies<B, CN> },
            ): Pipeline<C, AE | BE | CE>;
            <
                A extends Readonly<Record<string, OutputFieldType>>,
                AE extends Readonly<Record<string, OutputFieldType>>,
                BN extends Readonly<Record<string, OutputFieldType>>,
                B extends Readonly<Record<string, OutputFieldType>>,
                BE extends Readonly<Record<string, OutputFieldType>>,
                CN extends Readonly<Record<string, OutputFieldType>>,
                C extends Readonly<Record<string, OutputFieldType>>,
                CE extends Readonly<Record<string, OutputFieldType>>,
                DN extends Readonly<Record<string, OutputFieldType>>,
                D extends Readonly<Record<string, OutputFieldType>>,
                DE extends Readonly<Record<string, OutputFieldType>>,
            >(
                a: TypedAgentSpec<A, AE>,
                b: Supplies<A, BN> extends true
                    ? PipeStep<BN, B, BE>
                    : { __HANDOFF_ERROR: Supplies<A, BN> },
                c: Supplies<B, CN> extends true
                    ? PipeStep<CN, C, CE>
                    : { __HANDOFF_ERROR: Supplies<B, CN> },
                d: Supplies<C, DN> extends true
                    ? PipeStep<DN, D, DE>
                    : { __HANDOFF_ERROR: Supplies<C, DN> },
            ): Pipeline<D, AE | BE | CE | DE>;
        };
        pipeStep: <
            Needs extends Readonly<Record<string, OutputFieldType>>,
            Ok extends Readonly<Record<string, OutputFieldType>>,
            Err extends Readonly<Record<string, OutputFieldType>>,
        >(
            a: TypedAgentSpec<Ok, Err>,
            needsContract?: Needs,
        ) => PipeStep<Needs, Ok, Err>;
        railway: (spec: Omit<Railway, "_specType">) => Railway;
        result: <
            const Ok extends Readonly<Record<string, OutputFieldType>>,
            const Err extends Readonly<Record<string, OutputFieldType>>,
        >(
            ok: Ok,
            err: Err,
        ) => OutputContract<Ok, Err>;
        start: <
            Ok extends Readonly<Record<string, OutputFieldType>>,
            Err extends Readonly<Record<string, OutputFieldType>>,
        >(
            first:
                | PipeStep<Record<string, never>, Ok, Err>
                | TypedAgentSpec<Ok, Err>,
        ) => Pipeline<Ok, Err>;
    } = ...

    The Claude Code subagent root. Carries the SAME vocabulary members as the core builder, and it must: they stopped being standalone exports when the vocabulary moved onto the root, so an author who picked this door would otherwise have no way to reach them — the same asymmetry experimental_skill.input() closed.

    Type Declaration

    • andThen: <
          PriorOk extends Readonly<Record<string, OutputFieldType>>,
          PriorErr extends Readonly<Record<string, OutputFieldType>>,
          Needs extends Readonly<Record<string, OutputFieldType>>,
          Ok extends Readonly<Record<string, OutputFieldType>>,
          Err extends Readonly<Record<string, OutputFieldType>>,
      >(
          prior: Pipeline<PriorOk, PriorErr>,
          next: Supplies<PriorOk, Needs> extends true
              ? PipeStep<Needs, Ok, Err>
              : { __HANDOFF_ERROR: Supplies<PriorOk, Needs> },
      ) => Pipeline<Ok, PriorErr | Err>
    • delegate: (
          agent: string,
          task?: string,
          needsContract?: Readonly<Record<string, OutputFieldType>>,
      ) => RailwayStep
    • needs: <const N extends Readonly<Record<string, OutputFieldType>>>(shape: N) => N
    • pipe: {
          <
              A extends Readonly<Record<string, OutputFieldType>>,
              AE extends Readonly<Record<string, OutputFieldType>>,
          >(
              a: TypedAgentSpec<A, AE>,
          ): Pipeline<A, AE>;
          <
              A extends Readonly<Record<string, OutputFieldType>>,
              AE extends Readonly<Record<string, OutputFieldType>>,
              BN extends Readonly<Record<string, OutputFieldType>>,
              B extends Readonly<Record<string, OutputFieldType>>,
              BE extends Readonly<Record<string, OutputFieldType>>,
          >(
              a: TypedAgentSpec<A, AE>,
              b: Supplies<A, BN> extends true
                  ? PipeStep<BN, B, BE>
                  : { __HANDOFF_ERROR: Supplies<A, BN> },
          ): Pipeline<B, AE | BE>;
          <
              A extends Readonly<Record<string, OutputFieldType>>,
              AE extends Readonly<Record<string, OutputFieldType>>,
              BN extends Readonly<Record<string, OutputFieldType>>,
              B extends Readonly<Record<string, OutputFieldType>>,
              BE extends Readonly<Record<string, OutputFieldType>>,
              CN extends Readonly<Record<string, OutputFieldType>>,
              C extends Readonly<Record<string, OutputFieldType>>,
              CE extends Readonly<Record<string, OutputFieldType>>,
          >(
              a: TypedAgentSpec<A, AE>,
              b: Supplies<A, BN> extends true
                  ? PipeStep<BN, B, BE>
                  : { __HANDOFF_ERROR: Supplies<A, BN> },
              c: Supplies<B, CN> extends true
                  ? PipeStep<CN, C, CE>
                  : { __HANDOFF_ERROR: Supplies<B, CN> },
          ): Pipeline<C, AE | BE | CE>;
          <
              A extends Readonly<Record<string, OutputFieldType>>,
              AE extends Readonly<Record<string, OutputFieldType>>,
              BN extends Readonly<Record<string, OutputFieldType>>,
              B extends Readonly<Record<string, OutputFieldType>>,
              BE extends Readonly<Record<string, OutputFieldType>>,
              CN extends Readonly<Record<string, OutputFieldType>>,
              C extends Readonly<Record<string, OutputFieldType>>,
              CE extends Readonly<Record<string, OutputFieldType>>,
              DN extends Readonly<Record<string, OutputFieldType>>,
              D extends Readonly<Record<string, OutputFieldType>>,
              DE extends Readonly<Record<string, OutputFieldType>>,
          >(
              a: TypedAgentSpec<A, AE>,
              b: Supplies<A, BN> extends true
                  ? PipeStep<BN, B, BE>
                  : { __HANDOFF_ERROR: Supplies<A, BN> },
              c: Supplies<B, CN> extends true
                  ? PipeStep<CN, C, CE>
                  : { __HANDOFF_ERROR: Supplies<B, CN> },
              d: Supplies<C, DN> extends true
                  ? PipeStep<DN, D, DE>
                  : { __HANDOFF_ERROR: Supplies<C, DN> },
          ): Pipeline<D, AE | BE | CE | DE>;
      }
    • pipeStep: <
          Needs extends Readonly<Record<string, OutputFieldType>>,
          Ok extends Readonly<Record<string, OutputFieldType>>,
          Err extends Readonly<Record<string, OutputFieldType>>,
      >(
          a: TypedAgentSpec<Ok, Err>,
          needsContract?: Needs,
      ) => PipeStep<Needs, Ok, Err>
    • railway: (spec: Omit<Railway, "_specType">) => Railway
    • result: <
          const Ok extends Readonly<Record<string, OutputFieldType>>,
          const Err extends Readonly<Record<string, OutputFieldType>>,
      >(
          ok: Ok,
          err: Err,
      ) => OutputContract<Ok, Err>
    • start: <
          Ok extends Readonly<Record<string, OutputFieldType>>,
          Err extends Readonly<Record<string, OutputFieldType>>,
      >(
          first:
              | PipeStep<Record<string, never>, Ok, Err>
              | TypedAgentSpec<Ok, Err>,
      ) => Pipeline<Ok, Err>