@enruana/claude-orka 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 (162) hide show
  1. package/README.md +240 -0
  2. package/bin/orka.js +19 -0
  3. package/dist/core/ClaudeOrka.d.ts +111 -0
  4. package/dist/core/ClaudeOrka.d.ts.map +1 -0
  5. package/dist/core/ClaudeOrka.js +160 -0
  6. package/dist/core/ClaudeOrka.js.map +1 -0
  7. package/dist/core/SessionManager.d.ts +82 -0
  8. package/dist/core/SessionManager.d.ts.map +1 -0
  9. package/dist/core/SessionManager.js +519 -0
  10. package/dist/core/SessionManager.js.map +1 -0
  11. package/dist/core/StateManager.d.ts +92 -0
  12. package/dist/core/StateManager.d.ts.map +1 -0
  13. package/dist/core/StateManager.js +307 -0
  14. package/dist/core/StateManager.js.map +1 -0
  15. package/dist/core/index.d.ts +4 -0
  16. package/dist/core/index.d.ts.map +1 -0
  17. package/dist/core/index.js +20 -0
  18. package/dist/core/index.js.map +1 -0
  19. package/dist/electron/main/ipc-handlers.d.ts +5 -0
  20. package/dist/electron/main/ipc-handlers.d.ts.map +1 -0
  21. package/dist/electron/main/ipc-handlers.js +169 -0
  22. package/dist/electron/main/ipc-handlers.js.map +1 -0
  23. package/dist/electron/main/main.d.ts +5 -0
  24. package/dist/electron/main/main.d.ts.map +1 -0
  25. package/dist/electron/main/main.js +66 -0
  26. package/dist/electron/main/main.js.map +1 -0
  27. package/dist/electron/preload/preload.d.ts +25 -0
  28. package/dist/electron/preload/preload.d.ts.map +1 -0
  29. package/dist/electron/preload/preload.js +31 -0
  30. package/dist/electron/preload/preload.js.map +1 -0
  31. package/dist/electron/renderer/app.js +808 -0
  32. package/dist/electron/renderer/index.html +189 -0
  33. package/dist/electron/renderer/styles.css +736 -0
  34. package/dist/index.d.ts +9 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +18 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/models/Fork.d.ts +26 -0
  39. package/dist/models/Fork.d.ts.map +1 -0
  40. package/dist/models/Fork.js +3 -0
  41. package/dist/models/Fork.js.map +1 -0
  42. package/dist/models/Session.d.ts +38 -0
  43. package/dist/models/Session.d.ts.map +1 -0
  44. package/dist/models/Session.js +3 -0
  45. package/dist/models/Session.js.map +1 -0
  46. package/dist/models/State.d.ts +24 -0
  47. package/dist/models/State.d.ts.map +1 -0
  48. package/dist/models/State.js +3 -0
  49. package/dist/models/State.js.map +1 -0
  50. package/dist/models/index.d.ts +4 -0
  51. package/dist/models/index.d.ts.map +1 -0
  52. package/dist/models/index.js +20 -0
  53. package/dist/models/index.js.map +1 -0
  54. package/dist/src/cli/commands/doctor.d.ts +3 -0
  55. package/dist/src/cli/commands/doctor.d.ts.map +1 -0
  56. package/dist/src/cli/commands/doctor.js +266 -0
  57. package/dist/src/cli/commands/doctor.js.map +1 -0
  58. package/dist/src/cli/commands/fork.d.ts +3 -0
  59. package/dist/src/cli/commands/fork.d.ts.map +1 -0
  60. package/dist/src/cli/commands/fork.js +136 -0
  61. package/dist/src/cli/commands/fork.js.map +1 -0
  62. package/dist/src/cli/commands/init.d.ts +3 -0
  63. package/dist/src/cli/commands/init.d.ts.map +1 -0
  64. package/dist/src/cli/commands/init.js +22 -0
  65. package/dist/src/cli/commands/init.js.map +1 -0
  66. package/dist/src/cli/commands/merge.d.ts +3 -0
  67. package/dist/src/cli/commands/merge.d.ts.map +1 -0
  68. package/dist/src/cli/commands/merge.js +84 -0
  69. package/dist/src/cli/commands/merge.js.map +1 -0
  70. package/dist/src/cli/commands/prepare.d.ts +3 -0
  71. package/dist/src/cli/commands/prepare.d.ts.map +1 -0
  72. package/dist/src/cli/commands/prepare.js +154 -0
  73. package/dist/src/cli/commands/prepare.js.map +1 -0
  74. package/dist/src/cli/commands/session.d.ts +3 -0
  75. package/dist/src/cli/commands/session.d.ts.map +1 -0
  76. package/dist/src/cli/commands/session.js +166 -0
  77. package/dist/src/cli/commands/session.js.map +1 -0
  78. package/dist/src/cli/commands/status.d.ts +3 -0
  79. package/dist/src/cli/commands/status.d.ts.map +1 -0
  80. package/dist/src/cli/commands/status.js +28 -0
  81. package/dist/src/cli/commands/status.js.map +1 -0
  82. package/dist/src/cli/index.d.ts +3 -0
  83. package/dist/src/cli/index.d.ts.map +1 -0
  84. package/dist/src/cli/index.js +25 -0
  85. package/dist/src/cli/index.js.map +1 -0
  86. package/dist/src/cli/utils/errors.d.ts +24 -0
  87. package/dist/src/cli/utils/errors.d.ts.map +1 -0
  88. package/dist/src/cli/utils/errors.js +57 -0
  89. package/dist/src/cli/utils/errors.js.map +1 -0
  90. package/dist/src/cli/utils/output.d.ts +59 -0
  91. package/dist/src/cli/utils/output.d.ts.map +1 -0
  92. package/dist/src/cli/utils/output.js +222 -0
  93. package/dist/src/cli/utils/output.js.map +1 -0
  94. package/dist/src/core/ClaudeOrka.d.ts +158 -0
  95. package/dist/src/core/ClaudeOrka.d.ts.map +1 -0
  96. package/dist/src/core/ClaudeOrka.js +264 -0
  97. package/dist/src/core/ClaudeOrka.js.map +1 -0
  98. package/dist/src/core/SessionManager.d.ts +84 -0
  99. package/dist/src/core/SessionManager.d.ts.map +1 -0
  100. package/dist/src/core/SessionManager.js +501 -0
  101. package/dist/src/core/SessionManager.js.map +1 -0
  102. package/dist/src/core/StateManager.d.ts +108 -0
  103. package/dist/src/core/StateManager.d.ts.map +1 -0
  104. package/dist/src/core/StateManager.js +317 -0
  105. package/dist/src/core/StateManager.js.map +1 -0
  106. package/dist/src/core/index.d.ts +4 -0
  107. package/dist/src/core/index.d.ts.map +1 -0
  108. package/dist/src/core/index.js +4 -0
  109. package/dist/src/core/index.js.map +1 -0
  110. package/dist/src/index.d.ts +9 -0
  111. package/dist/src/index.d.ts.map +1 -0
  112. package/dist/src/index.js +10 -0
  113. package/dist/src/index.js.map +1 -0
  114. package/dist/src/models/Fork.d.ts +24 -0
  115. package/dist/src/models/Fork.d.ts.map +1 -0
  116. package/dist/src/models/Fork.js +2 -0
  117. package/dist/src/models/Fork.js.map +1 -0
  118. package/dist/src/models/Session.d.ts +36 -0
  119. package/dist/src/models/Session.d.ts.map +1 -0
  120. package/dist/src/models/Session.js +2 -0
  121. package/dist/src/models/Session.js.map +1 -0
  122. package/dist/src/models/State.d.ts +24 -0
  123. package/dist/src/models/State.d.ts.map +1 -0
  124. package/dist/src/models/State.js +2 -0
  125. package/dist/src/models/State.js.map +1 -0
  126. package/dist/src/models/Summary.d.ts +68 -0
  127. package/dist/src/models/Summary.d.ts.map +1 -0
  128. package/dist/src/models/Summary.js +2 -0
  129. package/dist/src/models/Summary.js.map +1 -0
  130. package/dist/src/models/index.d.ts +5 -0
  131. package/dist/src/models/index.d.ts.map +1 -0
  132. package/dist/src/models/index.js +5 -0
  133. package/dist/src/models/index.js.map +1 -0
  134. package/dist/src/utils/claude-history.d.ts +34 -0
  135. package/dist/src/utils/claude-history.d.ts.map +1 -0
  136. package/dist/src/utils/claude-history.js +82 -0
  137. package/dist/src/utils/claude-history.js.map +1 -0
  138. package/dist/src/utils/index.d.ts +4 -0
  139. package/dist/src/utils/index.d.ts.map +1 -0
  140. package/dist/src/utils/index.js +4 -0
  141. package/dist/src/utils/index.js.map +1 -0
  142. package/dist/src/utils/logger.d.ts +20 -0
  143. package/dist/src/utils/logger.d.ts.map +1 -0
  144. package/dist/src/utils/logger.js +38 -0
  145. package/dist/src/utils/logger.js.map +1 -0
  146. package/dist/src/utils/tmux.d.ts +89 -0
  147. package/dist/src/utils/tmux.d.ts.map +1 -0
  148. package/dist/src/utils/tmux.js +299 -0
  149. package/dist/src/utils/tmux.js.map +1 -0
  150. package/dist/utils/index.d.ts +3 -0
  151. package/dist/utils/index.d.ts.map +1 -0
  152. package/dist/utils/index.js +19 -0
  153. package/dist/utils/index.js.map +1 -0
  154. package/dist/utils/logger.d.ts +20 -0
  155. package/dist/utils/logger.d.ts.map +1 -0
  156. package/dist/utils/logger.js +41 -0
  157. package/dist/utils/logger.js.map +1 -0
  158. package/dist/utils/tmux.d.ts +77 -0
  159. package/dist/utils/tmux.d.ts.map +1 -0
  160. package/dist/utils/tmux.js +270 -0
  161. package/dist/utils/tmux.js.map +1 -0
  162. package/package.json +110 -0
@@ -0,0 +1,57 @@
1
+ import chalk from 'chalk';
2
+ import fs from 'fs';
3
+ import path from 'path';
4
+ import { Output } from './output';
5
+ /**
6
+ * CLI Error Handler
7
+ */
8
+ export class CLIError extends Error {
9
+ exitCode;
10
+ constructor(message, exitCode = 1) {
11
+ super(message);
12
+ this.exitCode = exitCode;
13
+ this.name = 'CLIError';
14
+ }
15
+ }
16
+ /**
17
+ * Handle CLI errors
18
+ */
19
+ export function handleError(error) {
20
+ if (error instanceof CLIError) {
21
+ Output.error(error.message);
22
+ process.exit(error.exitCode);
23
+ }
24
+ if (error instanceof Error) {
25
+ Output.error(`Unexpected error: ${error.message}`);
26
+ console.error(chalk.gray(error.stack));
27
+ process.exit(1);
28
+ }
29
+ Output.error('An unknown error occurred');
30
+ process.exit(1);
31
+ }
32
+ /**
33
+ * Validate session ID format
34
+ */
35
+ export function validateSessionId(sessionId) {
36
+ if (!sessionId || sessionId.length === 0) {
37
+ throw new CLIError('Session ID is required');
38
+ }
39
+ }
40
+ /**
41
+ * Validate fork ID format
42
+ */
43
+ export function validateForkId(forkId) {
44
+ if (!forkId || forkId.length === 0) {
45
+ throw new CLIError('Fork ID is required');
46
+ }
47
+ }
48
+ /**
49
+ * Validate project is initialized
50
+ */
51
+ export function validateInitialized(projectPath) {
52
+ const orkaDir = path.join(projectPath, '.claude-orka');
53
+ if (!fs.existsSync(orkaDir)) {
54
+ throw new CLIError('Project not initialized. Run "orka init" first.', 2);
55
+ }
56
+ }
57
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../src/cli/utils/errors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAEjC;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IAGxB;IAFT,YACE,OAAe,EACR,WAAmB,CAAC;QAE3B,KAAK,CAAC,OAAO,CAAC,CAAA;QAFP,aAAQ,GAAR,QAAQ,CAAY;QAG3B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAA;IACxB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;QAC9B,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QAC3B,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;IAC9B,CAAC;IAED,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,MAAM,CAAC,KAAK,CAAC,qBAAqB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;QAClD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAA;QACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAA;IACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,SAAiB;IACjD,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzC,MAAM,IAAI,QAAQ,CAAC,wBAAwB,CAAC,CAAA;IAC9C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,MAAc;IAC3C,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,QAAQ,CAAC,qBAAqB,CAAC,CAAA;IAC3C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,WAAmB;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAA;IAEtD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,QAAQ,CAChB,iDAAiD,EACjD,CAAC,CACF,CAAA;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { Session, Fork, ProjectSummary } from '../../models/index';
2
+ /**
3
+ * Output utilities for CLI
4
+ */
5
+ export declare class Output {
6
+ /**
7
+ * Success message
8
+ */
9
+ static success(message: string): void;
10
+ /**
11
+ * Error message
12
+ */
13
+ static error(message: string): void;
14
+ /**
15
+ * Warning message
16
+ */
17
+ static warn(message: string): void;
18
+ /**
19
+ * Info message
20
+ */
21
+ static info(message: string): void;
22
+ /**
23
+ * Header
24
+ */
25
+ static header(message: string): void;
26
+ /**
27
+ * Section
28
+ */
29
+ static section(title: string): void;
30
+ /**
31
+ * Display session details
32
+ */
33
+ static session(session: Session): void;
34
+ /**
35
+ * Display fork details
36
+ */
37
+ static fork(fork: Fork): void;
38
+ /**
39
+ * Display sessions table
40
+ */
41
+ static sessionsTable(sessions: Session[]): void;
42
+ /**
43
+ * Display forks table
44
+ */
45
+ static forksTable(forks: Fork[]): void;
46
+ /**
47
+ * Display project summary
48
+ */
49
+ static projectSummary(summary: ProjectSummary): void;
50
+ /**
51
+ * Display JSON output
52
+ */
53
+ static json(data: any): void;
54
+ /**
55
+ * Display empty line
56
+ */
57
+ static newline(): void;
58
+ }
59
+ //# sourceMappingURL=output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../../../src/cli/utils/output.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAElE;;GAEG;AACH,qBAAa,MAAM;IACjB;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM;IAI9B;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM;IAI5B;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM;IAI3B;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM;IAI3B;;OAEG;IACH,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM;IAK7B;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM;IAI5B;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO;IA6B/B;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI;IA8BtB;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,EAAE;IAmCxC;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,IAAI,EAAE;IAuC/B;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,cAAc;IAuE7C;;OAEG;IACH,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG;IAIrB;;OAEG;IACH,MAAM,CAAC,OAAO;CAGf"}
@@ -0,0 +1,222 @@
1
+ import chalk from 'chalk';
2
+ import Table from 'cli-table3';
3
+ /**
4
+ * Output utilities for CLI
5
+ */
6
+ export class Output {
7
+ /**
8
+ * Success message
9
+ */
10
+ static success(message) {
11
+ console.log(chalk.green('✓'), message);
12
+ }
13
+ /**
14
+ * Error message
15
+ */
16
+ static error(message) {
17
+ console.error(chalk.red('✗'), message);
18
+ }
19
+ /**
20
+ * Warning message
21
+ */
22
+ static warn(message) {
23
+ console.warn(chalk.yellow('⚠'), message);
24
+ }
25
+ /**
26
+ * Info message
27
+ */
28
+ static info(message) {
29
+ console.log(chalk.blue('ℹ'), message);
30
+ }
31
+ /**
32
+ * Header
33
+ */
34
+ static header(message) {
35
+ console.log('\n' + chalk.bold.cyan(message));
36
+ console.log(chalk.gray('─'.repeat(message.length)));
37
+ }
38
+ /**
39
+ * Section
40
+ */
41
+ static section(title) {
42
+ console.log('\n' + chalk.bold(title));
43
+ }
44
+ /**
45
+ * Display session details
46
+ */
47
+ static session(session) {
48
+ const statusColor = session.status === 'active' ? chalk.green : chalk.yellow;
49
+ const statusEmoji = session.status === 'active' ? '✓' : '💾';
50
+ console.log(`\n${statusEmoji} ${chalk.bold(session.name)}`);
51
+ console.log(` ${chalk.gray('ID:')} ${session.id}`);
52
+ console.log(` ${chalk.gray('Claude Session:')} ${session.main.claudeSessionId}`);
53
+ console.log(` ${chalk.gray('Status:')} ${statusColor(session.status)}`);
54
+ console.log(` ${chalk.gray('Created:')} ${new Date(session.createdAt).toLocaleString()}`);
55
+ console.log(` ${chalk.gray('Last Activity:')} ${new Date(session.lastActivity).toLocaleString()}`);
56
+ if (session.status === 'active') {
57
+ console.log(` ${chalk.gray('Tmux Session:')} ${session.tmuxSessionId}`);
58
+ }
59
+ if (session.forks.length > 0) {
60
+ console.log(` ${chalk.gray('Forks:')} ${session.forks.length}`);
61
+ console.log(` ${chalk.green('Active:')} ${session.forks.filter((f) => f.status === 'active').length}`);
62
+ console.log(` ${chalk.yellow('Saved:')} ${session.forks.filter((f) => f.status === 'saved').length}`);
63
+ console.log(` ${chalk.blue('Merged:')} ${session.forks.filter((f) => f.status === 'merged').length}`);
64
+ }
65
+ }
66
+ /**
67
+ * Display fork details
68
+ */
69
+ static fork(fork) {
70
+ const statusColor = fork.status === 'active'
71
+ ? chalk.green
72
+ : fork.status === 'merged'
73
+ ? chalk.blue
74
+ : chalk.yellow;
75
+ const statusEmoji = fork.status === 'active' ? '✓' : fork.status === 'merged' ? '🔀' : '💾';
76
+ console.log(`\n ${statusEmoji} ${chalk.bold(fork.name)}`);
77
+ console.log(` ${chalk.gray('ID:')} ${fork.id}`);
78
+ console.log(` ${chalk.gray('Claude Session:')} ${fork.claudeSessionId}`);
79
+ console.log(` ${chalk.gray('Status:')} ${statusColor(fork.status)}`);
80
+ console.log(` ${chalk.gray('Created:')} ${new Date(fork.createdAt).toLocaleString()}`);
81
+ if (fork.status === 'active' && fork.tmuxPaneId) {
82
+ console.log(` ${chalk.gray('Tmux Pane:')} ${fork.tmuxPaneId}`);
83
+ }
84
+ if (fork.contextPath) {
85
+ console.log(` ${chalk.gray('Export:')} ${fork.contextPath}`);
86
+ }
87
+ if (fork.mergedToMain && fork.mergedAt) {
88
+ console.log(` ${chalk.gray('Merged:')} ${new Date(fork.mergedAt).toLocaleString()}`);
89
+ }
90
+ }
91
+ /**
92
+ * Display sessions table
93
+ */
94
+ static sessionsTable(sessions) {
95
+ if (sessions.length === 0) {
96
+ this.warn('No sessions found');
97
+ return;
98
+ }
99
+ const table = new Table({
100
+ head: [
101
+ chalk.bold('Name'),
102
+ chalk.bold('Status'),
103
+ chalk.bold('Forks'),
104
+ chalk.bold('Created'),
105
+ chalk.bold('ID'),
106
+ ],
107
+ colWidths: [25, 12, 20, 20, 40],
108
+ });
109
+ for (const session of sessions) {
110
+ const statusColor = session.status === 'active' ? chalk.green : chalk.yellow;
111
+ const activeForks = session.forks.filter((f) => f.status === 'active').length;
112
+ const savedForks = session.forks.filter((f) => f.status === 'saved').length;
113
+ const mergedForks = session.forks.filter((f) => f.status === 'merged').length;
114
+ table.push([
115
+ session.name,
116
+ statusColor(session.status),
117
+ `${chalk.green(activeForks)}/${chalk.yellow(savedForks)}/${chalk.blue(mergedForks)}`,
118
+ new Date(session.createdAt).toLocaleDateString(),
119
+ chalk.gray(session.id.substring(0, 8) + '...'),
120
+ ]);
121
+ }
122
+ console.log(table.toString());
123
+ }
124
+ /**
125
+ * Display forks table
126
+ */
127
+ static forksTable(forks) {
128
+ if (forks.length === 0) {
129
+ this.warn('No forks found');
130
+ return;
131
+ }
132
+ const table = new Table({
133
+ head: [
134
+ chalk.bold('Name'),
135
+ chalk.bold('Status'),
136
+ chalk.bold('Export'),
137
+ chalk.bold('Created'),
138
+ chalk.bold('ID'),
139
+ ],
140
+ colWidths: [25, 12, 15, 20, 40],
141
+ });
142
+ for (const fork of forks) {
143
+ const statusColor = fork.status === 'active'
144
+ ? chalk.green
145
+ : fork.status === 'merged'
146
+ ? chalk.blue
147
+ : chalk.yellow;
148
+ const hasExport = fork.contextPath ? chalk.green('✓') : chalk.gray('✗');
149
+ table.push([
150
+ fork.name,
151
+ statusColor(fork.status),
152
+ hasExport,
153
+ new Date(fork.createdAt).toLocaleDateString(),
154
+ chalk.gray(fork.id.substring(0, 8) + '...'),
155
+ ]);
156
+ }
157
+ console.log(table.toString());
158
+ }
159
+ /**
160
+ * Display project summary
161
+ */
162
+ static projectSummary(summary) {
163
+ this.header('📊 Project Summary');
164
+ console.log(`\n${chalk.gray('Project Path:')} ${summary.projectPath}`);
165
+ console.log(`${chalk.gray('Total Sessions:')} ${summary.totalSessions}`);
166
+ console.log(` ${chalk.green('Active:')} ${summary.activeSessions}`);
167
+ console.log(` ${chalk.yellow('Saved:')} ${summary.savedSessions}`);
168
+ console.log(`${chalk.gray('Last Updated:')} ${new Date(summary.lastUpdated).toLocaleString()}`);
169
+ if (summary.sessions.length === 0) {
170
+ console.log('\n' + chalk.gray('No sessions available'));
171
+ return;
172
+ }
173
+ this.section('\n📝 Sessions:');
174
+ for (const session of summary.sessions) {
175
+ const statusEmoji = session.status === 'active' ? '✓' : '💾';
176
+ const statusColor = session.status === 'active' ? chalk.green : chalk.yellow;
177
+ console.log(`\n${statusEmoji} ${chalk.bold(session.name)}`);
178
+ console.log(` ${chalk.gray('ID:')} ${session.id}`);
179
+ console.log(` ${chalk.gray('Claude Session:')} ${session.claudeSessionId}`);
180
+ console.log(` ${chalk.gray('Status:')} ${statusColor(session.status)}`);
181
+ console.log(` ${chalk.gray('Created:')} ${new Date(session.createdAt).toLocaleString()}`);
182
+ console.log(` ${chalk.gray('Last Activity:')} ${new Date(session.lastActivity).toLocaleString()}`);
183
+ console.log(` ${chalk.gray('Total Forks:')} ${session.totalForks}`);
184
+ console.log(` ${chalk.green('Active:')} ${session.activeForks} | ${chalk.yellow('Saved:')} ${session.savedForks} | ${chalk.blue('Merged:')} ${session.mergedForks}`);
185
+ if (session.forks.length > 0) {
186
+ console.log(`\n ${chalk.bold('Forks:')}`);
187
+ for (const fork of session.forks) {
188
+ const forkEmoji = fork.status === 'active' ? '✓' : fork.status === 'merged' ? '🔀' : '💾';
189
+ const forkColor = fork.status === 'active'
190
+ ? chalk.green
191
+ : fork.status === 'merged'
192
+ ? chalk.blue
193
+ : chalk.yellow;
194
+ console.log(`\n ${forkEmoji} ${chalk.bold(fork.name)}`);
195
+ console.log(` ${chalk.gray('ID:')} ${fork.id}`);
196
+ console.log(` ${chalk.gray('Claude Session:')} ${fork.claudeSessionId}`);
197
+ console.log(` ${chalk.gray('Status:')} ${forkColor(fork.status)}`);
198
+ console.log(` ${chalk.gray('Created:')} ${new Date(fork.createdAt).toLocaleString()}`);
199
+ if (fork.hasContext) {
200
+ console.log(` ${chalk.gray('Export:')} ${chalk.green('✓')} ${fork.contextPath}`);
201
+ }
202
+ if (fork.mergedToMain && fork.mergedAt) {
203
+ console.log(` ${chalk.gray('Merged:')} ${new Date(fork.mergedAt).toLocaleString()}`);
204
+ }
205
+ }
206
+ }
207
+ }
208
+ }
209
+ /**
210
+ * Display JSON output
211
+ */
212
+ static json(data) {
213
+ console.log(JSON.stringify(data, null, 2));
214
+ }
215
+ /**
216
+ * Display empty line
217
+ */
218
+ static newline() {
219
+ console.log();
220
+ }
221
+ }
222
+ //# sourceMappingURL=output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../../../src/cli/utils/output.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,158 @@
1
+ import { Session, Fork, SessionFilters, ProjectSummary } from '../models';
2
+ /**
3
+ * Claude-Orka SDK
4
+ * Public API for orchestrating Claude Code sessions with tmux
5
+ */
6
+ export declare class ClaudeOrka {
7
+ private sessionManager;
8
+ /**
9
+ * Create a ClaudeOrka instance
10
+ * @param projectPath Absolute path to the project
11
+ */
12
+ constructor(projectPath: string);
13
+ /**
14
+ * Initialize ClaudeOrka
15
+ * Creates the .claude-orka/ structure if it doesn't exist
16
+ */
17
+ initialize(): Promise<void>;
18
+ /**
19
+ * Create a new Claude Code session
20
+ * @param name Optional name for the session
21
+ * @param openTerminal Whether to open a terminal window (default: true)
22
+ * @returns Created session
23
+ */
24
+ createSession(name?: string, openTerminal?: boolean): Promise<Session>;
25
+ /**
26
+ * Resume a saved session
27
+ * @param sessionId Session ID to resume
28
+ * @param openTerminal Whether to open a terminal window (default: true)
29
+ * @returns Resumed session
30
+ */
31
+ resumeSession(sessionId: string, openTerminal?: boolean): Promise<Session>;
32
+ /**
33
+ * Close a session
34
+ * @param sessionId Session ID
35
+ */
36
+ closeSession(sessionId: string): Promise<void>;
37
+ /**
38
+ * Permanently delete a session
39
+ * @param sessionId Session ID
40
+ */
41
+ deleteSession(sessionId: string): Promise<void>;
42
+ /**
43
+ * List sessions with optional filters
44
+ * @param filters Optional filters (status, name)
45
+ * @returns Array of sessions
46
+ */
47
+ listSessions(filters?: SessionFilters): Promise<Session[]>;
48
+ /**
49
+ * Get a session by ID
50
+ * @param sessionId Session ID
51
+ * @returns Session or null if not found
52
+ */
53
+ getSession(sessionId: string): Promise<Session | null>;
54
+ /**
55
+ * Get complete project summary
56
+ * Includes statistics of all sessions and their forks
57
+ * @returns Project summary with all sessions and statistics
58
+ */
59
+ getProjectSummary(): Promise<ProjectSummary>;
60
+ /**
61
+ * Create a fork (conversation branch)
62
+ * @param sessionId Session ID
63
+ * @param name Optional fork name
64
+ * @param vertical Whether to split vertically (default: false = horizontal)
65
+ * @returns Created fork
66
+ */
67
+ createFork(sessionId: string, name?: string, vertical?: boolean): Promise<Fork>;
68
+ /**
69
+ * Close a fork
70
+ * @param sessionId Session ID
71
+ * @param forkId Fork ID
72
+ */
73
+ closeFork(sessionId: string, forkId: string): Promise<void>;
74
+ /**
75
+ * Resume a saved fork
76
+ * @param sessionId Session ID
77
+ * @param forkId Fork ID
78
+ * @returns Resumed fork
79
+ */
80
+ resumeFork(sessionId: string, forkId: string): Promise<Fork>;
81
+ /**
82
+ * Permanently delete a fork
83
+ * @param sessionId Session ID
84
+ * @param forkId Fork ID
85
+ */
86
+ deleteFork(sessionId: string, forkId: string): Promise<void>;
87
+ /**
88
+ * Send command to a session or fork
89
+ * @param sessionId Session ID
90
+ * @param command Command to send
91
+ * @param target Fork ID (optional, if not specified goes to main)
92
+ */
93
+ send(sessionId: string, command: string, target?: string): Promise<void>;
94
+ /**
95
+ * Export fork context (old method - uses manual capture)
96
+ * @deprecated Use generateForkExport() instead for Claude to generate the summary
97
+ * @param sessionId Session ID
98
+ * @param forkId Fork ID
99
+ * @returns Path to the exported file
100
+ */
101
+ export(sessionId: string, forkId: string): Promise<string>;
102
+ /**
103
+ * Generate fork export with summary
104
+ *
105
+ * Sends a prompt to Claude requesting:
106
+ * 1. Generate executive summary of the conversation
107
+ * 2. Export using /export to the specified path
108
+ *
109
+ * IMPORTANT: This method is async but returns immediately.
110
+ * Claude will execute tasks in the background. Wait a few seconds before calling merge().
111
+ *
112
+ * @param sessionId Session ID
113
+ * @param forkId Fork ID
114
+ * @returns Path where Claude will save the export
115
+ */
116
+ generateForkExport(sessionId: string, forkId: string): Promise<string>;
117
+ /**
118
+ * Merge a fork to main
119
+ *
120
+ * PREREQUISITE: You must call generateForkExport() first and wait for Claude to complete
121
+ *
122
+ * @param sessionId Session ID
123
+ * @param forkId Fork ID
124
+ */
125
+ merge(sessionId: string, forkId: string): Promise<void>;
126
+ /**
127
+ * Generate export and merge a fork to main (recommended method)
128
+ *
129
+ * Workflow:
130
+ * 1. Generates export with summary (Claude does the work)
131
+ * 2. Wait for the file to be created
132
+ * 3. Merge to main
133
+ *
134
+ * @param sessionId Session ID
135
+ * @param forkId Fork ID
136
+ * @param waitTime Wait time in ms for Claude to complete (default: 15000)
137
+ */
138
+ generateExportAndMerge(sessionId: string, forkId: string, waitTime?: number): Promise<void>;
139
+ /**
140
+ * Generate export, merge and close a fork (complete flow)
141
+ *
142
+ * @param sessionId Session ID
143
+ * @param forkId Fork ID
144
+ * @param waitTime Wait time in ms for Claude to complete (default: 15000)
145
+ */
146
+ generateExportMergeAndClose(sessionId: string, forkId: string, waitTime?: number): Promise<void>;
147
+ /**
148
+ * Export and merge a fork to main (old method)
149
+ * @deprecated Usa generateExportAndMerge() en su lugar
150
+ */
151
+ exportAndMerge(sessionId: string, forkId: string): Promise<void>;
152
+ /**
153
+ * Export, merge and close a fork (old method)
154
+ * @deprecated Usa generateExportMergeAndClose() en su lugar
155
+ */
156
+ mergeAndClose(sessionId: string, forkId: string): Promise<void>;
157
+ }
158
+ //# sourceMappingURL=ClaudeOrka.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ClaudeOrka.d.ts","sourceRoot":"","sources":["../../../src/core/ClaudeOrka.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,cAAc,EAAE,cAAc,EAA+B,MAAM,WAAW,CAAA;AAGtG;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,cAAc,CAAgB;IAEtC;;;OAGG;gBACS,WAAW,EAAE,MAAM;IAI/B;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAOjC;;;;;OAKG;IACG,aAAa,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAI5E;;;;;OAKG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAIhF;;;OAGG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIpD;;;OAGG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrD;;;;OAIG;IACG,YAAY,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAIhE;;;;OAIG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAI5D;;;;OAIG;IACG,iBAAiB,IAAI,OAAO,CAAC,cAAc,CAAC;IAuDlD;;;;;;OAMG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAIrF;;;;OAIG;IACG,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIjE;;;;;OAKG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIlE;;;;OAIG;IACG,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMlE;;;;;OAKG;IACG,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU9E;;;;;;OAMG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAIhE;;;;;;;;;;;;;OAaG;IACG,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5E;;;;;;;OAOG;IACG,KAAK,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI7D;;;;;;;;;;;OAWG;IACG,sBAAsB,CAC1B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;;OAMG;IACG,2BAA2B,CAC/B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,QAAQ,GAAE,MAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IAKhB;;;OAGG;IACG,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKtE;;;OAGG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAItE"}