ghcralph 0.1.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.
Files changed (160) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +327 -0
  3. package/bin/ghcralph.js +2 -0
  4. package/dist/cli.d.ts +12 -0
  5. package/dist/cli.d.ts.map +1 -0
  6. package/dist/cli.js +92 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/commands/config.d.ts +8 -0
  9. package/dist/commands/config.d.ts.map +1 -0
  10. package/dist/commands/config.js +118 -0
  11. package/dist/commands/config.js.map +1 -0
  12. package/dist/commands/index.d.ts +11 -0
  13. package/dist/commands/index.d.ts.map +1 -0
  14. package/dist/commands/index.js +11 -0
  15. package/dist/commands/index.js.map +1 -0
  16. package/dist/commands/init.d.ts +15 -0
  17. package/dist/commands/init.d.ts.map +1 -0
  18. package/dist/commands/init.js +116 -0
  19. package/dist/commands/init.js.map +1 -0
  20. package/dist/commands/rollback.d.ts +8 -0
  21. package/dist/commands/rollback.d.ts.map +1 -0
  22. package/dist/commands/rollback.js +238 -0
  23. package/dist/commands/rollback.js.map +1 -0
  24. package/dist/commands/run.d.ts +28 -0
  25. package/dist/commands/run.d.ts.map +1 -0
  26. package/dist/commands/run.js +407 -0
  27. package/dist/commands/run.js.map +1 -0
  28. package/dist/commands/status.d.ts +8 -0
  29. package/dist/commands/status.d.ts.map +1 -0
  30. package/dist/commands/status.js +399 -0
  31. package/dist/commands/status.js.map +1 -0
  32. package/dist/core/action-executor.d.ts +96 -0
  33. package/dist/core/action-executor.d.ts.map +1 -0
  34. package/dist/core/action-executor.js +289 -0
  35. package/dist/core/action-executor.js.map +1 -0
  36. package/dist/core/checkpoint-manager.d.ts +94 -0
  37. package/dist/core/checkpoint-manager.d.ts.map +1 -0
  38. package/dist/core/checkpoint-manager.js +236 -0
  39. package/dist/core/checkpoint-manager.js.map +1 -0
  40. package/dist/core/config-manager.d.ts +62 -0
  41. package/dist/core/config-manager.d.ts.map +1 -0
  42. package/dist/core/config-manager.js +184 -0
  43. package/dist/core/config-manager.js.map +1 -0
  44. package/dist/core/config-schema.d.ts +74 -0
  45. package/dist/core/config-schema.d.ts.map +1 -0
  46. package/dist/core/config-schema.js +84 -0
  47. package/dist/core/config-schema.js.map +1 -0
  48. package/dist/core/context-builder.d.ts +116 -0
  49. package/dist/core/context-builder.d.ts.map +1 -0
  50. package/dist/core/context-builder.js +388 -0
  51. package/dist/core/context-builder.js.map +1 -0
  52. package/dist/core/feedback-builder.d.ts +94 -0
  53. package/dist/core/feedback-builder.d.ts.map +1 -0
  54. package/dist/core/feedback-builder.js +226 -0
  55. package/dist/core/feedback-builder.js.map +1 -0
  56. package/dist/core/file-safeguard.d.ts +109 -0
  57. package/dist/core/file-safeguard.d.ts.map +1 -0
  58. package/dist/core/file-safeguard.js +200 -0
  59. package/dist/core/file-safeguard.js.map +1 -0
  60. package/dist/core/git-branch-manager.d.ts +122 -0
  61. package/dist/core/git-branch-manager.d.ts.map +1 -0
  62. package/dist/core/git-branch-manager.js +302 -0
  63. package/dist/core/git-branch-manager.js.map +1 -0
  64. package/dist/core/github-plan.d.ts +86 -0
  65. package/dist/core/github-plan.d.ts.map +1 -0
  66. package/dist/core/github-plan.js +333 -0
  67. package/dist/core/github-plan.js.map +1 -0
  68. package/dist/core/index.d.ts +43 -0
  69. package/dist/core/index.d.ts.map +1 -0
  70. package/dist/core/index.js +26 -0
  71. package/dist/core/index.js.map +1 -0
  72. package/dist/core/local-markdown-plan.d.ts +65 -0
  73. package/dist/core/local-markdown-plan.d.ts.map +1 -0
  74. package/dist/core/local-markdown-plan.js +154 -0
  75. package/dist/core/local-markdown-plan.js.map +1 -0
  76. package/dist/core/loop-engine.d.ts +133 -0
  77. package/dist/core/loop-engine.d.ts.map +1 -0
  78. package/dist/core/loop-engine.js +420 -0
  79. package/dist/core/loop-engine.js.map +1 -0
  80. package/dist/core/loop-events.d.ts +48 -0
  81. package/dist/core/loop-events.d.ts.map +1 -0
  82. package/dist/core/loop-events.js +24 -0
  83. package/dist/core/loop-events.js.map +1 -0
  84. package/dist/core/loop-state.d.ts +51 -0
  85. package/dist/core/loop-state.d.ts.map +1 -0
  86. package/dist/core/loop-state.js +48 -0
  87. package/dist/core/loop-state.js.map +1 -0
  88. package/dist/core/markdown-parser.d.ts +51 -0
  89. package/dist/core/markdown-parser.d.ts.map +1 -0
  90. package/dist/core/markdown-parser.js +122 -0
  91. package/dist/core/markdown-parser.js.map +1 -0
  92. package/dist/core/plan-manager.d.ts +61 -0
  93. package/dist/core/plan-manager.d.ts.map +1 -0
  94. package/dist/core/plan-manager.js +7 -0
  95. package/dist/core/plan-manager.js.map +1 -0
  96. package/dist/core/progress-tracker.d.ts +74 -0
  97. package/dist/core/progress-tracker.d.ts.map +1 -0
  98. package/dist/core/progress-tracker.js +198 -0
  99. package/dist/core/progress-tracker.js.map +1 -0
  100. package/dist/core/prompt-examples.d.ts +52 -0
  101. package/dist/core/prompt-examples.d.ts.map +1 -0
  102. package/dist/core/prompt-examples.js +194 -0
  103. package/dist/core/prompt-examples.js.map +1 -0
  104. package/dist/core/response-parser.d.ts +90 -0
  105. package/dist/core/response-parser.d.ts.map +1 -0
  106. package/dist/core/response-parser.js +209 -0
  107. package/dist/core/response-parser.js.map +1 -0
  108. package/dist/core/verification-hooks.d.ts +103 -0
  109. package/dist/core/verification-hooks.d.ts.map +1 -0
  110. package/dist/core/verification-hooks.js +268 -0
  111. package/dist/core/verification-hooks.js.map +1 -0
  112. package/dist/index.d.ts +13 -0
  113. package/dist/index.d.ts.map +1 -0
  114. package/dist/index.js +17 -0
  115. package/dist/index.js.map +1 -0
  116. package/dist/integrations/auth.d.ts +28 -0
  117. package/dist/integrations/auth.d.ts.map +1 -0
  118. package/dist/integrations/auth.js +76 -0
  119. package/dist/integrations/auth.js.map +1 -0
  120. package/dist/integrations/copilot-agent.d.ts +104 -0
  121. package/dist/integrations/copilot-agent.d.ts.map +1 -0
  122. package/dist/integrations/copilot-agent.js +235 -0
  123. package/dist/integrations/copilot-agent.js.map +1 -0
  124. package/dist/integrations/index.d.ts +18 -0
  125. package/dist/integrations/index.d.ts.map +1 -0
  126. package/dist/integrations/index.js +14 -0
  127. package/dist/integrations/index.js.map +1 -0
  128. package/dist/integrations/mcp-tools.d.ts +129 -0
  129. package/dist/integrations/mcp-tools.d.ts.map +1 -0
  130. package/dist/integrations/mcp-tools.js +272 -0
  131. package/dist/integrations/mcp-tools.js.map +1 -0
  132. package/dist/integrations/tokens.d.ts +45 -0
  133. package/dist/integrations/tokens.d.ts.map +1 -0
  134. package/dist/integrations/tokens.js +50 -0
  135. package/dist/integrations/tokens.js.map +1 -0
  136. package/dist/types/index.d.ts +53 -0
  137. package/dist/types/index.d.ts.map +1 -0
  138. package/dist/types/index.js +7 -0
  139. package/dist/types/index.js.map +1 -0
  140. package/dist/utils/index.d.ts +23 -0
  141. package/dist/utils/index.d.ts.map +1 -0
  142. package/dist/utils/index.js +37 -0
  143. package/dist/utils/index.js.map +1 -0
  144. package/dist/utils/output.d.ts +59 -0
  145. package/dist/utils/output.d.ts.map +1 -0
  146. package/dist/utils/output.js +96 -0
  147. package/dist/utils/output.js.map +1 -0
  148. package/dist/utils/paths.d.ts +34 -0
  149. package/dist/utils/paths.d.ts.map +1 -0
  150. package/dist/utils/paths.js +67 -0
  151. package/dist/utils/paths.js.map +1 -0
  152. package/dist/utils/shell.d.ts +26 -0
  153. package/dist/utils/shell.d.ts.map +1 -0
  154. package/dist/utils/shell.js +65 -0
  155. package/dist/utils/shell.js.map +1 -0
  156. package/dist/utils/validation.d.ts +27 -0
  157. package/dist/utils/validation.d.ts.map +1 -0
  158. package/dist/utils/validation.js +43 -0
  159. package/dist/utils/validation.js.map +1 -0
  160. package/package.json +86 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-tools.js","sourceRoot":"","sources":["../../src/integrations/mcp-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Token Usage Tracking
3
+ *
4
+ * Tracks token consumption across Copilot API calls
5
+ */
6
+ /**
7
+ * Token usage metrics
8
+ */
9
+ export interface TokenUsage {
10
+ /** Tokens used in prompts */
11
+ promptTokens: number;
12
+ /** Tokens used in completions */
13
+ completionTokens: number;
14
+ /** Total tokens used */
15
+ totalTokens: number;
16
+ }
17
+ /**
18
+ * Token usage tracker class
19
+ */
20
+ export declare class TokenTracker {
21
+ private promptTokens;
22
+ private completionTokens;
23
+ /**
24
+ * Add token usage from a request
25
+ */
26
+ addUsage(prompt: number, completion: number): void;
27
+ /**
28
+ * Get current token usage
29
+ */
30
+ getUsage(): TokenUsage;
31
+ /**
32
+ * Reset token tracking
33
+ */
34
+ reset(): void;
35
+ /**
36
+ * Check if usage exceeds a limit
37
+ */
38
+ exceedsLimit(maxTokens: number): boolean;
39
+ }
40
+ /**
41
+ * Estimate token count for a string (rough approximation)
42
+ * Uses ~4 characters per token heuristic
43
+ */
44
+ export declare function estimateTokens(text: string): number;
45
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/integrations/tokens.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,6BAA6B;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,iCAAiC;IACjC,gBAAgB,EAAE,MAAM,CAAC;IACzB,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,YAAY,CAAa;IACjC,OAAO,CAAC,gBAAgB,CAAa;IAErC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAKlD;;OAEG;IACH,QAAQ,IAAI,UAAU;IAQtB;;OAEG;IACH,KAAK,IAAI,IAAI;IAKb;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;CAGzC;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEnD"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Token Usage Tracking
3
+ *
4
+ * Tracks token consumption across Copilot API calls
5
+ */
6
+ /**
7
+ * Token usage tracker class
8
+ */
9
+ export class TokenTracker {
10
+ promptTokens = 0;
11
+ completionTokens = 0;
12
+ /**
13
+ * Add token usage from a request
14
+ */
15
+ addUsage(prompt, completion) {
16
+ this.promptTokens += prompt;
17
+ this.completionTokens += completion;
18
+ }
19
+ /**
20
+ * Get current token usage
21
+ */
22
+ getUsage() {
23
+ return {
24
+ promptTokens: this.promptTokens,
25
+ completionTokens: this.completionTokens,
26
+ totalTokens: this.promptTokens + this.completionTokens,
27
+ };
28
+ }
29
+ /**
30
+ * Reset token tracking
31
+ */
32
+ reset() {
33
+ this.promptTokens = 0;
34
+ this.completionTokens = 0;
35
+ }
36
+ /**
37
+ * Check if usage exceeds a limit
38
+ */
39
+ exceedsLimit(maxTokens) {
40
+ return this.promptTokens + this.completionTokens >= maxTokens;
41
+ }
42
+ }
43
+ /**
44
+ * Estimate token count for a string (rough approximation)
45
+ * Uses ~4 characters per token heuristic
46
+ */
47
+ export function estimateTokens(text) {
48
+ return Math.ceil(text.length / 4);
49
+ }
50
+ //# sourceMappingURL=tokens.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/integrations/tokens.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAcH;;GAEG;AACH,MAAM,OAAO,YAAY;IACf,YAAY,GAAW,CAAC,CAAC;IACzB,gBAAgB,GAAW,CAAC,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,MAAc,EAAE,UAAkB;QACzC,IAAI,CAAC,YAAY,IAAI,MAAM,CAAC;QAC5B,IAAI,CAAC,gBAAgB,IAAI,UAAU,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,WAAW,EAAE,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB;SACvD,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,IAAI,CAAC,gBAAgB,GAAG,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,SAAiB;QAC5B,OAAO,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,IAAI,SAAS,CAAC;IAChE,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AACpC,CAAC"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Type Definitions
3
+ *
4
+ * Shared TypeScript type definitions for Ralph CLI
5
+ */
6
+ /**
7
+ * Configuration for a Ralph session
8
+ */
9
+ export interface RalphConfig {
10
+ /** Source for the plan: GitHub Issues or local Markdown */
11
+ planSource: 'github' | 'local';
12
+ /** Maximum number of loop iterations */
13
+ maxIterations: number;
14
+ /** Maximum token budget for the session */
15
+ maxTokens: number;
16
+ /** Default Copilot model to use */
17
+ defaultModel: string;
18
+ /** Whether to auto-commit after each iteration */
19
+ autoCommit: boolean;
20
+ /** Prefix for Ralph branches */
21
+ branchPrefix: string;
22
+ }
23
+ /**
24
+ * Represents a task to be executed
25
+ */
26
+ export interface Task {
27
+ /** Unique identifier for the task */
28
+ id: string;
29
+ /** Task title/description */
30
+ title: string;
31
+ /** Detailed task content */
32
+ content: string;
33
+ /** Task status */
34
+ status: 'pending' | 'in-progress' | 'completed' | 'failed';
35
+ /** Source of the task */
36
+ source: 'github' | 'local';
37
+ }
38
+ /**
39
+ * Loop execution state
40
+ */
41
+ export interface LoopState {
42
+ /** Current iteration number */
43
+ iteration: number;
44
+ /** Total tokens consumed */
45
+ tokensUsed: number;
46
+ /** Loop start time */
47
+ startedAt: Date;
48
+ /** Current status */
49
+ status: 'running' | 'paused' | 'completed' | 'failed' | 'stopped';
50
+ /** Last checkpoint commit hash */
51
+ lastCheckpoint?: string;
52
+ }
53
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,2DAA2D;IAC3D,UAAU,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC/B,wCAAwC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,UAAU,EAAE,OAAO,CAAC;IACpB,gCAAgC;IAChC,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,qCAAqC;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,kBAAkB;IAClB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3D,yBAAyB;IACzB,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,sBAAsB;IACtB,SAAS,EAAE,IAAI,CAAC;IAChB,qBAAqB;IACrB,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,SAAS,CAAC;IAClE,kCAAkC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Type Definitions
3
+ *
4
+ * Shared TypeScript type definitions for Ralph CLI
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Shared Utilities
3
+ *
4
+ * Common utility functions used across Ralph CLI
5
+ */
6
+ /**
7
+ * Sleep for a specified duration
8
+ * @param ms - Duration in milliseconds
9
+ */
10
+ export declare function sleep(ms: number): Promise<void>;
11
+ /**
12
+ * Check if running in a TTY environment
13
+ */
14
+ export declare function isTTY(): boolean;
15
+ /**
16
+ * Get the current platform
17
+ */
18
+ export declare function getPlatform(): 'windows' | 'macos' | 'linux';
19
+ export * from './output.js';
20
+ export * from './shell.js';
21
+ export * from './paths.js';
22
+ export * from './validation.js';
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,wBAAgB,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/C;AAED;;GAEG;AACH,wBAAgB,KAAK,IAAI,OAAO,CAE/B;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,SAAS,GAAG,OAAO,GAAG,OAAO,CAS3D;AAGD,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Shared Utilities
3
+ *
4
+ * Common utility functions used across Ralph CLI
5
+ */
6
+ /**
7
+ * Sleep for a specified duration
8
+ * @param ms - Duration in milliseconds
9
+ */
10
+ export function sleep(ms) {
11
+ return new Promise((resolve) => setTimeout(resolve, ms));
12
+ }
13
+ /**
14
+ * Check if running in a TTY environment
15
+ */
16
+ export function isTTY() {
17
+ return Boolean(process.stdout.isTTY);
18
+ }
19
+ /**
20
+ * Get the current platform
21
+ */
22
+ export function getPlatform() {
23
+ switch (process.platform) {
24
+ case 'win32':
25
+ return 'windows';
26
+ case 'darwin':
27
+ return 'macos';
28
+ default:
29
+ return 'linux';
30
+ }
31
+ }
32
+ // Re-export utilities
33
+ export * from './output.js';
34
+ export * from './shell.js';
35
+ export * from './paths.js';
36
+ export * from './validation.js';
37
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;GAGG;AACH,MAAM,UAAU,KAAK,CAAC,EAAU;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAC3D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK;IACnB,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,QAAQ,OAAO,CAAC,QAAQ,EAAE,CAAC;QACzB,KAAK,OAAO;YACV,OAAO,SAAS,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,OAAO,CAAC;QACjB;YACE,OAAO,OAAO,CAAC;IACnB,CAAC;AACH,CAAC;AAED,sBAAsB;AACtB,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,iBAAiB,CAAC"}
@@ -0,0 +1,59 @@
1
+ /**
2
+ * CLI Output Utilities
3
+ *
4
+ * Provides consistent, colored console output across the CLI
5
+ */
6
+ import { type Ora } from 'ora';
7
+ /**
8
+ * Output verbosity level
9
+ */
10
+ export type Verbosity = 'quiet' | 'normal' | 'verbose';
11
+ /**
12
+ * Set the global verbosity level
13
+ */
14
+ export declare function setVerbosity(level: Verbosity): void;
15
+ /**
16
+ * Get the current verbosity level
17
+ */
18
+ export declare function getVerbosity(): Verbosity;
19
+ /**
20
+ * Log an info message (only in normal or verbose mode)
21
+ */
22
+ export declare function info(message: string): void;
23
+ /**
24
+ * Log a success message (only in normal or verbose mode)
25
+ */
26
+ export declare function success(message: string): void;
27
+ /**
28
+ * Log a warning message (always shown)
29
+ */
30
+ export declare function warn(message: string): void;
31
+ /**
32
+ * Log an error message (always shown)
33
+ */
34
+ export declare function error(message: string): void;
35
+ /**
36
+ * Log a debug message (only in verbose mode)
37
+ */
38
+ export declare function debug(message: string): void;
39
+ /**
40
+ * Create a spinner for async operations
41
+ */
42
+ export declare function spinner(text: string): Ora;
43
+ /**
44
+ * Format a title/heading
45
+ */
46
+ export declare function heading(text: string): string;
47
+ /**
48
+ * Format a command/code snippet
49
+ */
50
+ export declare function code(text: string): string;
51
+ /**
52
+ * Format a dim/secondary text
53
+ */
54
+ export declare function dim(text: string): string;
55
+ /**
56
+ * Print a banner with the Ralph CLI branding
57
+ */
58
+ export declare function banner(): void;
59
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAY,EAAE,KAAK,GAAG,EAAE,MAAM,KAAK,CAAC;AAGpC;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAIvD;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI,CAEnD;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,SAAS,CAExC;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI1C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI7C;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1C;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAI3C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAKzC;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzC;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExC;AAED;;GAEG;AACH,wBAAgB,MAAM,IAAI,IAAI,CAO7B"}
@@ -0,0 +1,96 @@
1
+ /**
2
+ * CLI Output Utilities
3
+ *
4
+ * Provides consistent, colored console output across the CLI
5
+ */
6
+ import chalk from 'chalk';
7
+ import ora from 'ora';
8
+ import { isTTY } from './index.js';
9
+ let currentVerbosity = 'normal';
10
+ /**
11
+ * Set the global verbosity level
12
+ */
13
+ export function setVerbosity(level) {
14
+ currentVerbosity = level;
15
+ }
16
+ /**
17
+ * Get the current verbosity level
18
+ */
19
+ export function getVerbosity() {
20
+ return currentVerbosity;
21
+ }
22
+ /**
23
+ * Log an info message (only in normal or verbose mode)
24
+ */
25
+ export function info(message) {
26
+ if (currentVerbosity !== 'quiet') {
27
+ console.log(chalk.blue('ℹ'), message);
28
+ }
29
+ }
30
+ /**
31
+ * Log a success message (only in normal or verbose mode)
32
+ */
33
+ export function success(message) {
34
+ if (currentVerbosity !== 'quiet') {
35
+ console.log(chalk.green('✔'), message);
36
+ }
37
+ }
38
+ /**
39
+ * Log a warning message (always shown)
40
+ */
41
+ export function warn(message) {
42
+ console.log(chalk.yellow('⚠'), message);
43
+ }
44
+ /**
45
+ * Log an error message (always shown)
46
+ */
47
+ export function error(message) {
48
+ console.error(chalk.red('✖'), message);
49
+ }
50
+ /**
51
+ * Log a debug message (only in verbose mode)
52
+ */
53
+ export function debug(message) {
54
+ if (currentVerbosity === 'verbose') {
55
+ console.log(chalk.gray('⬤'), chalk.gray(message));
56
+ }
57
+ }
58
+ /**
59
+ * Create a spinner for async operations
60
+ */
61
+ export function spinner(text) {
62
+ return ora({
63
+ text,
64
+ isEnabled: isTTY() && currentVerbosity !== 'quiet',
65
+ });
66
+ }
67
+ /**
68
+ * Format a title/heading
69
+ */
70
+ export function heading(text) {
71
+ return chalk.bold.cyan(text);
72
+ }
73
+ /**
74
+ * Format a command/code snippet
75
+ */
76
+ export function code(text) {
77
+ return chalk.cyan(text);
78
+ }
79
+ /**
80
+ * Format a dim/secondary text
81
+ */
82
+ export function dim(text) {
83
+ return chalk.dim(text);
84
+ }
85
+ /**
86
+ * Print a banner with the Ralph CLI branding
87
+ */
88
+ export function banner() {
89
+ if (currentVerbosity === 'quiet')
90
+ return;
91
+ console.log('');
92
+ console.log(chalk.cyan.bold(' 🤖 Ralph CLI'));
93
+ console.log(chalk.dim(' Autonomous agentic coding loops'));
94
+ console.log('');
95
+ }
96
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/utils/output.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAiB,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAOnC,IAAI,gBAAgB,GAAc,QAAQ,CAAC;AAE3C;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,KAAgB;IAC3C,gBAAgB,GAAG,KAAK,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,OAAO,gBAAgB,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,IAAI,CAAC,OAAe;IAClC,IAAI,gBAAgB,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,OAAe;IACrC,IAAI,gBAAgB,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,IAAI,CAAC,OAAe;IAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,OAAe;IACnC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;AACzC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,KAAK,CAAC,OAAe;IACnC,IAAI,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,GAAG,CAAC;QACT,IAAI;QACJ,SAAS,EAAE,KAAK,EAAE,IAAI,gBAAgB,KAAK,OAAO;KACnD,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,IAAY;IAClC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,IAAI,CAAC,IAAY;IAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,GAAG,CAAC,IAAY;IAC9B,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,MAAM;IACpB,IAAI,gBAAgB,KAAK,OAAO;QAAE,OAAO;IAEzC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Path Utilities
3
+ *
4
+ * Cross-platform path handling utilities for GitHub Copilot Ralph
5
+ */
6
+ /**
7
+ * Normalize a path for the current platform
8
+ */
9
+ export declare function normalizePath(inputPath: string): string;
10
+ /**
11
+ * Join path segments with platform-appropriate separators
12
+ */
13
+ export declare function joinPath(...segments: string[]): string;
14
+ /**
15
+ * Get the home directory
16
+ */
17
+ export declare function getHomeDir(): string;
18
+ /**
19
+ * Get the GitHub Copilot Ralph config directory
20
+ */
21
+ export declare function getConfigDir(): string;
22
+ /**
23
+ * Get the GitHub Copilot Ralph local state directory (in the current project)
24
+ */
25
+ export declare function getLocalStateDir(projectRoot?: string): string;
26
+ /**
27
+ * Convert a path to use forward slashes (for display/config)
28
+ */
29
+ export declare function toForwardSlashes(inputPath: string): string;
30
+ /**
31
+ * Resolve a path relative to the current working directory
32
+ */
33
+ export declare function resolvePath(inputPath: string): string;
34
+ //# sourceMappingURL=paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,GAAG,QAAQ,EAAE,MAAM,EAAE,GAAG,MAAM,CAEtD;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,MAAM,CAMnC;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAiBrC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAG7D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAErD"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Path Utilities
3
+ *
4
+ * Cross-platform path handling utilities for GitHub Copilot Ralph
5
+ */
6
+ import path from 'node:path';
7
+ import { getPlatform } from './index.js';
8
+ /**
9
+ * Normalize a path for the current platform
10
+ */
11
+ export function normalizePath(inputPath) {
12
+ return path.normalize(inputPath);
13
+ }
14
+ /**
15
+ * Join path segments with platform-appropriate separators
16
+ */
17
+ export function joinPath(...segments) {
18
+ return path.join(...segments);
19
+ }
20
+ /**
21
+ * Get the home directory
22
+ */
23
+ export function getHomeDir() {
24
+ const home = process.env['HOME'] ?? process.env['USERPROFILE'];
25
+ if (!home) {
26
+ throw new Error('Could not determine home directory');
27
+ }
28
+ return home;
29
+ }
30
+ /**
31
+ * Get the GitHub Copilot Ralph config directory
32
+ */
33
+ export function getConfigDir() {
34
+ const platform = getPlatform();
35
+ if (platform === 'windows') {
36
+ const appData = process.env['APPDATA'];
37
+ if (appData) {
38
+ return path.join(appData, 'ghcralph');
39
+ }
40
+ }
41
+ // XDG Base Directory Specification for Unix-like systems
42
+ const xdgConfig = process.env['XDG_CONFIG_HOME'];
43
+ if (xdgConfig) {
44
+ return path.join(xdgConfig, 'ghcralph');
45
+ }
46
+ return path.join(getHomeDir(), '.config', 'ghcralph');
47
+ }
48
+ /**
49
+ * Get the GitHub Copilot Ralph local state directory (in the current project)
50
+ */
51
+ export function getLocalStateDir(projectRoot) {
52
+ const root = projectRoot ?? process.cwd();
53
+ return path.join(root, '.ghcralph');
54
+ }
55
+ /**
56
+ * Convert a path to use forward slashes (for display/config)
57
+ */
58
+ export function toForwardSlashes(inputPath) {
59
+ return inputPath.replace(/\\/g, '/');
60
+ }
61
+ /**
62
+ * Resolve a path relative to the current working directory
63
+ */
64
+ export function resolvePath(inputPath) {
65
+ return path.resolve(inputPath);
66
+ }
67
+ //# sourceMappingURL=paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAEzC;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,SAAiB;IAC7C,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;AACnC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,GAAG,QAAkB;IAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU;IACxB,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC/D,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY;IAC1B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;IACjD,IAAI,SAAS,EAAE,CAAC;QACd,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAC1C,CAAC;IAED,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAoB;IACnD,MAAM,IAAI,GAAG,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,SAAiB;IAChD,OAAO,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,SAAiB;IAC3C,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACjC,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Shell Detection Utilities
3
+ *
4
+ * Detect the current shell environment for cross-platform compatibility
5
+ */
6
+ /**
7
+ * Supported shell types
8
+ */
9
+ export type ShellType = 'bash' | 'zsh' | 'fish' | 'powershell' | 'cmd' | 'unknown';
10
+ /**
11
+ * Shell detection result
12
+ */
13
+ export interface ShellInfo {
14
+ type: ShellType;
15
+ path: string | undefined;
16
+ isWindows: boolean;
17
+ }
18
+ /**
19
+ * Detect the current shell environment
20
+ */
21
+ export declare function detectShell(): ShellInfo;
22
+ /**
23
+ * Get shell-specific configuration file path
24
+ */
25
+ export declare function getShellConfigPath(shellType: ShellType): string | undefined;
26
+ //# sourceMappingURL=shell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.d.ts","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,YAAY,GAAG,KAAK,GAAG,SAAS,CAAC;AAEnF;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,SAAS,CAqCvC;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAkB3E"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Shell Detection Utilities
3
+ *
4
+ * Detect the current shell environment for cross-platform compatibility
5
+ */
6
+ import { getPlatform } from './index.js';
7
+ /**
8
+ * Detect the current shell environment
9
+ */
10
+ export function detectShell() {
11
+ const platform = getPlatform();
12
+ const isWindows = platform === 'windows';
13
+ if (isWindows) {
14
+ // Check for PowerShell
15
+ const psModulePath = process.env['PSModulePath'];
16
+ if (psModulePath) {
17
+ return {
18
+ type: 'powershell',
19
+ path: process.env['ComSpec'],
20
+ isWindows: true,
21
+ };
22
+ }
23
+ // Default to CMD on Windows
24
+ return {
25
+ type: 'cmd',
26
+ path: process.env['ComSpec'],
27
+ isWindows: true,
28
+ };
29
+ }
30
+ // Unix-like systems
31
+ const shell = process.env['SHELL'] ?? '';
32
+ if (shell.includes('zsh')) {
33
+ return { type: 'zsh', path: shell, isWindows: false };
34
+ }
35
+ if (shell.includes('fish')) {
36
+ return { type: 'fish', path: shell, isWindows: false };
37
+ }
38
+ if (shell.includes('bash')) {
39
+ return { type: 'bash', path: shell, isWindows: false };
40
+ }
41
+ return { type: 'unknown', path: shell || undefined, isWindows: false };
42
+ }
43
+ /**
44
+ * Get shell-specific configuration file path
45
+ */
46
+ export function getShellConfigPath(shellType) {
47
+ const home = process.env['HOME'] ?? process.env['USERPROFILE'];
48
+ if (!home)
49
+ return undefined;
50
+ switch (shellType) {
51
+ case 'bash':
52
+ return `${home}/.bashrc`;
53
+ case 'zsh':
54
+ return `${home}/.zshrc`;
55
+ case 'fish':
56
+ return `${home}/.config/fish/config.fish`;
57
+ case 'powershell':
58
+ return undefined; // PowerShell profile location varies
59
+ case 'cmd':
60
+ return undefined;
61
+ default:
62
+ return undefined;
63
+ }
64
+ }
65
+ //# sourceMappingURL=shell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/utils/shell.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAgBzC;;GAEG;AACH,MAAM,UAAU,WAAW;IACzB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,SAAS,GAAG,QAAQ,KAAK,SAAS,CAAC;IAEzC,IAAI,SAAS,EAAE,CAAC;QACd,uBAAuB;QACvB,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACjD,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO;gBACL,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;gBAC5B,SAAS,EAAE,IAAI;aAChB,CAAC;QACJ,CAAC;QAED,4BAA4B;QAC5B,OAAO;YACL,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;YAC5B,SAAS,EAAE,IAAI;SAChB,CAAC;IACJ,CAAC;IAED,oBAAoB;IACpB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;IAEzC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACxD,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACzD,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;IACzD,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,IAAI,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACzE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAoB;IACrD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC/D,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAE5B,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,MAAM;YACT,OAAO,GAAG,IAAI,UAAU,CAAC;QAC3B,KAAK,KAAK;YACR,OAAO,GAAG,IAAI,SAAS,CAAC;QAC1B,KAAK,MAAM;YACT,OAAO,GAAG,IAAI,2BAA2B,CAAC;QAC5C,KAAK,YAAY;YACf,OAAO,SAAS,CAAC,CAAC,qCAAqC;QACzD,KAAK,KAAK;YACR,OAAO,SAAS,CAAC;QACnB;YACE,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC"}