ferix-code 0.0.2-beta.6 → 0.0.2-beta.7

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.
Files changed (3) hide show
  1. package/dist/index.d.ts +226 -20
  2. package/dist/index.js +736 -301
  3. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -87,10 +87,22 @@ declare class OrchestratorError extends OrchestratorError_base<{
87
87
  readonly cause?: unknown;
88
88
  }> {
89
89
  }
90
+ declare const GitError_base: new <A extends Record<string, any> = {}>(args: effect_Types.Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => effect_Cause.YieldableError & {
91
+ readonly _tag: "GitError";
92
+ } & Readonly<A>;
93
+ /**
94
+ * Error that occurs during git operations.
95
+ */
96
+ declare class GitError extends GitError_base<{
97
+ readonly message: string;
98
+ readonly operation: "createWorktree" | "removeWorktree" | "commit" | "push" | "createPR" | "status";
99
+ readonly cause?: unknown;
100
+ }> {
101
+ }
90
102
  /**
91
103
  * Union of all possible errors in the system.
92
104
  */
93
- type FerixError = LLMError | ParseError | PlanStoreError | SessionStoreError | ProgressStoreError | GuardrailsStoreError | OrchestratorError;
105
+ type FerixError = LLMError | ParseError | PlanStoreError | SessionStoreError | ProgressStoreError | GuardrailsStoreError | OrchestratorError | GitError;
94
106
 
95
107
  declare const PhasePromptOverridesSchema: Schema.Struct<{
96
108
  breakdown: Schema.optional<typeof Schema.String>;
@@ -451,6 +463,24 @@ declare const ProgressUpdatedEventSchema: Schema.TaggedStruct<"ProgressUpdated",
451
463
  timestamp: typeof Schema.Number;
452
464
  }>;
453
465
  type ProgressUpdatedEvent = typeof ProgressUpdatedEventSchema.Type;
466
+ /**
467
+ * Worktree created event - signals that a git worktree was created for the session.
468
+ */
469
+ declare const WorktreeCreatedEventSchema: Schema.TaggedStruct<"WorktreeCreated", {
470
+ sessionId: typeof Schema.String;
471
+ worktreePath: typeof Schema.String;
472
+ branchName: typeof Schema.String;
473
+ timestamp: typeof Schema.Number;
474
+ }>;
475
+ type WorktreeCreatedEvent = typeof WorktreeCreatedEventSchema.Type;
476
+ /**
477
+ * Worktree removed event - signals that a git worktree was cleaned up.
478
+ */
479
+ declare const WorktreeRemovedEventSchema: Schema.TaggedStruct<"WorktreeRemoved", {
480
+ sessionId: typeof Schema.String;
481
+ timestamp: typeof Schema.Number;
482
+ }>;
483
+ type WorktreeRemovedEvent = typeof WorktreeRemovedEventSchema.Type;
454
484
  /**
455
485
  * Union of all domain events.
456
486
  */
@@ -627,11 +657,19 @@ declare const DomainEventSchema: Schema.Union<[Schema.TaggedStruct<"LoopStarted"
627
657
  taskId: typeof Schema.String;
628
658
  action: Schema.Literal<["started", "completed", "failed", "learning"]>;
629
659
  timestamp: typeof Schema.Number;
660
+ }>, Schema.TaggedStruct<"WorktreeCreated", {
661
+ sessionId: typeof Schema.String;
662
+ worktreePath: typeof Schema.String;
663
+ branchName: typeof Schema.String;
664
+ timestamp: typeof Schema.Number;
665
+ }>, Schema.TaggedStruct<"WorktreeRemoved", {
666
+ sessionId: typeof Schema.String;
667
+ timestamp: typeof Schema.Number;
630
668
  }>]>;
631
669
  /**
632
670
  * Explicit discriminated union type for proper TypeScript narrowing.
633
671
  */
634
- type DomainEvent = LoopStartedEvent | LoopCompletedEvent | LoopFailedEvent | DiscoveryStartedEvent | DiscoveryCompletedEvent | IterationStartedEvent | IterationCompletedEvent | LLMTextEvent | LLMToolStartEvent | LLMToolUseEvent | LLMToolEndEvent | TasksDefinedEvent | PhasesDefinedEvent | CriteriaDefinedEvent | PhaseStartedEvent | PhaseCompletedEvent | PhaseFailedEvent | CriterionPassedEvent | CriterionFailedEvent | CheckPassedEvent | CheckFailedEvent | ReviewCompleteEvent | TaskCompletedEvent | PlanCreatedEvent | PlanUpdatedEvent | PlanUpdateFailedEvent | LearningRecordedEvent | GuardrailAddedEvent | ProgressUpdatedEvent;
672
+ type DomainEvent = LoopStartedEvent | LoopCompletedEvent | LoopFailedEvent | DiscoveryStartedEvent | DiscoveryCompletedEvent | IterationStartedEvent | IterationCompletedEvent | LLMTextEvent | LLMToolStartEvent | LLMToolUseEvent | LLMToolEndEvent | TasksDefinedEvent | PhasesDefinedEvent | CriteriaDefinedEvent | PhaseStartedEvent | PhaseCompletedEvent | PhaseFailedEvent | CriterionPassedEvent | CriterionFailedEvent | CheckPassedEvent | CheckFailedEvent | ReviewCompleteEvent | TaskCompletedEvent | PlanCreatedEvent | PlanUpdatedEvent | PlanUpdateFailedEvent | LearningRecordedEvent | GuardrailAddedEvent | ProgressUpdatedEvent | WorktreeCreatedEvent | WorktreeRemovedEvent;
635
673
  /**
636
674
  * Type guard utilities for domain events.
637
675
  */
@@ -913,18 +951,18 @@ declare const decodePlan: (u: unknown, overrideOptions?: effect_SchemaAST.ParseO
913
951
  readonly context?: string | undefined;
914
952
  readonly tasks: readonly {
915
953
  readonly phases: readonly {
954
+ readonly status: "pending" | "in_progress" | "done" | "failed";
916
955
  readonly id: string;
917
956
  readonly description: string;
918
- readonly status: "pending" | "in_progress" | "done" | "failed";
919
957
  }[];
958
+ readonly status: "planning" | "pending" | "in_progress" | "done" | "failed" | "skipped";
920
959
  readonly id: string;
921
960
  readonly description: string;
922
- readonly status: "planning" | "pending" | "in_progress" | "done" | "failed" | "skipped";
923
961
  readonly title: string;
924
962
  readonly criteria: readonly {
963
+ readonly status: "pending" | "failed" | "passed";
925
964
  readonly id: string;
926
965
  readonly description: string;
927
- readonly status: "pending" | "failed" | "passed";
928
966
  readonly failureReason?: string | undefined;
929
967
  }[];
930
968
  readonly filesToModify: readonly string[];
@@ -939,18 +977,18 @@ declare const decodePlanData: (u: unknown, overrideOptions?: effect_SchemaAST.Pa
939
977
  readonly context?: string | undefined;
940
978
  readonly tasks: readonly {
941
979
  readonly phases: readonly {
980
+ readonly status: "pending" | "in_progress" | "done" | "failed";
942
981
  readonly id: string;
943
982
  readonly description: string;
944
- readonly status: "pending" | "in_progress" | "done" | "failed";
945
983
  }[];
984
+ readonly status: "planning" | "pending" | "in_progress" | "done" | "failed" | "skipped";
946
985
  readonly id: string;
947
986
  readonly description: string;
948
- readonly status: "planning" | "pending" | "in_progress" | "done" | "failed" | "skipped";
949
987
  readonly title: string;
950
988
  readonly criteria: readonly {
989
+ readonly status: "pending" | "failed" | "passed";
951
990
  readonly id: string;
952
991
  readonly description: string;
953
- readonly status: "pending" | "failed" | "passed";
954
992
  readonly failureReason?: string | undefined;
955
993
  }[];
956
994
  readonly filesToModify: readonly string[];
@@ -1075,17 +1113,21 @@ declare const SessionSchema: Schema.Struct<{
1075
1113
  originalTask: typeof Schema.String;
1076
1114
  completedTasks: Schema.Array$<typeof Schema.String>;
1077
1115
  currentTaskId: Schema.optional<typeof Schema.String>;
1116
+ worktreePath: Schema.optional<typeof Schema.String>;
1117
+ branchName: Schema.optional<typeof Schema.String>;
1078
1118
  }>;
1079
1119
  type Session = typeof SessionSchema.Type;
1080
1120
  /**
1081
1121
  * Decode helper.
1082
1122
  */
1083
1123
  declare const decodeSession: (u: unknown, overrideOptions?: effect_SchemaAST.ParseOptions) => effect_Effect.Effect<{
1124
+ readonly status: "failed" | "completed" | "active" | "paused";
1084
1125
  readonly completedTasks: readonly string[];
1085
1126
  readonly id: string;
1086
- readonly status: "failed" | "completed" | "active" | "paused";
1087
1127
  readonly createdAt: string;
1088
1128
  readonly originalTask: string;
1129
+ readonly worktreePath?: string | undefined;
1130
+ readonly branchName?: string | undefined;
1089
1131
  readonly currentTaskId?: string | undefined;
1090
1132
  }, effect_ParseResult.ParseError, never>;
1091
1133
 
@@ -1653,6 +1695,16 @@ declare function createHeadlessConsumer(): Consumer;
1653
1695
  */
1654
1696
  declare function createTUIConsumer(): Consumer;
1655
1697
 
1698
+ /**
1699
+ * Options for LLM execution.
1700
+ */
1701
+ interface LLMExecuteOptions {
1702
+ /**
1703
+ * Working directory for the LLM process.
1704
+ * Used when running in a worktree context.
1705
+ */
1706
+ readonly cwd?: string;
1707
+ }
1656
1708
  /**
1657
1709
  * Service interface for LLM execution.
1658
1710
  *
@@ -1679,9 +1731,10 @@ interface LLMService {
1679
1731
  * The final event will be a "Done" event containing the full output.
1680
1732
  *
1681
1733
  * @param prompt - The prompt to send to the LLM
1734
+ * @param options - Optional execution options (e.g., cwd for worktree)
1682
1735
  * @returns Stream of LLM events that can be consumed by any subscriber
1683
1736
  */
1684
- readonly execute: (prompt: string) => Stream.Stream<LLMEvent, LLMError>;
1737
+ readonly execute: (prompt: string, options?: LLMExecuteOptions) => Stream.Stream<LLMEvent, LLMError>;
1685
1738
  }
1686
1739
  declare const LLM_base: Context.TagClass<LLM, "@ferix/LLM", LLMService>;
1687
1740
  /**
@@ -1759,16 +1812,169 @@ declare function createMockLLM(config: MockLLMConfig): LLMService;
1759
1812
  * });
1760
1813
  * ```
1761
1814
  */
1762
- declare function layer$4(config: MockLLMConfig): Layer.Layer<LLM>;
1815
+ declare function layer$5(config: MockLLMConfig): Layer.Layer<LLM>;
1763
1816
  /**
1764
1817
  * Mock namespace containing the Live layer and factory functions.
1765
1818
  */
1766
1819
  declare const Mock: {
1767
1820
  readonly Live: Layer.Layer<LLM, never, never>;
1768
- readonly layer: typeof layer$4;
1821
+ readonly layer: typeof layer$5;
1769
1822
  readonly createMockLLM: typeof createMockLLM;
1770
1823
  };
1771
1824
 
1825
+ /**
1826
+ * Branded type for worktree paths.
1827
+ */
1828
+ type WorktreePath = string & {
1829
+ readonly _brand: "WorktreePath";
1830
+ };
1831
+ /**
1832
+ * Branded type for commit hashes.
1833
+ */
1834
+ type CommitHash = string & {
1835
+ readonly _brand: "CommitHash";
1836
+ };
1837
+ /**
1838
+ * Branded type for PR URLs.
1839
+ */
1840
+ type PrUrl = string & {
1841
+ readonly _brand: "PrUrl";
1842
+ };
1843
+ /**
1844
+ * Information about a worktree.
1845
+ */
1846
+ interface WorktreeInfo {
1847
+ readonly path: WorktreePath;
1848
+ readonly branch: string;
1849
+ readonly sessionId: string;
1850
+ }
1851
+ /**
1852
+ * Service interface for git operations.
1853
+ *
1854
+ * Provides worktree management for isolated session execution.
1855
+ * Each session runs in its own worktree with a dedicated branch.
1856
+ *
1857
+ * @example
1858
+ * ```typescript
1859
+ * const git = yield* Git;
1860
+ *
1861
+ * // Create worktree for a session
1862
+ * const worktreePath = yield* git.createWorktree("calm-snails-dream-123");
1863
+ *
1864
+ * // Execute work in worktree...
1865
+ *
1866
+ * // Commit changes
1867
+ * yield* git.commitChanges("calm-snails-dream-123", "feat: complete task 1");
1868
+ *
1869
+ * // Cleanup when done
1870
+ * yield* git.removeWorktree("calm-snails-dream-123");
1871
+ * ```
1872
+ */
1873
+ interface GitService {
1874
+ /**
1875
+ * Create a new worktree for a session.
1876
+ *
1877
+ * Creates a worktree at `.ferix/worktrees/{sessionId}` with a new branch
1878
+ * `ferix/{sessionId}` based on the current HEAD or specified base branch.
1879
+ *
1880
+ * @param sessionId - Session ID to create worktree for
1881
+ * @param baseBranch - Optional branch to base the worktree on (defaults to HEAD)
1882
+ * @returns Path to the created worktree
1883
+ */
1884
+ readonly createWorktree: (sessionId: string, baseBranch?: string) => Effect.Effect<WorktreePath, GitError>;
1885
+ /**
1886
+ * Remove a worktree for a session.
1887
+ *
1888
+ * Removes the worktree directory and cleans up git references.
1889
+ *
1890
+ * @param sessionId - Session ID whose worktree to remove
1891
+ */
1892
+ readonly removeWorktree: (sessionId: string) => Effect.Effect<void, GitError>;
1893
+ /**
1894
+ * Get the worktree path for a session if it exists.
1895
+ *
1896
+ * @param sessionId - Session ID to check
1897
+ * @returns Worktree path if exists, undefined otherwise
1898
+ */
1899
+ readonly getWorktreePath: (sessionId: string) => Effect.Effect<WorktreePath | undefined, GitError>;
1900
+ /**
1901
+ * Commit all changes in a session's worktree.
1902
+ *
1903
+ * Stages all changes and creates a commit with the given message.
1904
+ *
1905
+ * @param sessionId - Session ID whose worktree to commit
1906
+ * @param message - Commit message
1907
+ * @returns The commit hash
1908
+ */
1909
+ readonly commitChanges: (sessionId: string, message: string) => Effect.Effect<CommitHash, GitError>;
1910
+ /**
1911
+ * Push the session's branch to the remote.
1912
+ *
1913
+ * @param sessionId - Session ID whose branch to push
1914
+ */
1915
+ readonly pushBranch: (sessionId: string) => Effect.Effect<void, GitError>;
1916
+ /**
1917
+ * Create a pull request for the session's branch.
1918
+ *
1919
+ * Uses `gh` CLI to create a PR.
1920
+ *
1921
+ * @param sessionId - Session ID whose branch to create PR for
1922
+ * @param title - PR title
1923
+ * @param body - PR body/description
1924
+ * @returns URL of the created PR
1925
+ */
1926
+ readonly createPR: (sessionId: string, title: string, body: string) => Effect.Effect<PrUrl, GitError>;
1927
+ /**
1928
+ * Get the branch name for a session.
1929
+ *
1930
+ * @param sessionId - Session ID
1931
+ * @returns Branch name (e.g., "ferix/calm-snails-dream-123")
1932
+ */
1933
+ readonly getBranchName: (sessionId: string) => string;
1934
+ }
1935
+ declare const Git_base: Context.TagClass<Git, "@ferix/Git", GitService>;
1936
+ /**
1937
+ * Effect Tag for the Git service.
1938
+ *
1939
+ * Use this tag to depend on git operations without coupling to a specific implementation.
1940
+ */
1941
+ declare class Git extends Git_base {
1942
+ }
1943
+
1944
+ /**
1945
+ * FileSystemGit namespace containing the Live layer.
1946
+ */
1947
+ declare const FileSystemGit: {
1948
+ readonly Live: Layer.Layer<Git, never, never>;
1949
+ };
1950
+
1951
+ /**
1952
+ * Creates a Layer for an in-memory git service.
1953
+ *
1954
+ * Each call creates a new isolated store.
1955
+ *
1956
+ * @example
1957
+ * ```typescript
1958
+ * const testLayer = MemoryGit.layer();
1959
+ *
1960
+ * const program = Effect.gen(function* () {
1961
+ * const git = yield* Git;
1962
+ * const path = yield* git.createWorktree("test-session");
1963
+ * return path;
1964
+ * });
1965
+ *
1966
+ * Effect.runPromise(program.pipe(Effect.provide(testLayer)));
1967
+ * ```
1968
+ */
1969
+ declare function layer$4(): Layer.Layer<Git>;
1970
+ /**
1971
+ * MemoryGit namespace containing the Live layer and factory.
1972
+ */
1973
+ declare const MemoryGit: {
1974
+ readonly Live: Layer.Layer<Git, never, never>;
1975
+ readonly layer: typeof layer$4;
1976
+ };
1977
+
1772
1978
  /**
1773
1979
  * Service interface for guardrails persistence.
1774
1980
  *
@@ -2250,7 +2456,7 @@ declare const FerixParser: {
2250
2456
  * Uses real implementations:
2251
2457
  * - Claude CLI for LLM
2252
2458
  * - Ferix parser for signals
2253
- * - File system for plan, session, progress, and guardrails storage
2459
+ * - File system for plan, session, progress, guardrails, and git storage
2254
2460
  *
2255
2461
  * @example
2256
2462
  * ```typescript
@@ -2264,14 +2470,14 @@ declare const FerixParser: {
2264
2470
  * );
2265
2471
  * ```
2266
2472
  */
2267
- declare const ProductionLayers: Layer.Layer<GuardrailsStore | LLM | PlanStore | ProgressStore | SessionStore | SignalParser, never, never>;
2473
+ declare const ProductionLayers: Layer.Layer<Git | GuardrailsStore | LLM | PlanStore | ProgressStore | SessionStore | SignalParser, never, never>;
2268
2474
  /**
2269
2475
  * Test layer bundle.
2270
2476
  *
2271
2477
  * Uses mock/in-memory implementations:
2272
2478
  * - Mock LLM (configurable events)
2273
2479
  * - Ferix parser (real implementation - pure)
2274
- * - In-memory plan, session, progress, and guardrails storage
2480
+ * - In-memory plan, session, progress, guardrails, and git storage
2275
2481
  *
2276
2482
  * @example
2277
2483
  * ```typescript
@@ -2287,7 +2493,7 @@ declare const ProductionLayers: Layer.Layer<GuardrailsStore | LLM | PlanStore |
2287
2493
  * expect(result).toContainEqual({ _tag: "LoopCompleted", ... });
2288
2494
  * ```
2289
2495
  */
2290
- declare const TestLayers: Layer.Layer<GuardrailsStore | LLM | PlanStore | ProgressStore | SessionStore | SignalParser, never, never>;
2496
+ declare const TestLayers: Layer.Layer<Git | GuardrailsStore | LLM | PlanStore | ProgressStore | SessionStore | SignalParser, never, never>;
2291
2497
  /**
2292
2498
  * Creates a test layer bundle with custom mock LLM events.
2293
2499
  *
@@ -2304,13 +2510,13 @@ declare const TestLayers: Layer.Layer<GuardrailsStore | LLM | PlanStore | Progre
2304
2510
  * Effect.runPromise(program.pipe(Effect.provide(customTestLayers)));
2305
2511
  * ```
2306
2512
  */
2307
- declare function createTestLayers(events: Parameters<typeof Mock.layer>[0]["events"]): Layer.Layer<GuardrailsStore | LLM | PlanStore | ProgressStore | SessionStore | SignalParser, never, never>;
2513
+ declare function createTestLayers(events: Parameters<typeof Mock.layer>[0]["events"]): Layer.Layer<Git | GuardrailsStore | LLM | PlanStore | ProgressStore | SessionStore | SignalParser, never, never>;
2308
2514
 
2309
2515
  /**
2310
2516
  * Required services for the orchestrator.
2311
- * Now includes ProgressStore and GuardrailsStore for RALPH pattern support.
2517
+ * Now includes ProgressStore, GuardrailsStore, and Git for worktree support.
2312
2518
  */
2313
- type OrchestratorServices = LLM | SignalParser | PlanStore | SessionStore | ProgressStore | GuardrailsStore;
2519
+ type OrchestratorServices = LLM | SignalParser | PlanStore | SessionStore | ProgressStore | GuardrailsStore | Git;
2314
2520
  /**
2315
2521
  * Run the ralph loop.
2316
2522
  *
@@ -2470,4 +2676,4 @@ declare function collectEvents(config: LoopConfig, mockEvents?: readonly LLMEven
2470
2676
  */
2471
2677
  declare function main(config: LoopConfig): Promise<void>;
2472
2678
 
2473
- export { type CheckFailedEvent, CheckFailedEventSchema, type CheckFailedSignal, CheckFailedSignalSchema, type CheckPassedEvent, CheckPassedEventSchema, type CheckPassedSignal, CheckPassedSignalSchema, ClaudeCLI, type ConsoleLoggerConfig, ConsoleLoggerConfigSchema, type Consumer, type ConsumerType, ConsumerTypeSchema, type CriteriaDefinedData, CriteriaDefinedDataSchema, type CriteriaDefinedEvent, CriteriaDefinedEventSchema, type CriteriaDefinedSignal, CriteriaDefinedSignalSchema, type Criterion, type CriterionBasicInfo, CriterionBasicInfoSchema, type CriterionFailedData, CriterionFailedDataSchema, type CriterionFailedEvent, CriterionFailedEventSchema, type CriterionFailedSignal, CriterionFailedSignalSchema, type CriterionIdData, CriterionIdDataSchema, type CriterionPassedEvent, CriterionPassedEventSchema, type CriterionPassedSignal, CriterionPassedSignalSchema, CriterionSchema, type CriterionStatus, CriterionStatusSchema, type DiscoveryCompletedEvent, DiscoveryCompletedEventSchema, type DiscoveryStartedEvent, DiscoveryStartedEventSchema, type DomainEvent, DomainEventSchema, DomainEventUtils, type DoneEvent, DoneEventSchema, type ExecutionMode, ExecutionModeSchema, type FerixError, FerixParser, type FileLoggerConfig, FileLoggerConfigSchema, FileSystemGuardrails, FileSystemPlan, FileSystemProgress, FileSystemSession, type GeneratedTask, type GeneratedTaskList, GeneratedTaskListSchema, GeneratedTaskSchema, type GeneratedTaskStatus, GeneratedTaskStatusSchema, type Guardrail, type GuardrailAddedEvent, GuardrailAddedEventSchema, GuardrailSchema, type GuardrailSeverity, GuardrailSeveritySchema, type GuardrailSignal, GuardrailSignalSchema, type GuardrailsFile, GuardrailsFileSchema, GuardrailsStore, GuardrailsStoreError, type GuardrailsStoreService, type IterationCompletedEvent, IterationCompletedEventSchema, type IterationStartedEvent, IterationStartedEventSchema, LLM, LLMError, type LLMEvent, LLMEventSchema, type LLMService, type LLMTextEvent, LLMTextEventSchema, type LLMToolEndEvent, LLMToolEndEventSchema, type LLMToolStartEvent, LLMToolStartEventSchema, type LLMToolUseEvent, LLMToolUseEventSchema, type LearningCategory, LearningCategorySchema, type LearningRecordedEvent, LearningRecordedEventSchema, type LearningSignal, LearningSignalSchema, type LogEntry, LogEntrySchema, type LogLevel, LogLevelSchema, type LoopCompleteSignal, LoopCompleteSignalSchema, type LoopCompletedEvent, LoopCompletedEventSchema, type LoopConfig, LoopConfigSchema, type LoopError, LoopErrorSchema, type LoopFailedEvent, LoopFailedEventSchema, type LoopStartedEvent, LoopStartedEventSchema, type LoopStatus, LoopStatusSchema, type LoopSummary, LoopSummarySchema, MemoryGuardrails, MemoryPlan, MemoryProgress, MemorySession, Mock, Mock as MockLLM, OrchestratorError, type OrchestratorServices, ParseError, type Phase, type PhaseBasicInfo, PhaseBasicInfoSchema, type PhaseCompletedEvent, PhaseCompletedEventSchema, type PhaseCompletedSignal, PhaseCompletedSignalSchema, type PhaseFailedData, PhaseFailedDataSchema, type PhaseFailedEvent, PhaseFailedEventSchema, type PhaseFailedSignal, PhaseFailedSignalSchema, type PhaseIdData, PhaseIdDataSchema, type PhasePromptOverrides, PhasePromptOverridesSchema, PhaseSchema, type PhaseStartedEvent, PhaseStartedEventSchema, type PhaseStartedSignal, PhaseStartedSignalSchema, type PhaseStatus, PhaseStatusSchema, type PhasesDefinedData, PhasesDefinedDataSchema, type PhasesDefinedEvent, PhasesDefinedEventSchema, type PhasesDefinedSignal, PhasesDefinedSignalSchema, type Plan, type PlanCreatedEvent, PlanCreatedEventSchema, type PlanData, PlanDataSchema, PlanId, PlanSchema, PlanStore, PlanStoreError, type PlanStoreService, type PlanUpdateFailedEvent, PlanUpdateFailedEventSchema, type PlanUpdatedEvent, PlanUpdatedEventSchema, ProductionLayers, type ProgressAction, ProgressActionSchema, type ProgressEntry, ProgressEntrySchema, type ProgressFile, ProgressFileSchema, ProgressStore, ProgressStoreError, type ProgressStoreService, type ProgressUpdatedEvent, ProgressUpdatedEventSchema, type PromptConfig, PromptConfigSchema, type ReviewCompleteData, ReviewCompleteDataSchema, type ReviewCompleteEvent, ReviewCompleteEventSchema, type ReviewCompleteSignal, ReviewCompleteSignalSchema, type RunOptions, type RunOptionsData, RunOptionsDataSchema, type Session, SessionSchema, type SessionStatus, SessionStatusSchema, SessionStore, SessionStoreError, type SessionStoreService, type Signal, type SignalAccumulator, SignalParser, type SignalParserService, SignalSchema, type TUICriterion, TUICriterionSchema, type TUICriterionStatus, TUICriterionStatusSchema, type TUIPhase, TUIPhaseSchema, type TUIPhaseStatus, TUIPhaseStatusSchema, type TUIState, TUIStateSchema, type TUITask, TUITaskSchema, type TUITaskStatus, TUITaskStatusSchema, type Task, type TaskBasicInfo, TaskBasicInfoSchema, type TaskCompleteData, TaskCompleteDataSchema, type TaskCompleteSignal, type TaskCompleteSignalData, TaskCompleteSignalDataSchema, TaskCompleteSignalSchema, type TaskCompletedEvent, TaskCompletedEventSchema, TaskSchema, type TaskStatus, TaskStatusSchema, type TasksDefinedData, TasksDefinedDataSchema, type TasksDefinedEvent, TasksDefinedEventSchema, type TasksDefinedSignal, TasksDefinedSignalSchema, TestLayers, type TextEvent, TextEventSchema, type ToolEndEvent, ToolEndEventSchema, type ToolStartEvent, ToolStartEventSchema, type ToolUseEvent, ToolUseEventSchema, type ViewMode, ViewModeSchema, buildPrompt, collectEvents, createHeadlessConsumer, createTUIConsumer, createTestLayers, decodeGuardrail, decodeGuardrailsFile, decodeLLMEvent, decodeLoopConfig, decodePlan, decodePlanData, decodeProgressEntry, decodeProgressFile, decodeSession, decodeSignal, decodeSignalSync, formatTasksMd, main, parseTasksMd, run, runLoop, runTest };
2679
+ export { type CheckFailedEvent, CheckFailedEventSchema, type CheckFailedSignal, CheckFailedSignalSchema, type CheckPassedEvent, CheckPassedEventSchema, type CheckPassedSignal, CheckPassedSignalSchema, ClaudeCLI, type CommitHash, type ConsoleLoggerConfig, ConsoleLoggerConfigSchema, type Consumer, type ConsumerType, ConsumerTypeSchema, type CriteriaDefinedData, CriteriaDefinedDataSchema, type CriteriaDefinedEvent, CriteriaDefinedEventSchema, type CriteriaDefinedSignal, CriteriaDefinedSignalSchema, type Criterion, type CriterionBasicInfo, CriterionBasicInfoSchema, type CriterionFailedData, CriterionFailedDataSchema, type CriterionFailedEvent, CriterionFailedEventSchema, type CriterionFailedSignal, CriterionFailedSignalSchema, type CriterionIdData, CriterionIdDataSchema, type CriterionPassedEvent, CriterionPassedEventSchema, type CriterionPassedSignal, CriterionPassedSignalSchema, CriterionSchema, type CriterionStatus, CriterionStatusSchema, type DiscoveryCompletedEvent, DiscoveryCompletedEventSchema, type DiscoveryStartedEvent, DiscoveryStartedEventSchema, type DomainEvent, DomainEventSchema, DomainEventUtils, type DoneEvent, DoneEventSchema, type ExecutionMode, ExecutionModeSchema, type FerixError, FerixParser, type FileLoggerConfig, FileLoggerConfigSchema, FileSystemGit, FileSystemGuardrails, FileSystemPlan, FileSystemProgress, FileSystemSession, type GeneratedTask, type GeneratedTaskList, GeneratedTaskListSchema, GeneratedTaskSchema, type GeneratedTaskStatus, GeneratedTaskStatusSchema, Git, GitError, type GitService, type Guardrail, type GuardrailAddedEvent, GuardrailAddedEventSchema, GuardrailSchema, type GuardrailSeverity, GuardrailSeveritySchema, type GuardrailSignal, GuardrailSignalSchema, type GuardrailsFile, GuardrailsFileSchema, GuardrailsStore, GuardrailsStoreError, type GuardrailsStoreService, type IterationCompletedEvent, IterationCompletedEventSchema, type IterationStartedEvent, IterationStartedEventSchema, LLM, LLMError, type LLMEvent, LLMEventSchema, type LLMExecuteOptions, type LLMService, type LLMTextEvent, LLMTextEventSchema, type LLMToolEndEvent, LLMToolEndEventSchema, type LLMToolStartEvent, LLMToolStartEventSchema, type LLMToolUseEvent, LLMToolUseEventSchema, type LearningCategory, LearningCategorySchema, type LearningRecordedEvent, LearningRecordedEventSchema, type LearningSignal, LearningSignalSchema, type LogEntry, LogEntrySchema, type LogLevel, LogLevelSchema, type LoopCompleteSignal, LoopCompleteSignalSchema, type LoopCompletedEvent, LoopCompletedEventSchema, type LoopConfig, LoopConfigSchema, type LoopError, LoopErrorSchema, type LoopFailedEvent, LoopFailedEventSchema, type LoopStartedEvent, LoopStartedEventSchema, type LoopStatus, LoopStatusSchema, type LoopSummary, LoopSummarySchema, MemoryGit, MemoryGuardrails, MemoryPlan, MemoryProgress, MemorySession, Mock, Mock as MockLLM, OrchestratorError, type OrchestratorServices, ParseError, type Phase, type PhaseBasicInfo, PhaseBasicInfoSchema, type PhaseCompletedEvent, PhaseCompletedEventSchema, type PhaseCompletedSignal, PhaseCompletedSignalSchema, type PhaseFailedData, PhaseFailedDataSchema, type PhaseFailedEvent, PhaseFailedEventSchema, type PhaseFailedSignal, PhaseFailedSignalSchema, type PhaseIdData, PhaseIdDataSchema, type PhasePromptOverrides, PhasePromptOverridesSchema, PhaseSchema, type PhaseStartedEvent, PhaseStartedEventSchema, type PhaseStartedSignal, PhaseStartedSignalSchema, type PhaseStatus, PhaseStatusSchema, type PhasesDefinedData, PhasesDefinedDataSchema, type PhasesDefinedEvent, PhasesDefinedEventSchema, type PhasesDefinedSignal, PhasesDefinedSignalSchema, type Plan, type PlanCreatedEvent, PlanCreatedEventSchema, type PlanData, PlanDataSchema, PlanId, PlanSchema, PlanStore, PlanStoreError, type PlanStoreService, type PlanUpdateFailedEvent, PlanUpdateFailedEventSchema, type PlanUpdatedEvent, PlanUpdatedEventSchema, type PrUrl, ProductionLayers, type ProgressAction, ProgressActionSchema, type ProgressEntry, ProgressEntrySchema, type ProgressFile, ProgressFileSchema, ProgressStore, ProgressStoreError, type ProgressStoreService, type ProgressUpdatedEvent, ProgressUpdatedEventSchema, type PromptConfig, PromptConfigSchema, type ReviewCompleteData, ReviewCompleteDataSchema, type ReviewCompleteEvent, ReviewCompleteEventSchema, type ReviewCompleteSignal, ReviewCompleteSignalSchema, type RunOptions, type RunOptionsData, RunOptionsDataSchema, type Session, SessionSchema, type SessionStatus, SessionStatusSchema, SessionStore, SessionStoreError, type SessionStoreService, type Signal, type SignalAccumulator, SignalParser, type SignalParserService, SignalSchema, type TUICriterion, TUICriterionSchema, type TUICriterionStatus, TUICriterionStatusSchema, type TUIPhase, TUIPhaseSchema, type TUIPhaseStatus, TUIPhaseStatusSchema, type TUIState, TUIStateSchema, type TUITask, TUITaskSchema, type TUITaskStatus, TUITaskStatusSchema, type Task, type TaskBasicInfo, TaskBasicInfoSchema, type TaskCompleteData, TaskCompleteDataSchema, type TaskCompleteSignal, type TaskCompleteSignalData, TaskCompleteSignalDataSchema, TaskCompleteSignalSchema, type TaskCompletedEvent, TaskCompletedEventSchema, TaskSchema, type TaskStatus, TaskStatusSchema, type TasksDefinedData, TasksDefinedDataSchema, type TasksDefinedEvent, TasksDefinedEventSchema, type TasksDefinedSignal, TasksDefinedSignalSchema, TestLayers, type TextEvent, TextEventSchema, type ToolEndEvent, ToolEndEventSchema, type ToolStartEvent, ToolStartEventSchema, type ToolUseEvent, ToolUseEventSchema, type ViewMode, ViewModeSchema, type WorktreeCreatedEvent, WorktreeCreatedEventSchema, type WorktreeInfo, type WorktreePath, type WorktreeRemovedEvent, WorktreeRemovedEventSchema, buildPrompt, collectEvents, createHeadlessConsumer, createTUIConsumer, createTestLayers, decodeGuardrail, decodeGuardrailsFile, decodeLLMEvent, decodeLoopConfig, decodePlan, decodePlanData, decodeProgressEntry, decodeProgressFile, decodeSession, decodeSignal, decodeSignalSync, formatTasksMd, main, parseTasksMd, run, runLoop, runTest };