cyrus-claude-runner 0.2.3 → 0.2.5

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.
@@ -1,43 +1,11 @@
1
1
  import { EventEmitter } from "node:events";
2
- import { type SDKMessage, type SDKUserMessage } from "@anthropic-ai/claude-agent-sdk";
2
+ import { type SDKMessage } from "@anthropic-ai/claude-agent-sdk";
3
+ import { type IAgentRunner } from "cyrus-core";
3
4
  export declare class AbortError extends Error {
4
5
  constructor(message?: string);
5
6
  }
7
+ import { type IMessageFormatter } from "./formatter.js";
6
8
  import type { ClaudeRunnerConfig, ClaudeRunnerEvents, ClaudeSessionInfo } from "./types.js";
7
- /**
8
- * Streaming prompt controller that implements AsyncIterable<SDKUserMessage>
9
- */
10
- export declare class StreamingPrompt {
11
- private messageQueue;
12
- private resolvers;
13
- private isComplete;
14
- private sessionId;
15
- constructor(sessionId: string | null, initialPrompt?: string);
16
- /**
17
- * Update the session ID (used when session ID is received from Claude)
18
- */
19
- updateSessionId(sessionId: string): void;
20
- /**
21
- * Add a new message to the stream
22
- */
23
- addMessage(content: string): void;
24
- /**
25
- * Mark the stream as complete (no more messages will be added)
26
- */
27
- complete(): void;
28
- /**
29
- * Check if the stream is complete
30
- */
31
- get completed(): boolean;
32
- /**
33
- * Process pending resolvers with queued messages
34
- */
35
- private processQueue;
36
- /**
37
- * AsyncIterable implementation
38
- */
39
- [Symbol.asyncIterator](): AsyncIterator<SDKUserMessage>;
40
- }
41
9
  export declare interface ClaudeRunner {
42
10
  on<K extends keyof ClaudeRunnerEvents>(event: K, listener: ClaudeRunnerEvents[K]): this;
43
11
  emit<K extends keyof ClaudeRunnerEvents>(event: K, ...args: Parameters<ClaudeRunnerEvents[K]>): boolean;
@@ -45,7 +13,11 @@ export declare interface ClaudeRunner {
45
13
  /**
46
14
  * Manages Claude SDK sessions and communication
47
15
  */
48
- export declare class ClaudeRunner extends EventEmitter {
16
+ export declare class ClaudeRunner extends EventEmitter implements IAgentRunner {
17
+ /**
18
+ * ClaudeRunner supports streaming input via startStreaming(), addStreamMessage(), and completeStream()
19
+ */
20
+ readonly supportsStreamingInput = true;
49
21
  private config;
50
22
  private abortController;
51
23
  private sessionInfo;
@@ -54,6 +26,8 @@ export declare class ClaudeRunner extends EventEmitter {
54
26
  private messages;
55
27
  private streamingPrompt;
56
28
  private cyrusHome;
29
+ private formatter;
30
+ private pendingResultMessage;
57
31
  constructor(config: ClaudeRunnerConfig);
58
32
  /**
59
33
  * Start a new Claude session with string prompt (legacy mode)
@@ -102,6 +76,10 @@ export declare class ClaudeRunner extends EventEmitter {
102
76
  * Get all messages from current session
103
77
  */
104
78
  getMessages(): SDKMessage[];
79
+ /**
80
+ * Get the message formatter for this runner
81
+ */
82
+ getFormatter(): IMessageFormatter;
105
83
  /**
106
84
  * Process individual SDK messages and emit appropriate events
107
85
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ClaudeRunner.d.ts","sourceRoot":"","sources":["../src/ClaudeRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAU3C,OAAO,EAEN,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,MAAM,gCAAgC,CAAC;AAIxC,qBAAa,UAAW,SAAQ,KAAK;gBACxB,OAAO,CAAC,EAAE,MAAM;CAI5B;AAED,OAAO,KAAK,EACX,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,qBAAa,eAAe;IAC3B,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,SAAS,CACb;IACJ,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,SAAS,CAAgB;gBAErB,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,aAAa,CAAC,EAAE,MAAM;IAS5D;;OAEG;IACH,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIxC;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAmBjC;;OAEG;IACH,QAAQ,IAAI,IAAI;IAKhB;;OAEG;IACH,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED;;OAEG;IACH,OAAO,CAAC,YAAY;IAgBpB;;OAEG;IACH,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,cAAc,CAAC;CAgBvD;AAED,MAAM,CAAC,OAAO,WAAW,YAAY;IACpC,EAAE,CAAC,CAAC,SAAS,MAAM,kBAAkB,EACpC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC7B,IAAI,CAAC;IACR,IAAI,CAAC,CAAC,SAAS,MAAM,kBAAkB,EACtC,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,GACxC,OAAO,CAAC;CACX;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,YAAY;IAC7C,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,SAAS,CAAS;gBAEd,MAAM,EAAE,kBAAkB;IAWtC;;OAEG;IACG,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIvD;;OAEG;IACG,cAAc,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIxE;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAOvC;;OAEG;IACH,cAAc,IAAI,IAAI;IAMtB;;OAEG;YACW,eAAe;IAiU7B;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE;QAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC7B,GAAG,IAAI;IAyCR;;OAEG;IACH,IAAI,IAAI,IAAI;IAkBZ;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,WAAW,IAAI,OAAO;IAQtB;;OAEG;IACH,cAAc,IAAI,iBAAiB,GAAG,IAAI;IAI1C;;OAEG;IACH,WAAW,IAAI,UAAU,EAAE;IAI3B;;OAEG;IACH,OAAO,CAAC,cAAc;IAsCtB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;OAEG;IACH,OAAO,CAAC,YAAY;IA0EpB;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAqG7B"}
1
+ {"version":3,"file":"ClaudeRunner.d.ts","sourceRoot":"","sources":["../src/ClaudeRunner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAU3C,OAAO,EAEN,KAAK,UAAU,EAEf,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,KAAK,YAAY,EAAmB,MAAM,YAAY,CAAC;AAIhE,qBAAa,UAAW,SAAQ,KAAK;gBACxB,OAAO,CAAC,EAAE,MAAM;CAI5B;AAED,OAAO,EAA0B,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,KAAK,EACX,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,YAAY,CAAC;AAEpB,MAAM,CAAC,OAAO,WAAW,YAAY;IACpC,EAAE,CAAC,CAAC,SAAS,MAAM,kBAAkB,EACpC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC,GAC7B,IAAI,CAAC;IACR,IAAI,CAAC,CAAC,SAAS,MAAM,kBAAkB,EACtC,KAAK,EAAE,CAAC,EACR,GAAG,IAAI,EAAE,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,GACxC,OAAO,CAAC;CACX;AAED;;GAEG;AACH,qBAAa,YAAa,SAAQ,YAAa,YAAW,YAAY;IACrE;;OAEG;IACH,QAAQ,CAAC,sBAAsB,QAAQ;IAEvC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,SAAS,CAA4B;IAC7C,OAAO,CAAC,iBAAiB,CAA4B;IACrD,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,eAAe,CAAgC;IACvD,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,SAAS,CAAoB;IACrC,OAAO,CAAC,oBAAoB,CAA2B;gBAE3C,MAAM,EAAE,kBAAkB;IAYtC;;OAEG;IACG,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIvD;;OAEG;IACG,cAAc,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIxE;;OAEG;IACH,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAOvC;;OAEG;IACH,cAAc,IAAI,IAAI;IAMtB;;OAEG;YACW,eAAe;IAgV7B;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE;QAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC7B,GAAG,IAAI;IAyCR;;OAEG;IACH,IAAI,IAAI,IAAI;IAkBZ;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,WAAW,IAAI,OAAO;IAQtB;;OAEG;IACH,cAAc,IAAI,iBAAiB,GAAG,IAAI;IAI1C;;OAEG;IACH,WAAW,IAAI,UAAU,EAAE;IAI3B;;OAEG;IACH,YAAY,IAAI,iBAAiB;IAIjC;;OAEG;IACH,OAAO,CAAC,cAAc;IAsCtB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;OAEG;IACH,OAAO,CAAC,YAAY;IA0EpB;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAqG7B"}
@@ -2,6 +2,7 @@ import { EventEmitter } from "node:events";
2
2
  import { createWriteStream, existsSync, mkdirSync, readFileSync, writeFileSync, } from "node:fs";
3
3
  import { join } from "node:path";
4
4
  import { query, } from "@anthropic-ai/claude-agent-sdk";
5
+ import { StreamingPrompt } from "cyrus-core";
5
6
  import dotenv from "dotenv";
6
7
  // AbortError is no longer exported in v1.0.95, so we define it locally
7
8
  export class AbortError extends Error {
@@ -10,101 +11,15 @@ export class AbortError extends Error {
10
11
  this.name = "AbortError";
11
12
  }
12
13
  }
13
- /**
14
- * Streaming prompt controller that implements AsyncIterable<SDKUserMessage>
15
- */
16
- export class StreamingPrompt {
17
- messageQueue = [];
18
- resolvers = [];
19
- isComplete = false;
20
- sessionId;
21
- constructor(sessionId, initialPrompt) {
22
- this.sessionId = sessionId;
23
- // Add initial prompt if provided
24
- if (initialPrompt) {
25
- this.addMessage(initialPrompt);
26
- }
27
- }
28
- /**
29
- * Update the session ID (used when session ID is received from Claude)
30
- */
31
- updateSessionId(sessionId) {
32
- this.sessionId = sessionId;
33
- }
34
- /**
35
- * Add a new message to the stream
36
- */
37
- addMessage(content) {
38
- if (this.isComplete) {
39
- throw new Error("Cannot add message to completed stream");
40
- }
41
- const message = {
42
- type: "user",
43
- message: {
44
- role: "user",
45
- content: content,
46
- },
47
- parent_tool_use_id: null,
48
- session_id: this.sessionId || "pending", // Use placeholder until assigned by Claude
49
- };
50
- this.messageQueue.push(message);
51
- this.processQueue();
52
- }
53
- /**
54
- * Mark the stream as complete (no more messages will be added)
55
- */
56
- complete() {
57
- this.isComplete = true;
58
- this.processQueue();
59
- }
60
- /**
61
- * Check if the stream is complete
62
- */
63
- get completed() {
64
- return this.isComplete;
65
- }
66
- /**
67
- * Process pending resolvers with queued messages
68
- */
69
- processQueue() {
70
- while (this.resolvers.length > 0 &&
71
- (this.messageQueue.length > 0 || this.isComplete)) {
72
- const resolver = this.resolvers.shift();
73
- if (this.messageQueue.length > 0) {
74
- const message = this.messageQueue.shift();
75
- resolver({ value: message, done: false });
76
- }
77
- else if (this.isComplete) {
78
- resolver({ value: undefined, done: true });
79
- }
80
- }
81
- }
82
- /**
83
- * AsyncIterable implementation
84
- */
85
- [Symbol.asyncIterator]() {
86
- return {
87
- next: () => {
88
- return new Promise((resolve) => {
89
- if (this.messageQueue.length > 0) {
90
- const message = this.messageQueue.shift();
91
- resolve({ value: message, done: false });
92
- }
93
- else if (this.isComplete) {
94
- resolve({ value: undefined, done: true });
95
- }
96
- else {
97
- this.resolvers.push(resolve);
98
- }
99
- });
100
- },
101
- };
102
- }
103
- }
14
+ import { ClaudeMessageFormatter } from "./formatter.js";
104
15
  /**
105
16
  * Manages Claude SDK sessions and communication
106
17
  */
107
18
  export class ClaudeRunner extends EventEmitter {
19
+ /**
20
+ * ClaudeRunner supports streaming input via startStreaming(), addStreamMessage(), and completeStream()
21
+ */
22
+ supportsStreamingInput = true;
108
23
  config;
109
24
  abortController = null;
110
25
  sessionInfo = null;
@@ -113,10 +28,13 @@ export class ClaudeRunner extends EventEmitter {
113
28
  messages = [];
114
29
  streamingPrompt = null;
115
30
  cyrusHome;
31
+ formatter;
32
+ pendingResultMessage = null;
116
33
  constructor(config) {
117
34
  super();
118
35
  this.config = config;
119
36
  this.cyrusHome = config.cyrusHome;
37
+ this.formatter = new ClaudeMessageFormatter();
120
38
  // Forward config callbacks to events
121
39
  if (config.onMessage)
122
40
  this.on("message", config.onMessage);
@@ -348,17 +266,31 @@ export class ClaudeRunner extends EventEmitter {
348
266
  this.writeReadableLogEntry(message);
349
267
  }
350
268
  // Emit appropriate events based on message type
351
- this.emit("message", message);
352
- this.processMessage(message);
353
- // If we get a result message while streaming, complete the stream
354
- if (message.type === "result" && this.streamingPrompt) {
355
- console.log("[ClaudeRunner] Got result message, completing streaming prompt");
356
- this.streamingPrompt.complete();
269
+ // Defer result message emission until after loop completes to avoid race conditions
270
+ // where subroutine transitions start before the runner has fully cleaned up
271
+ if (message.type === "result") {
272
+ this.pendingResultMessage = message;
273
+ // Complete streaming prompt immediately so it stops accepting input
274
+ if (this.streamingPrompt) {
275
+ console.log("[ClaudeRunner] Got result message, completing streaming prompt");
276
+ this.streamingPrompt.complete();
277
+ }
278
+ }
279
+ else {
280
+ this.emit("message", message);
281
+ this.processMessage(message);
357
282
  }
358
283
  }
359
- // Session completed successfully
284
+ // Session completed successfully - mark as not running BEFORE emitting result
285
+ // This ensures any code checking isRunning() during result processing sees the correct state
360
286
  console.log(`[ClaudeRunner] Session completed with ${this.messages.length} messages`);
361
287
  this.sessionInfo.isRunning = false;
288
+ // Emit deferred result message after marking isRunning = false
289
+ if (this.pendingResultMessage) {
290
+ this.emit("message", this.pendingResultMessage);
291
+ this.processMessage(this.pendingResultMessage);
292
+ this.pendingResultMessage = null;
293
+ }
362
294
  this.emit("complete", this.messages);
363
295
  }
364
296
  catch (error) {
@@ -382,6 +314,7 @@ export class ClaudeRunner extends EventEmitter {
382
314
  finally {
383
315
  // Clean up
384
316
  this.abortController = null;
317
+ this.pendingResultMessage = null;
385
318
  // Complete and clean up streaming prompt if it exists
386
319
  if (this.streamingPrompt) {
387
320
  this.streamingPrompt.complete();
@@ -479,6 +412,12 @@ export class ClaudeRunner extends EventEmitter {
479
412
  getMessages() {
480
413
  return [...this.messages];
481
414
  }
415
+ /**
416
+ * Get the message formatter for this runner
417
+ */
418
+ getFormatter() {
419
+ return this.formatter;
420
+ }
482
421
  /**
483
422
  * Process individual SDK messages and emit appropriate events
484
423
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ClaudeRunner.js","sourceRoot":"","sources":["../src/ClaudeRunner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClaudeRunner.js","sourceRoot":"","sources":["../src/ClaudeRunner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Message Formatter Interface
3
+ *
4
+ * Defines the contract for formatting tool messages into human-readable content
5
+ * suitable for display in Linear agent activities. Each runner implementation
6
+ * should provide its own formatter that understands its specific message format.
7
+ */
8
+ export interface IMessageFormatter {
9
+ /**
10
+ * Format TodoWrite tool parameter as a nice checklist
11
+ * @param jsonContent - The raw JSON content from the TodoWrite tool
12
+ * @returns Formatted checklist string with status emojis
13
+ */
14
+ formatTodoWriteParameter(jsonContent: string): string;
15
+ /**
16
+ * Format tool input for display in Linear agent activities
17
+ * Converts raw tool inputs into user-friendly parameter strings
18
+ * @param toolName - The name of the tool (e.g., "Bash", "Read", "Grep")
19
+ * @param toolInput - The raw tool input object
20
+ * @returns User-friendly parameter string
21
+ */
22
+ formatToolParameter(toolName: string, toolInput: any): string;
23
+ /**
24
+ * Format tool action name with description for Bash tool
25
+ * Puts the description in round brackets after the tool name in the action field
26
+ * @param toolName - The name of the tool
27
+ * @param toolInput - The raw tool input object
28
+ * @param isError - Whether the tool result is an error
29
+ * @returns Formatted action name (e.g., "Bash (List files)")
30
+ */
31
+ formatToolActionName(toolName: string, toolInput: any, isError: boolean): string;
32
+ /**
33
+ * Format tool result for display in Linear agent activities
34
+ * Converts raw tool results into formatted Markdown
35
+ * @param toolName - The name of the tool
36
+ * @param toolInput - The raw tool input object
37
+ * @param result - The raw tool result string
38
+ * @param isError - Whether the result is an error
39
+ * @returns Formatted Markdown string
40
+ */
41
+ formatToolResult(toolName: string, toolInput: any, result: string, isError: boolean): string;
42
+ }
43
+ /**
44
+ * Claude Message Formatter
45
+ *
46
+ * Implements message formatting for Claude SDK tool messages.
47
+ * This formatter understands Claude's specific tool format and converts
48
+ * tool use/result messages into human-readable content for Linear.
49
+ */
50
+ export declare class ClaudeMessageFormatter implements IMessageFormatter {
51
+ /**
52
+ * Format TodoWrite tool parameter as a nice checklist
53
+ */
54
+ formatTodoWriteParameter(jsonContent: string): string;
55
+ /**
56
+ * Format tool input for display in Linear agent activities
57
+ * Converts raw tool inputs into user-friendly parameter strings
58
+ */
59
+ formatToolParameter(toolName: string, toolInput: any): string;
60
+ /**
61
+ * Format tool action name with description for Bash tool
62
+ * Puts the description in round brackets after the tool name in the action field
63
+ */
64
+ formatToolActionName(toolName: string, toolInput: any, isError: boolean): string;
65
+ /**
66
+ * Format tool result for display in Linear agent activities
67
+ * Converts raw tool results into formatted Markdown
68
+ */
69
+ formatToolResult(toolName: string, toolInput: any, result: string, isError: boolean): string;
70
+ }
71
+ //# sourceMappingURL=formatter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IACjC;;;;OAIG;IACH,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC;IAEtD;;;;;;OAMG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,MAAM,CAAC;IAE9D;;;;;;;OAOG;IACH,oBAAoB,CACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,GAAG,EACd,OAAO,EAAE,OAAO,GACd,MAAM,CAAC;IAEV;;;;;;;;OAQG;IACH,gBAAgB,CACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,GAAG,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GACd,MAAM,CAAC;CACV;AAED;;;;;;GAMG;AACH,qBAAa,sBAAuB,YAAW,iBAAiB;IAC/D;;OAEG;IACH,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;IA2CrD;;;OAGG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,GAAG,MAAM;IAyI7D;;;OAGG;IACH,oBAAoB,CACnB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,GAAG,EACd,OAAO,EAAE,OAAO,GACd,MAAM;IAmBT;;;OAGG;IACH,gBAAgB,CACf,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,GAAG,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,OAAO,GACd,MAAM;CA+LT"}
@@ -0,0 +1,358 @@
1
+ /**
2
+ * Claude Message Formatter
3
+ *
4
+ * Implements message formatting for Claude SDK tool messages.
5
+ * This formatter understands Claude's specific tool format and converts
6
+ * tool use/result messages into human-readable content for Linear.
7
+ */
8
+ export class ClaudeMessageFormatter {
9
+ /**
10
+ * Format TodoWrite tool parameter as a nice checklist
11
+ */
12
+ formatTodoWriteParameter(jsonContent) {
13
+ try {
14
+ const data = JSON.parse(jsonContent);
15
+ if (!data.todos || !Array.isArray(data.todos)) {
16
+ return jsonContent;
17
+ }
18
+ const todos = data.todos;
19
+ // Keep original order but add status indicators
20
+ let formatted = "\n";
21
+ todos.forEach((todo, index) => {
22
+ let statusEmoji = "";
23
+ if (todo.status === "completed") {
24
+ statusEmoji = "✅ ";
25
+ }
26
+ else if (todo.status === "in_progress") {
27
+ statusEmoji = "🔄 ";
28
+ }
29
+ else if (todo.status === "pending") {
30
+ statusEmoji = "⏳ ";
31
+ }
32
+ formatted += `${statusEmoji}${todo.content}`;
33
+ if (index < todos.length - 1) {
34
+ formatted += "\n";
35
+ }
36
+ });
37
+ return formatted;
38
+ }
39
+ catch (error) {
40
+ console.error("[ClaudeMessageFormatter] Failed to format TodoWrite parameter:", error);
41
+ return jsonContent;
42
+ }
43
+ }
44
+ /**
45
+ * Format tool input for display in Linear agent activities
46
+ * Converts raw tool inputs into user-friendly parameter strings
47
+ */
48
+ formatToolParameter(toolName, toolInput) {
49
+ // If input is already a string, return it
50
+ if (typeof toolInput === "string") {
51
+ return toolInput;
52
+ }
53
+ try {
54
+ switch (toolName) {
55
+ case "Bash":
56
+ case "↪ Bash": {
57
+ // Show command only - description goes in action field via formatToolActionName
58
+ return toolInput.command || JSON.stringify(toolInput);
59
+ }
60
+ case "Read":
61
+ case "↪ Read":
62
+ if (toolInput.file_path) {
63
+ let param = toolInput.file_path;
64
+ if (toolInput.offset !== undefined ||
65
+ toolInput.limit !== undefined) {
66
+ const start = toolInput.offset || 0;
67
+ const end = toolInput.limit ? start + toolInput.limit : "end";
68
+ param += ` (lines ${start + 1}-${end})`;
69
+ }
70
+ return param;
71
+ }
72
+ break;
73
+ case "Edit":
74
+ case "↪ Edit":
75
+ if (toolInput.file_path) {
76
+ return toolInput.file_path;
77
+ }
78
+ break;
79
+ case "Write":
80
+ case "↪ Write":
81
+ if (toolInput.file_path) {
82
+ return toolInput.file_path;
83
+ }
84
+ break;
85
+ case "Grep":
86
+ case "↪ Grep":
87
+ if (toolInput.pattern) {
88
+ let param = `Pattern: \`${toolInput.pattern}\``;
89
+ if (toolInput.path) {
90
+ param += ` in ${toolInput.path}`;
91
+ }
92
+ if (toolInput.glob) {
93
+ param += ` (${toolInput.glob})`;
94
+ }
95
+ if (toolInput.type) {
96
+ param += ` [${toolInput.type} files]`;
97
+ }
98
+ return param;
99
+ }
100
+ break;
101
+ case "Glob":
102
+ case "↪ Glob":
103
+ if (toolInput.pattern) {
104
+ let param = `Pattern: \`${toolInput.pattern}\``;
105
+ if (toolInput.path) {
106
+ param += ` in ${toolInput.path}`;
107
+ }
108
+ return param;
109
+ }
110
+ break;
111
+ case "Task":
112
+ case "↪ Task":
113
+ if (toolInput.description) {
114
+ return toolInput.description;
115
+ }
116
+ break;
117
+ case "WebFetch":
118
+ case "↪ WebFetch":
119
+ if (toolInput.url) {
120
+ return toolInput.url;
121
+ }
122
+ break;
123
+ case "WebSearch":
124
+ case "↪ WebSearch":
125
+ if (toolInput.query) {
126
+ return `Query: ${toolInput.query}`;
127
+ }
128
+ break;
129
+ case "NotebookEdit":
130
+ case "↪ NotebookEdit":
131
+ if (toolInput.notebook_path) {
132
+ let param = toolInput.notebook_path;
133
+ if (toolInput.cell_id) {
134
+ param += ` (cell ${toolInput.cell_id})`;
135
+ }
136
+ return param;
137
+ }
138
+ break;
139
+ default:
140
+ // For MCP tools or other unknown tools, try to extract meaningful info
141
+ if (toolName.startsWith("mcp__")) {
142
+ // Extract key fields that are commonly meaningful
143
+ const meaningfulFields = [
144
+ "query",
145
+ "id",
146
+ "issueId",
147
+ "title",
148
+ "name",
149
+ "path",
150
+ "file",
151
+ ];
152
+ for (const field of meaningfulFields) {
153
+ if (toolInput[field]) {
154
+ return `${field}: ${toolInput[field]}`;
155
+ }
156
+ }
157
+ }
158
+ break;
159
+ }
160
+ // Fallback to JSON but make it compact
161
+ return JSON.stringify(toolInput);
162
+ }
163
+ catch (error) {
164
+ console.error("[ClaudeMessageFormatter] Failed to format tool parameter:", error);
165
+ return JSON.stringify(toolInput);
166
+ }
167
+ }
168
+ /**
169
+ * Format tool action name with description for Bash tool
170
+ * Puts the description in round brackets after the tool name in the action field
171
+ */
172
+ formatToolActionName(toolName, toolInput, isError) {
173
+ // Handle Bash tool with description
174
+ if (toolName === "Bash" || toolName === "↪ Bash") {
175
+ // Check if toolInput has a description field
176
+ if (toolInput &&
177
+ typeof toolInput === "object" &&
178
+ "description" in toolInput &&
179
+ toolInput.description) {
180
+ const baseName = isError ? `${toolName} (Error)` : toolName;
181
+ return `${baseName} (${toolInput.description})`;
182
+ }
183
+ }
184
+ // Default formatting for other tools or Bash without description
185
+ return isError ? `${toolName} (Error)` : toolName;
186
+ }
187
+ /**
188
+ * Format tool result for display in Linear agent activities
189
+ * Converts raw tool results into formatted Markdown
190
+ */
191
+ formatToolResult(toolName, toolInput, result, isError) {
192
+ // If there's an error, wrap in error formatting
193
+ if (isError) {
194
+ return `\`\`\`\n${result}\n\`\`\``;
195
+ }
196
+ try {
197
+ switch (toolName) {
198
+ case "Bash":
199
+ case "↪ Bash": {
200
+ // Show command first if not already in parameter
201
+ let formatted = "";
202
+ if (toolInput.command && !toolInput.description) {
203
+ formatted += `\`\`\`bash\n${toolInput.command}\n\`\`\`\n\n`;
204
+ }
205
+ // Then show output
206
+ if (result?.trim()) {
207
+ formatted += `\`\`\`\n${result}\n\`\`\``;
208
+ }
209
+ else {
210
+ formatted += "*No output*";
211
+ }
212
+ return formatted;
213
+ }
214
+ case "Read":
215
+ case "↪ Read":
216
+ // For Read, the result is file content - use code block
217
+ if (result?.trim()) {
218
+ // Clean up the result: remove line numbers and system-reminder tags
219
+ let cleanedResult = result;
220
+ // Remove line numbers (format: " 123→")
221
+ cleanedResult = cleanedResult.replace(/^\s*\d+→/gm, "");
222
+ // Remove system-reminder blocks
223
+ cleanedResult = cleanedResult.replace(/<system-reminder>[\s\S]*?<\/system-reminder>/g, "");
224
+ // Trim only blank lines (not horizontal whitespace) to preserve indentation
225
+ cleanedResult = cleanedResult
226
+ .replace(/^\n+/, "")
227
+ .replace(/\n+$/, "");
228
+ // Try to detect language from file extension
229
+ let lang = "";
230
+ if (toolInput.file_path) {
231
+ const ext = toolInput.file_path.split(".").pop()?.toLowerCase();
232
+ const langMap = {
233
+ ts: "typescript",
234
+ tsx: "typescript",
235
+ js: "javascript",
236
+ jsx: "javascript",
237
+ py: "python",
238
+ rb: "ruby",
239
+ go: "go",
240
+ rs: "rust",
241
+ java: "java",
242
+ c: "c",
243
+ cpp: "cpp",
244
+ cs: "csharp",
245
+ php: "php",
246
+ swift: "swift",
247
+ kt: "kotlin",
248
+ scala: "scala",
249
+ sh: "bash",
250
+ bash: "bash",
251
+ zsh: "bash",
252
+ yml: "yaml",
253
+ yaml: "yaml",
254
+ json: "json",
255
+ xml: "xml",
256
+ html: "html",
257
+ css: "css",
258
+ scss: "scss",
259
+ md: "markdown",
260
+ sql: "sql",
261
+ };
262
+ lang = langMap[ext || ""] || "";
263
+ }
264
+ return `\`\`\`${lang}\n${cleanedResult}\n\`\`\``;
265
+ }
266
+ return "*Empty file*";
267
+ case "Edit":
268
+ case "↪ Edit": {
269
+ // For Edit, show changes as a diff
270
+ // Extract old_string and new_string from toolInput
271
+ if (toolInput.old_string && toolInput.new_string) {
272
+ // Format as a unified diff
273
+ const oldLines = toolInput.old_string.split("\n");
274
+ const newLines = toolInput.new_string.split("\n");
275
+ let diff = "```diff\n";
276
+ // Add context lines before changes (show all old lines with - prefix)
277
+ for (const line of oldLines) {
278
+ diff += `-${line}\n`;
279
+ }
280
+ // Add new lines with + prefix
281
+ for (const line of newLines) {
282
+ diff += `+${line}\n`;
283
+ }
284
+ diff += "```";
285
+ return diff;
286
+ }
287
+ // Fallback to result if old/new strings not available
288
+ if (result?.trim()) {
289
+ return result;
290
+ }
291
+ return "*Edit completed*";
292
+ }
293
+ case "Write":
294
+ case "↪ Write":
295
+ // For Write, just confirm
296
+ if (result?.trim()) {
297
+ return result; // In case there's an error or message
298
+ }
299
+ return "*File written successfully*";
300
+ case "Grep":
301
+ case "↪ Grep": {
302
+ // Format grep results
303
+ if (result?.trim()) {
304
+ const lines = result.split("\n");
305
+ // If it looks like file paths (files_with_matches mode)
306
+ if (lines.length > 0 &&
307
+ lines[0] &&
308
+ !lines[0].includes(":") &&
309
+ lines[0].trim().length > 0) {
310
+ return `Found ${lines.filter((l) => l.trim()).length} matching files:\n\`\`\`\n${result}\n\`\`\``;
311
+ }
312
+ // Otherwise it's content matches
313
+ return `\`\`\`\n${result}\n\`\`\``;
314
+ }
315
+ return "*No matches found*";
316
+ }
317
+ case "Glob":
318
+ case "↪ Glob": {
319
+ if (result?.trim()) {
320
+ const lines = result.split("\n").filter((l) => l.trim());
321
+ return `Found ${lines.length} matching files:\n\`\`\`\n${result}\n\`\`\``;
322
+ }
323
+ return "*No files found*";
324
+ }
325
+ case "Task":
326
+ case "↪ Task":
327
+ // Task results can be complex - keep as is but in code block if multiline
328
+ if (result?.trim()) {
329
+ if (result.includes("\n")) {
330
+ return `\`\`\`\n${result}\n\`\`\``;
331
+ }
332
+ return result;
333
+ }
334
+ return "*Task completed*";
335
+ case "WebFetch":
336
+ case "↪ WebFetch":
337
+ case "WebSearch":
338
+ case "↪ WebSearch":
339
+ // Web results are usually formatted, keep as is
340
+ return result || "*No results*";
341
+ default:
342
+ // For unknown tools, use code block if result has multiple lines
343
+ if (result?.trim()) {
344
+ if (result.includes("\n") && result.length > 100) {
345
+ return `\`\`\`\n${result}\n\`\`\``;
346
+ }
347
+ return result;
348
+ }
349
+ return "*Completed*";
350
+ }
351
+ }
352
+ catch (error) {
353
+ console.error("[ClaudeMessageFormatter] Failed to format tool result:", error);
354
+ return result || "";
355
+ }
356
+ }
357
+ }
358
+ //# sourceMappingURL=formatter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatter.js","sourceRoot":"","sources":["../src/formatter.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export type { HookCallbackMatcher, HookEvent, HookInput, HookJSONOutput, PostToolUseHookInput, } from "@anthropic-ai/claude-agent-sdk";
2
- export { AbortError, ClaudeRunner, StreamingPrompt } from "./ClaudeRunner.js";
2
+ export { AbortError, ClaudeRunner } from "./ClaudeRunner.js";
3
3
  export { availableTools, getAllTools, getCoordinatorTools, getReadOnlyTools, getSafeTools, readOnlyTools, type ToolName, writeTools, } from "./config.js";
4
+ export { ClaudeMessageFormatter, type IMessageFormatter, } from "./formatter.js";
4
5
  export { type CyrusToolsOptions, createCyrusToolsServer, } from "./tools/cyrus-tools/index.js";
5
6
  export { createImageToolsServer, type ImageToolsOptions, } from "./tools/image-tools/index.js";
6
7
  export { createSoraToolsServer, type SoraToolsOptions, } from "./tools/sora-tools/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACX,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,cAAc,EACd,oBAAoB,GACpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EACN,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,KAAK,QAAQ,EACb,UAAU,GACV,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,KAAK,iBAAiB,EACtB,sBAAsB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACN,sBAAsB,EACtB,KAAK,iBAAiB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACN,qBAAqB,EACrB,KAAK,gBAAgB,GACrB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACX,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GACd,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACX,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,cAAc,EACd,oBAAoB,GACpB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EACN,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EACb,KAAK,QAAQ,EACb,UAAU,GACV,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,sBAAsB,EACtB,KAAK,iBAAiB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,KAAK,iBAAiB,EACtB,sBAAsB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACN,sBAAsB,EACtB,KAAK,iBAAiB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACN,qBAAqB,EACrB,KAAK,gBAAgB,GACrB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EACX,mBAAmB,EACnB,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GACd,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
- export { AbortError, ClaudeRunner, StreamingPrompt } from "./ClaudeRunner.js";
1
+ export { AbortError, ClaudeRunner } from "./ClaudeRunner.js";
2
2
  export { availableTools, getAllTools, getCoordinatorTools, getReadOnlyTools, getSafeTools, readOnlyTools, writeTools, } from "./config.js";
3
+ export { ClaudeMessageFormatter, } from "./formatter.js";
3
4
  export { createCyrusToolsServer, } from "./tools/cyrus-tools/index.js";
4
5
  export { createImageToolsServer, } from "./tools/image-tools/index.js";
5
6
  export { createSoraToolsServer, } from "./tools/sora-tools/index.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAC9E,OAAO,EACN,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EAEb,UAAU,GACV,MAAM,aAAa,CAAC;AACrB,OAAO,EAEN,sBAAsB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACN,sBAAsB,GAEtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACN,qBAAqB,GAErB,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EACN,cAAc,EACd,WAAW,EACX,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,EACZ,aAAa,EAEb,UAAU,GACV,MAAM,aAAa,CAAC;AACrB,OAAO,EACN,sBAAsB,GAEtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAEN,sBAAsB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACN,sBAAsB,GAEtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACN,qBAAqB,GAErB,MAAM,6BAA6B,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "cyrus-claude-runner",
3
- "version": "0.2.3",
4
- "description": "Claude process spawning and management for Cyrus",
3
+ "version": "0.2.5",
4
+ "description": "Claude CLI execution wrapper for Cyrus",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
@@ -12,14 +12,16 @@
12
12
  "@anthropic-ai/claude-agent-sdk": "^0.1.52",
13
13
  "@anthropic-ai/sdk": "^0.71.0",
14
14
  "@linear/sdk": "^64.0.0",
15
- "dotenv": "^16.6.1",
16
- "fs-extra": "^11.3.0",
17
- "openai": "^6.3.0",
18
- "zod": "^3.23.0"
15
+ "dotenv": "^16.4.5",
16
+ "fs-extra": "^11.3.2",
17
+ "openai": "^6.9.1",
18
+ "zod": "^3.24.1",
19
+ "cyrus-core": "0.2.5"
19
20
  },
20
21
  "devDependencies": {
21
22
  "@types/fs-extra": "^11.0.4",
22
23
  "@types/node": "^20.0.0",
24
+ "tsx": "^4.19.2",
23
25
  "typescript": "^5.3.3",
24
26
  "vitest": "^1.1.0"
25
27
  },