@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.
- package/README.md +240 -0
- package/bin/orka.js +19 -0
- package/dist/core/ClaudeOrka.d.ts +111 -0
- package/dist/core/ClaudeOrka.d.ts.map +1 -0
- package/dist/core/ClaudeOrka.js +160 -0
- package/dist/core/ClaudeOrka.js.map +1 -0
- package/dist/core/SessionManager.d.ts +82 -0
- package/dist/core/SessionManager.d.ts.map +1 -0
- package/dist/core/SessionManager.js +519 -0
- package/dist/core/SessionManager.js.map +1 -0
- package/dist/core/StateManager.d.ts +92 -0
- package/dist/core/StateManager.d.ts.map +1 -0
- package/dist/core/StateManager.js +307 -0
- package/dist/core/StateManager.js.map +1 -0
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +20 -0
- package/dist/core/index.js.map +1 -0
- package/dist/electron/main/ipc-handlers.d.ts +5 -0
- package/dist/electron/main/ipc-handlers.d.ts.map +1 -0
- package/dist/electron/main/ipc-handlers.js +169 -0
- package/dist/electron/main/ipc-handlers.js.map +1 -0
- package/dist/electron/main/main.d.ts +5 -0
- package/dist/electron/main/main.d.ts.map +1 -0
- package/dist/electron/main/main.js +66 -0
- package/dist/electron/main/main.js.map +1 -0
- package/dist/electron/preload/preload.d.ts +25 -0
- package/dist/electron/preload/preload.d.ts.map +1 -0
- package/dist/electron/preload/preload.js +31 -0
- package/dist/electron/preload/preload.js.map +1 -0
- package/dist/electron/renderer/app.js +808 -0
- package/dist/electron/renderer/index.html +189 -0
- package/dist/electron/renderer/styles.css +736 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/models/Fork.d.ts +26 -0
- package/dist/models/Fork.d.ts.map +1 -0
- package/dist/models/Fork.js +3 -0
- package/dist/models/Fork.js.map +1 -0
- package/dist/models/Session.d.ts +38 -0
- package/dist/models/Session.d.ts.map +1 -0
- package/dist/models/Session.js +3 -0
- package/dist/models/Session.js.map +1 -0
- package/dist/models/State.d.ts +24 -0
- package/dist/models/State.d.ts.map +1 -0
- package/dist/models/State.js +3 -0
- package/dist/models/State.js.map +1 -0
- package/dist/models/index.d.ts +4 -0
- package/dist/models/index.d.ts.map +1 -0
- package/dist/models/index.js +20 -0
- package/dist/models/index.js.map +1 -0
- package/dist/src/cli/commands/doctor.d.ts +3 -0
- package/dist/src/cli/commands/doctor.d.ts.map +1 -0
- package/dist/src/cli/commands/doctor.js +266 -0
- package/dist/src/cli/commands/doctor.js.map +1 -0
- package/dist/src/cli/commands/fork.d.ts +3 -0
- package/dist/src/cli/commands/fork.d.ts.map +1 -0
- package/dist/src/cli/commands/fork.js +136 -0
- package/dist/src/cli/commands/fork.js.map +1 -0
- package/dist/src/cli/commands/init.d.ts +3 -0
- package/dist/src/cli/commands/init.d.ts.map +1 -0
- package/dist/src/cli/commands/init.js +22 -0
- package/dist/src/cli/commands/init.js.map +1 -0
- package/dist/src/cli/commands/merge.d.ts +3 -0
- package/dist/src/cli/commands/merge.d.ts.map +1 -0
- package/dist/src/cli/commands/merge.js +84 -0
- package/dist/src/cli/commands/merge.js.map +1 -0
- package/dist/src/cli/commands/prepare.d.ts +3 -0
- package/dist/src/cli/commands/prepare.d.ts.map +1 -0
- package/dist/src/cli/commands/prepare.js +154 -0
- package/dist/src/cli/commands/prepare.js.map +1 -0
- package/dist/src/cli/commands/session.d.ts +3 -0
- package/dist/src/cli/commands/session.d.ts.map +1 -0
- package/dist/src/cli/commands/session.js +166 -0
- package/dist/src/cli/commands/session.js.map +1 -0
- package/dist/src/cli/commands/status.d.ts +3 -0
- package/dist/src/cli/commands/status.d.ts.map +1 -0
- package/dist/src/cli/commands/status.js +28 -0
- package/dist/src/cli/commands/status.js.map +1 -0
- package/dist/src/cli/index.d.ts +3 -0
- package/dist/src/cli/index.d.ts.map +1 -0
- package/dist/src/cli/index.js +25 -0
- package/dist/src/cli/index.js.map +1 -0
- package/dist/src/cli/utils/errors.d.ts +24 -0
- package/dist/src/cli/utils/errors.d.ts.map +1 -0
- package/dist/src/cli/utils/errors.js +57 -0
- package/dist/src/cli/utils/errors.js.map +1 -0
- package/dist/src/cli/utils/output.d.ts +59 -0
- package/dist/src/cli/utils/output.d.ts.map +1 -0
- package/dist/src/cli/utils/output.js +222 -0
- package/dist/src/cli/utils/output.js.map +1 -0
- package/dist/src/core/ClaudeOrka.d.ts +158 -0
- package/dist/src/core/ClaudeOrka.d.ts.map +1 -0
- package/dist/src/core/ClaudeOrka.js +264 -0
- package/dist/src/core/ClaudeOrka.js.map +1 -0
- package/dist/src/core/SessionManager.d.ts +84 -0
- package/dist/src/core/SessionManager.d.ts.map +1 -0
- package/dist/src/core/SessionManager.js +501 -0
- package/dist/src/core/SessionManager.js.map +1 -0
- package/dist/src/core/StateManager.d.ts +108 -0
- package/dist/src/core/StateManager.d.ts.map +1 -0
- package/dist/src/core/StateManager.js +317 -0
- package/dist/src/core/StateManager.js.map +1 -0
- package/dist/src/core/index.d.ts +4 -0
- package/dist/src/core/index.d.ts.map +1 -0
- package/dist/src/core/index.js +4 -0
- package/dist/src/core/index.js.map +1 -0
- package/dist/src/index.d.ts +9 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +10 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/models/Fork.d.ts +24 -0
- package/dist/src/models/Fork.d.ts.map +1 -0
- package/dist/src/models/Fork.js +2 -0
- package/dist/src/models/Fork.js.map +1 -0
- package/dist/src/models/Session.d.ts +36 -0
- package/dist/src/models/Session.d.ts.map +1 -0
- package/dist/src/models/Session.js +2 -0
- package/dist/src/models/Session.js.map +1 -0
- package/dist/src/models/State.d.ts +24 -0
- package/dist/src/models/State.d.ts.map +1 -0
- package/dist/src/models/State.js +2 -0
- package/dist/src/models/State.js.map +1 -0
- package/dist/src/models/Summary.d.ts +68 -0
- package/dist/src/models/Summary.d.ts.map +1 -0
- package/dist/src/models/Summary.js +2 -0
- package/dist/src/models/Summary.js.map +1 -0
- package/dist/src/models/index.d.ts +5 -0
- package/dist/src/models/index.d.ts.map +1 -0
- package/dist/src/models/index.js +5 -0
- package/dist/src/models/index.js.map +1 -0
- package/dist/src/utils/claude-history.d.ts +34 -0
- package/dist/src/utils/claude-history.d.ts.map +1 -0
- package/dist/src/utils/claude-history.js +82 -0
- package/dist/src/utils/claude-history.js.map +1 -0
- package/dist/src/utils/index.d.ts +4 -0
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/utils/index.js +4 -0
- package/dist/src/utils/index.js.map +1 -0
- package/dist/src/utils/logger.d.ts +20 -0
- package/dist/src/utils/logger.d.ts.map +1 -0
- package/dist/src/utils/logger.js +38 -0
- package/dist/src/utils/logger.js.map +1 -0
- package/dist/src/utils/tmux.d.ts +89 -0
- package/dist/src/utils/tmux.d.ts.map +1 -0
- package/dist/src/utils/tmux.js +299 -0
- package/dist/src/utils/tmux.js.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +19 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +20 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +41 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/tmux.d.ts +77 -0
- package/dist/utils/tmux.d.ts.map +1 -0
- package/dist/utils/tmux.js +270 -0
- package/dist/utils/tmux.js.map +1 -0
- 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"}
|