cyrus-core 0.2.2 → 0.2.4
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/dist/CyrusAgentSession.d.ts +11 -8
- package/dist/CyrusAgentSession.d.ts.map +1 -1
- package/dist/CyrusAgentSession.js +1 -1
- package/dist/StreamingPrompt.d.ts +21 -0
- package/dist/StreamingPrompt.d.ts.map +1 -0
- package/dist/StreamingPrompt.js +76 -0
- package/dist/StreamingPrompt.js.map +1 -0
- package/dist/agent-runner-types.d.ts +324 -0
- package/dist/agent-runner-types.d.ts.map +1 -0
- package/dist/agent-runner-types.js +2 -0
- package/dist/agent-runner-types.js.map +1 -0
- package/dist/config-types.d.ts +4 -1
- package/dist/config-types.d.ts.map +1 -1
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/issue-tracker/AgentEvent.d.ts +134 -0
- package/dist/issue-tracker/AgentEvent.d.ts.map +1 -0
- package/dist/issue-tracker/AgentEvent.js +109 -0
- package/dist/issue-tracker/AgentEvent.js.map +1 -0
- package/dist/issue-tracker/IAgentEventTransport.d.ts +146 -0
- package/dist/issue-tracker/IAgentEventTransport.d.ts.map +1 -0
- package/dist/issue-tracker/IAgentEventTransport.js +12 -0
- package/dist/issue-tracker/IAgentEventTransport.js.map +1 -0
- package/dist/issue-tracker/IIssueTrackerService.d.ts +692 -0
- package/dist/issue-tracker/IIssueTrackerService.d.ts.map +1 -0
- package/dist/issue-tracker/IIssueTrackerService.js +11 -0
- package/dist/issue-tracker/IIssueTrackerService.js.map +1 -0
- package/dist/issue-tracker/index.d.ts +59 -0
- package/dist/issue-tracker/index.d.ts.map +1 -0
- package/dist/issue-tracker/index.js +61 -0
- package/dist/issue-tracker/index.js.map +1 -0
- package/dist/issue-tracker/types.d.ts +499 -0
- package/dist/issue-tracker/types.d.ts.map +1 -0
- package/dist/issue-tracker/types.js +123 -0
- package/dist/issue-tracker/types.js.map +1 -0
- package/dist/simple-agent-runner-types.d.ts +206 -0
- package/dist/simple-agent-runner-types.d.ts.map +1 -0
- package/dist/simple-agent-runner-types.js +2 -0
- package/dist/simple-agent-runner-types.js.map +1 -0
- package/package.json +4 -3
- package/dist/webhook-types.d.ts +0 -259
- package/dist/webhook-types.d.ts.map +0 -1
- package/dist/webhook-types.js +0 -26
- package/dist/webhook-types.js.map +0 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Agent Session types for Linear Agent Sessions integration
|
|
3
|
-
* These types represent the core data structures for tracking
|
|
3
|
+
* These types represent the core data structures for tracking agent sessions in Linear
|
|
4
4
|
*/
|
|
5
|
-
import type {
|
|
6
|
-
import type {
|
|
5
|
+
import type { IAgentRunner } from "./agent-runner-types.js";
|
|
6
|
+
import type { AgentSessionStatus, AgentSessionType } from "./issue-tracker/types.js";
|
|
7
7
|
export interface IssueMinimal {
|
|
8
8
|
id: string;
|
|
9
9
|
identifier: string;
|
|
@@ -18,16 +18,17 @@ export interface Workspace {
|
|
|
18
18
|
}
|
|
19
19
|
export interface CyrusAgentSession {
|
|
20
20
|
linearAgentActivitySessionId: string;
|
|
21
|
-
type:
|
|
22
|
-
status:
|
|
23
|
-
context:
|
|
21
|
+
type: AgentSessionType.CommentThread;
|
|
22
|
+
status: AgentSessionStatus;
|
|
23
|
+
context: AgentSessionType.CommentThread;
|
|
24
24
|
createdAt: number;
|
|
25
25
|
updatedAt: number;
|
|
26
26
|
issueId: string;
|
|
27
27
|
issue: IssueMinimal;
|
|
28
28
|
workspace: Workspace;
|
|
29
29
|
claudeSessionId?: string;
|
|
30
|
-
|
|
30
|
+
geminiSessionId?: string;
|
|
31
|
+
agentRunner?: IAgentRunner;
|
|
31
32
|
metadata?: {
|
|
32
33
|
model?: string;
|
|
33
34
|
tools?: string[];
|
|
@@ -43,12 +44,14 @@ export interface CyrusAgentSession {
|
|
|
43
44
|
subroutine: string;
|
|
44
45
|
completedAt: number;
|
|
45
46
|
claudeSessionId: string | null;
|
|
47
|
+
geminiSessionId: string | null;
|
|
46
48
|
}>;
|
|
47
49
|
};
|
|
48
50
|
};
|
|
49
51
|
}
|
|
50
52
|
export interface CyrusAgentSessionEntry {
|
|
51
|
-
claudeSessionId
|
|
53
|
+
claudeSessionId?: string;
|
|
54
|
+
geminiSessionId?: string;
|
|
52
55
|
linearAgentActivityId?: string;
|
|
53
56
|
type: "user" | "assistant" | "system" | "result";
|
|
54
57
|
content: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CyrusAgentSession.d.ts","sourceRoot":"","sources":["../src/CyrusAgentSession.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"CyrusAgentSession.d.ts","sourceRoot":"","sources":["../src/CyrusAgentSession.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EACX,kBAAkB,EAClB,gBAAgB,EAChB,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,YAAY;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,SAAS;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,iBAAiB;IACjC,4BAA4B,EAAE,MAAM,CAAC;IACrC,IAAI,EAAE,gBAAgB,CAAC,aAAa,CAAC;IACrC,MAAM,EAAE,kBAAkB,CAAC;IAC3B,OAAO,EAAE,gBAAgB,CAAC,aAAa,CAAC;IACxC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IAErB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,YAAY,CAAC;IAC3B,QAAQ,CAAC,EAAE;QACV,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,GAAG,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE;YACX,aAAa,EAAE,MAAM,CAAC;YACtB,sBAAsB,EAAE,MAAM,CAAC;YAC/B,iBAAiB,EAAE,KAAK,CAAC;gBACxB,UAAU,EAAE,MAAM,CAAC;gBACnB,WAAW,EAAE,MAAM,CAAC;gBACpB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;gBAC/B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;aAC/B,CAAC,CAAC;SACH,CAAC;KACF,CAAC;CACF;AAED,MAAM,WAAW,sBAAsB;IACtC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE;QACV,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,GAAG,CAAC;QAChB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACF"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Agent Session types for Linear Agent Sessions integration
|
|
3
|
-
* These types represent the core data structures for tracking
|
|
3
|
+
* These types represent the core data structures for tracking agent sessions in Linear
|
|
4
4
|
*/
|
|
5
5
|
export {};
|
|
6
6
|
//# sourceMappingURL=CyrusAgentSession.js.map
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { SDKUserMessage } from "@anthropic-ai/claude-agent-sdk";
|
|
2
|
+
/**
|
|
3
|
+
* Streaming prompt controller that implements AsyncIterable<SDKUserMessage>
|
|
4
|
+
*
|
|
5
|
+
* Provides a queue-based async iterator for streaming user messages to agent runners.
|
|
6
|
+
* Used by both ClaudeRunner and GeminiRunner for streaming input support.
|
|
7
|
+
*/
|
|
8
|
+
export declare class StreamingPrompt {
|
|
9
|
+
private messageQueue;
|
|
10
|
+
private resolvers;
|
|
11
|
+
private isComplete;
|
|
12
|
+
private sessionId;
|
|
13
|
+
constructor(sessionId: string | null, initialPrompt?: string);
|
|
14
|
+
updateSessionId(sessionId: string): void;
|
|
15
|
+
addMessage(content: string): void;
|
|
16
|
+
complete(): void;
|
|
17
|
+
get completed(): boolean;
|
|
18
|
+
private processQueue;
|
|
19
|
+
[Symbol.asyncIterator](): AsyncIterator<SDKUserMessage>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=StreamingPrompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StreamingPrompt.d.ts","sourceRoot":"","sources":["../src/StreamingPrompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE;;;;;GAKG;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;IAO5D,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAIxC,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAmBjC,QAAQ,IAAI,IAAI;IAKhB,IAAI,SAAS,IAAI,OAAO,CAEvB;IAED,OAAO,CAAC,YAAY;IAgBpB,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,cAAc,CAAC;CAgBvD"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Streaming prompt controller that implements AsyncIterable<SDKUserMessage>
|
|
3
|
+
*
|
|
4
|
+
* Provides a queue-based async iterator for streaming user messages to agent runners.
|
|
5
|
+
* Used by both ClaudeRunner and GeminiRunner for streaming input support.
|
|
6
|
+
*/
|
|
7
|
+
export class StreamingPrompt {
|
|
8
|
+
messageQueue = [];
|
|
9
|
+
resolvers = [];
|
|
10
|
+
isComplete = false;
|
|
11
|
+
sessionId;
|
|
12
|
+
constructor(sessionId, initialPrompt) {
|
|
13
|
+
this.sessionId = sessionId;
|
|
14
|
+
if (initialPrompt) {
|
|
15
|
+
this.addMessage(initialPrompt);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
updateSessionId(sessionId) {
|
|
19
|
+
this.sessionId = sessionId;
|
|
20
|
+
}
|
|
21
|
+
addMessage(content) {
|
|
22
|
+
if (this.isComplete) {
|
|
23
|
+
throw new Error("Cannot add message to completed stream");
|
|
24
|
+
}
|
|
25
|
+
const message = {
|
|
26
|
+
type: "user",
|
|
27
|
+
message: {
|
|
28
|
+
role: "user",
|
|
29
|
+
content: content,
|
|
30
|
+
},
|
|
31
|
+
parent_tool_use_id: null,
|
|
32
|
+
session_id: this.sessionId || "pending",
|
|
33
|
+
};
|
|
34
|
+
this.messageQueue.push(message);
|
|
35
|
+
this.processQueue();
|
|
36
|
+
}
|
|
37
|
+
complete() {
|
|
38
|
+
this.isComplete = true;
|
|
39
|
+
this.processQueue();
|
|
40
|
+
}
|
|
41
|
+
get completed() {
|
|
42
|
+
return this.isComplete;
|
|
43
|
+
}
|
|
44
|
+
processQueue() {
|
|
45
|
+
while (this.resolvers.length > 0 &&
|
|
46
|
+
(this.messageQueue.length > 0 || this.isComplete)) {
|
|
47
|
+
const resolver = this.resolvers.shift();
|
|
48
|
+
if (this.messageQueue.length > 0) {
|
|
49
|
+
const message = this.messageQueue.shift();
|
|
50
|
+
resolver({ value: message, done: false });
|
|
51
|
+
}
|
|
52
|
+
else if (this.isComplete) {
|
|
53
|
+
resolver({ value: undefined, done: true });
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
[Symbol.asyncIterator]() {
|
|
58
|
+
return {
|
|
59
|
+
next: () => {
|
|
60
|
+
return new Promise((resolve) => {
|
|
61
|
+
if (this.messageQueue.length > 0) {
|
|
62
|
+
const message = this.messageQueue.shift();
|
|
63
|
+
resolve({ value: message, done: false });
|
|
64
|
+
}
|
|
65
|
+
else if (this.isComplete) {
|
|
66
|
+
resolve({ value: undefined, done: true });
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
this.resolvers.push(resolve);
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
},
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=StreamingPrompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StreamingPrompt.js","sourceRoot":"","sources":["../src/StreamingPrompt.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IACnB,YAAY,GAAqB,EAAE,CAAC;IACpC,SAAS,GAChB,EAAE,CAAC;IACI,UAAU,GAAG,KAAK,CAAC;IACnB,SAAS,CAAgB;IAEjC,YAAY,SAAwB,EAAE,aAAsB;QAC3D,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,aAAa,EAAE,CAAC;YACnB,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QAChC,CAAC;IACF,CAAC;IAED,eAAe,CAAC,SAAiB;QAChC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;IAED,UAAU,CAAC,OAAe;QACzB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC3D,CAAC;QAED,MAAM,OAAO,GAAmB;YAC/B,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE;gBACR,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,OAAO;aAChB;YACD,kBAAkB,EAAE,IAAI;YACxB,UAAU,EAAE,IAAI,CAAC,SAAS,IAAI,SAAS;SACvC,CAAC;QAEF,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChC,IAAI,CAAC,YAAY,EAAE,CAAC;IACrB,CAAC;IAED,QAAQ;QACP,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,YAAY,EAAE,CAAC;IACrB,CAAC;IAED,IAAI,SAAS;QACZ,OAAO,IAAI,CAAC,UAAU,CAAC;IACxB,CAAC;IAEO,YAAY;QACnB,OACC,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YACzB,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,EAChD,CAAC;YACF,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAG,CAAC;YAEzC,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAG,CAAC;gBAC3C,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAC3C,CAAC;iBAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC5B,QAAQ,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC5C,CAAC;QACF,CAAC;IACF,CAAC;IAED,CAAC,MAAM,CAAC,aAAa,CAAC;QACrB,OAAO;YACN,IAAI,EAAE,GAA4C,EAAE;gBACnD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;oBAC9B,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAClC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAG,CAAC;wBAC3C,OAAO,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;oBAC1C,CAAC;yBAAM,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;wBAC5B,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBAC3C,CAAC;yBAAM,CAAC;wBACP,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC9B,CAAC;gBACF,CAAC,CAAC,CAAC;YACJ,CAAC;SACD,CAAC;IACH,CAAC;CACD"}
|
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
import type { HookCallbackMatcher, HookEvent, McpServerConfig, SDKMessage, SDKUserMessage } from "@anthropic-ai/claude-agent-sdk";
|
|
2
|
+
/**
|
|
3
|
+
* Message Formatter Interface
|
|
4
|
+
*
|
|
5
|
+
* Forward declaration - implemented by each runner (e.g., ClaudeMessageFormatter, GeminiMessageFormatter)
|
|
6
|
+
*/
|
|
7
|
+
export interface IMessageFormatter {
|
|
8
|
+
formatTodoWriteParameter(jsonContent: string): string;
|
|
9
|
+
formatToolParameter(toolName: string, toolInput: any): string;
|
|
10
|
+
formatToolActionName(toolName: string, toolInput: any, isError: boolean): string;
|
|
11
|
+
formatToolResult(toolName: string, toolInput: any, result: string, isError: boolean): string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Agent Runner Interface
|
|
15
|
+
*
|
|
16
|
+
* This interface provides a provider-agnostic abstraction for AI agent runners.
|
|
17
|
+
* It follows the same pattern as IIssueTrackerService, where type aliases point
|
|
18
|
+
* to provider-specific SDK types (currently Claude SDK).
|
|
19
|
+
*
|
|
20
|
+
* The interface is designed to support multiple AI providers (Claude, Gemini, etc.)
|
|
21
|
+
* through adapter implementations, while maintaining a consistent API surface.
|
|
22
|
+
*
|
|
23
|
+
* ## Architecture Pattern
|
|
24
|
+
*
|
|
25
|
+
* This abstraction uses type aliasing to external SDK types rather than creating
|
|
26
|
+
* new types. This approach:
|
|
27
|
+
* - Maintains compatibility with existing Claude SDK code
|
|
28
|
+
* - Allows gradual migration to provider-agnostic code
|
|
29
|
+
* - Enables adapter pattern implementations for other providers
|
|
30
|
+
* - Preserves type safety and IDE autocomplete
|
|
31
|
+
*
|
|
32
|
+
* ## Usage Example
|
|
33
|
+
*
|
|
34
|
+
* ```typescript
|
|
35
|
+
* class ClaudeRunnerAdapter implements IAgentRunner {
|
|
36
|
+
* async start(prompt: string): Promise<AgentSessionInfo> {
|
|
37
|
+
* // Implementation using Claude SDK
|
|
38
|
+
* }
|
|
39
|
+
*
|
|
40
|
+
* async startStreaming(initialPrompt?: string): Promise<AgentSessionInfo> {
|
|
41
|
+
* // Implementation using Claude SDK streaming
|
|
42
|
+
* }
|
|
43
|
+
*
|
|
44
|
+
* // ... other methods
|
|
45
|
+
* }
|
|
46
|
+
*
|
|
47
|
+
* class GeminiRunnerAdapter implements IAgentRunner {
|
|
48
|
+
* async start(prompt: string): Promise<AgentSessionInfo> {
|
|
49
|
+
* // Implementation using Gemini SDK
|
|
50
|
+
* }
|
|
51
|
+
*
|
|
52
|
+
* // ... other methods
|
|
53
|
+
* }
|
|
54
|
+
* ```
|
|
55
|
+
*
|
|
56
|
+
* @see {@link AgentRunnerConfig} for configuration options
|
|
57
|
+
* @see {@link AgentSessionInfo} for session information structure
|
|
58
|
+
*/
|
|
59
|
+
export interface IAgentRunner {
|
|
60
|
+
/**
|
|
61
|
+
* Indicates whether this runner supports streaming input
|
|
62
|
+
*
|
|
63
|
+
* When true, the runner supports `startStreaming()`, `addStreamMessage()`, and `completeStream()`.
|
|
64
|
+
* When false, only `start()` should be used - streaming methods may throw or be unavailable.
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* if (runner.supportsStreamingInput) {
|
|
69
|
+
* await runner.startStreaming(initialPrompt);
|
|
70
|
+
* runner.addStreamMessage("Additional context");
|
|
71
|
+
* } else {
|
|
72
|
+
* await runner.start(fullPrompt);
|
|
73
|
+
* }
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
readonly supportsStreamingInput: boolean;
|
|
77
|
+
/**
|
|
78
|
+
* Start a new agent session with a string prompt (legacy/simple mode)
|
|
79
|
+
*
|
|
80
|
+
* This method initiates a complete agent session with a single prompt string.
|
|
81
|
+
* The session runs until completion or until stopped.
|
|
82
|
+
*
|
|
83
|
+
* @param prompt - The initial prompt to send to the agent
|
|
84
|
+
* @returns Session information including session ID and status
|
|
85
|
+
*
|
|
86
|
+
* @example
|
|
87
|
+
* ```typescript
|
|
88
|
+
* const runner = new ClaudeRunnerAdapter(config);
|
|
89
|
+
* const session = await runner.start("Please analyze this codebase");
|
|
90
|
+
* console.log(`Session started: ${session.sessionId}`);
|
|
91
|
+
* ```
|
|
92
|
+
*/
|
|
93
|
+
start(prompt: string): Promise<AgentSessionInfo>;
|
|
94
|
+
/**
|
|
95
|
+
* Start a new agent session with streaming input support
|
|
96
|
+
*
|
|
97
|
+
* This method enables adding messages to the session dynamically after it has started.
|
|
98
|
+
* Use this for interactive sessions where prompts arrive over time (e.g., from webhooks).
|
|
99
|
+
*
|
|
100
|
+
* Only available when `supportsStreamingInput` is true.
|
|
101
|
+
*
|
|
102
|
+
* @param initialPrompt - Optional initial prompt to send immediately
|
|
103
|
+
* @returns Session information including session ID and status
|
|
104
|
+
*
|
|
105
|
+
* @example
|
|
106
|
+
* ```typescript
|
|
107
|
+
* if (runner.supportsStreamingInput) {
|
|
108
|
+
* const session = await runner.startStreaming("Initial task");
|
|
109
|
+
* runner.addStreamMessage("Additional context");
|
|
110
|
+
* runner.completeStream();
|
|
111
|
+
* }
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
startStreaming?(initialPrompt?: string): Promise<AgentSessionInfo>;
|
|
115
|
+
/**
|
|
116
|
+
* Add a message to the streaming prompt
|
|
117
|
+
*
|
|
118
|
+
* Only works when the session was started with `startStreaming()`.
|
|
119
|
+
* Messages are queued and sent to the agent as it processes them.
|
|
120
|
+
*
|
|
121
|
+
* Only available when `supportsStreamingInput` is true.
|
|
122
|
+
*
|
|
123
|
+
* @param content - The message content to add to the stream
|
|
124
|
+
* @throws Error if not in streaming mode or if stream is already completed
|
|
125
|
+
*
|
|
126
|
+
* @example
|
|
127
|
+
* ```typescript
|
|
128
|
+
* runner.addStreamMessage("New comment from user: Fix the bug in auth.ts");
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
addStreamMessage?(content: string): void;
|
|
132
|
+
/**
|
|
133
|
+
* Complete the streaming prompt (no more messages will be added)
|
|
134
|
+
*
|
|
135
|
+
* This signals to the agent that no more messages will be added to the stream.
|
|
136
|
+
* The agent will complete processing and finish the session.
|
|
137
|
+
*
|
|
138
|
+
* Only available when `supportsStreamingInput` is true.
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* ```typescript
|
|
142
|
+
* runner.addStreamMessage("Final message");
|
|
143
|
+
* runner.completeStream(); // Agent will finish processing
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
completeStream?(): void;
|
|
147
|
+
/**
|
|
148
|
+
* Stop the current agent session
|
|
149
|
+
*
|
|
150
|
+
* Gracefully terminates the running session. Any in-progress operations
|
|
151
|
+
* will be aborted, and the session will transition to stopped state.
|
|
152
|
+
*
|
|
153
|
+
* @example
|
|
154
|
+
* ```typescript
|
|
155
|
+
* // User unassigned from issue - stop the agent
|
|
156
|
+
* if (runner.isRunning()) {
|
|
157
|
+
* runner.stop();
|
|
158
|
+
* }
|
|
159
|
+
* ```
|
|
160
|
+
*/
|
|
161
|
+
stop(): void;
|
|
162
|
+
/**
|
|
163
|
+
* Check if the session is currently running
|
|
164
|
+
*
|
|
165
|
+
* @returns True if the session is active and processing, false otherwise
|
|
166
|
+
*
|
|
167
|
+
* @example
|
|
168
|
+
* ```typescript
|
|
169
|
+
* if (runner.isRunning()) {
|
|
170
|
+
* console.log("Session still active");
|
|
171
|
+
* } else {
|
|
172
|
+
* console.log("Session completed or not started");
|
|
173
|
+
* }
|
|
174
|
+
* ```
|
|
175
|
+
*/
|
|
176
|
+
isRunning(): boolean;
|
|
177
|
+
/**
|
|
178
|
+
* Get all messages from the current session
|
|
179
|
+
*
|
|
180
|
+
* Returns a copy of all messages exchanged in the session, including
|
|
181
|
+
* user prompts, assistant responses, system messages, and tool results.
|
|
182
|
+
*
|
|
183
|
+
* @returns Array of all session messages (copy, not reference)
|
|
184
|
+
*
|
|
185
|
+
* @example
|
|
186
|
+
* ```typescript
|
|
187
|
+
* const messages = runner.getMessages();
|
|
188
|
+
* console.log(`Session has ${messages.length} messages`);
|
|
189
|
+
*
|
|
190
|
+
* // Analyze assistant responses
|
|
191
|
+
* const assistantMessages = messages.filter(m => m.type === 'assistant');
|
|
192
|
+
* ```
|
|
193
|
+
*/
|
|
194
|
+
getMessages(): AgentMessage[];
|
|
195
|
+
/**
|
|
196
|
+
* Get the message formatter for this runner
|
|
197
|
+
*
|
|
198
|
+
* Returns a formatter that can convert tool messages into human-readable
|
|
199
|
+
* format suitable for display in Linear or other issue trackers.
|
|
200
|
+
* Each runner provides its own formatter that understands its specific message format.
|
|
201
|
+
*
|
|
202
|
+
* @returns The message formatter instance for this runner
|
|
203
|
+
*
|
|
204
|
+
* @example
|
|
205
|
+
* ```typescript
|
|
206
|
+
* const formatter = runner.getFormatter();
|
|
207
|
+
* const formatted = formatter.formatToolParameter("Read", { file_path: "/test.ts" });
|
|
208
|
+
* console.log(formatted); // "/test.ts"
|
|
209
|
+
* ```
|
|
210
|
+
*/
|
|
211
|
+
getFormatter(): IMessageFormatter;
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Configuration for agent runner
|
|
215
|
+
*
|
|
216
|
+
* This type aliases to the Claude SDK configuration structure. When implementing
|
|
217
|
+
* adapters for other providers (e.g., Gemini), they should map their config to
|
|
218
|
+
* this structure or extend it with provider-specific options.
|
|
219
|
+
*
|
|
220
|
+
* @example
|
|
221
|
+
* ```typescript
|
|
222
|
+
* const config: AgentRunnerConfig = {
|
|
223
|
+
* workingDirectory: '/path/to/repo',
|
|
224
|
+
* allowedDirectories: ['/path/to/repo'],
|
|
225
|
+
* mcpConfig: {
|
|
226
|
+
* 'linear': { command: 'npx', args: ['-y', '@linear/mcp-server'] }
|
|
227
|
+
* },
|
|
228
|
+
* cyrusHome: '/home/user/.cyrus'
|
|
229
|
+
* };
|
|
230
|
+
* ```
|
|
231
|
+
*/
|
|
232
|
+
export interface AgentRunnerConfig {
|
|
233
|
+
/** Working directory for the agent session */
|
|
234
|
+
workingDirectory?: string;
|
|
235
|
+
/** List of allowed tool patterns (e.g., ["Read(**)", "Edit(**)"]) */
|
|
236
|
+
allowedTools?: string[];
|
|
237
|
+
/** List of disallowed tool patterns */
|
|
238
|
+
disallowedTools?: string[];
|
|
239
|
+
/** Directories the agent can read from */
|
|
240
|
+
allowedDirectories?: string[];
|
|
241
|
+
/** Session ID to resume from a previous session */
|
|
242
|
+
resumeSessionId?: string;
|
|
243
|
+
/** Workspace name for logging and organization */
|
|
244
|
+
workspaceName?: string;
|
|
245
|
+
/** Additional text to append to default system prompt */
|
|
246
|
+
appendSystemPrompt?: string;
|
|
247
|
+
/** Path(s) to MCP configuration file(s) */
|
|
248
|
+
mcpConfigPath?: string | string[];
|
|
249
|
+
/** MCP server configurations (inline) */
|
|
250
|
+
mcpConfig?: Record<string, McpServerConfig>;
|
|
251
|
+
/** AI model to use (e.g., "opus", "sonnet", "haiku") */
|
|
252
|
+
model?: string;
|
|
253
|
+
/** Fallback model if primary is unavailable */
|
|
254
|
+
fallbackModel?: string;
|
|
255
|
+
/** Maximum number of turns before completing session */
|
|
256
|
+
maxTurns?: number;
|
|
257
|
+
/** Cyrus home directory (required) */
|
|
258
|
+
cyrusHome: string;
|
|
259
|
+
/** Prompt template version information */
|
|
260
|
+
promptVersions?: {
|
|
261
|
+
userPromptVersion?: string;
|
|
262
|
+
systemPromptVersion?: string;
|
|
263
|
+
};
|
|
264
|
+
/** Event hooks for customizing agent behavior */
|
|
265
|
+
hooks?: Partial<Record<HookEvent, HookCallbackMatcher[]>>;
|
|
266
|
+
/** Callback for each message received */
|
|
267
|
+
onMessage?: (message: AgentMessage) => void | Promise<void>;
|
|
268
|
+
/** Callback for errors */
|
|
269
|
+
onError?: (error: Error) => void | Promise<void>;
|
|
270
|
+
/** Callback when session completes */
|
|
271
|
+
onComplete?: (messages: AgentMessage[]) => void | Promise<void>;
|
|
272
|
+
}
|
|
273
|
+
/**
|
|
274
|
+
* Information about an agent session
|
|
275
|
+
*
|
|
276
|
+
* Tracks the lifecycle and status of an agent session.
|
|
277
|
+
* The sessionId is initially null and gets assigned by the provider
|
|
278
|
+
* when the first message is processed.
|
|
279
|
+
*
|
|
280
|
+
* @example
|
|
281
|
+
* ```typescript
|
|
282
|
+
* const info: AgentSessionInfo = {
|
|
283
|
+
* sessionId: 'claude-session-abc123',
|
|
284
|
+
* startedAt: new Date(),
|
|
285
|
+
* isRunning: true
|
|
286
|
+
* };
|
|
287
|
+
* ```
|
|
288
|
+
*/
|
|
289
|
+
export interface AgentSessionInfo {
|
|
290
|
+
/** Unique session identifier (null until first message) */
|
|
291
|
+
sessionId: string | null;
|
|
292
|
+
/** When the session started */
|
|
293
|
+
startedAt: Date;
|
|
294
|
+
/** Whether the session is currently active */
|
|
295
|
+
isRunning: boolean;
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Type alias for agent messages
|
|
299
|
+
*
|
|
300
|
+
* Maps to Claude SDK's SDKMessage type, which is a union of:
|
|
301
|
+
* - SDKUserMessage (user inputs)
|
|
302
|
+
* - SDKAssistantMessage (agent responses)
|
|
303
|
+
* - SDKSystemMessage (system prompts)
|
|
304
|
+
* - SDKResultMessage (completion/error results)
|
|
305
|
+
*
|
|
306
|
+
* Other provider adapters should map their message types to this structure.
|
|
307
|
+
*/
|
|
308
|
+
export type AgentMessage = SDKMessage;
|
|
309
|
+
/**
|
|
310
|
+
* Type alias for user messages
|
|
311
|
+
*
|
|
312
|
+
* Maps to Claude SDK's SDKUserMessage type.
|
|
313
|
+
* Used for prompts and user inputs to the agent.
|
|
314
|
+
*/
|
|
315
|
+
export type AgentUserMessage = SDKUserMessage;
|
|
316
|
+
/**
|
|
317
|
+
* Re-export SDK types for convenience
|
|
318
|
+
*
|
|
319
|
+
* These re-exports allow consumers to import all necessary types
|
|
320
|
+
* from a single location (packages/core) without knowing the
|
|
321
|
+
* underlying provider SDK.
|
|
322
|
+
*/
|
|
323
|
+
export type { HookCallbackMatcher, HookEvent, McpServerConfig, SDKAssistantMessage, SDKMessage, SDKResultMessage, SDKUserMessage, } from "@anthropic-ai/claude-agent-sdk";
|
|
324
|
+
//# sourceMappingURL=agent-runner-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-runner-types.d.ts","sourceRoot":"","sources":["../src/agent-runner-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-runner-types.js","sourceRoot":"","sources":["../src/agent-runner-types.ts"],"names":[],"mappings":""}
|
package/dist/config-types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import type { SDKMessage } from "@anthropic-ai/claude-agent-sdk";
|
|
1
2
|
import type { Issue as LinearIssue } from "@linear/sdk";
|
|
2
|
-
import type { SDKMessage } from "cyrus-claude-runner";
|
|
3
3
|
import type { Workspace } from "./CyrusAgentSession.js";
|
|
4
4
|
/**
|
|
5
5
|
* Resolve path with tilde (~) expansion
|
|
@@ -78,6 +78,7 @@ export interface EdgeWorkerConfig {
|
|
|
78
78
|
serverPort?: number;
|
|
79
79
|
serverHost?: string;
|
|
80
80
|
ngrokAuthToken?: string;
|
|
81
|
+
platform?: "linear";
|
|
81
82
|
linearWorkspaceSlug?: string;
|
|
82
83
|
defaultAllowedTools?: string[];
|
|
83
84
|
defaultDisallowedTools?: string[];
|
|
@@ -103,6 +104,8 @@ export interface EdgeWorkerConfig {
|
|
|
103
104
|
};
|
|
104
105
|
repositories: RepositoryConfig[];
|
|
105
106
|
cyrusHome: string;
|
|
107
|
+
agentHandle?: string;
|
|
108
|
+
agentUserId?: string;
|
|
106
109
|
handlers?: {
|
|
107
110
|
createWorkspace?: (issue: LinearIssue, repository: RepositoryConfig) => Promise<Workspace>;
|
|
108
111
|
onClaudeMessage?: (issueId: string, message: SDKMessage, repositoryId: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-types.d.ts","sourceRoot":"","sources":["../src/config-types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"config-types.d.ts","sourceRoot":"","sources":["../src/config-types.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,KAAK,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAExD;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKhD;AAED;;GAEG;AACH,MAAM,MAAM,oBAAoB,GAAG,CAClC,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,KACjB,OAAO,CAAC,IAAI,CAAC,CAAC;AAEnB;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAEhC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IAGb,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAGvB,gBAAgB,EAAE,MAAM,CAAC;IAGzB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,CAAC;IAGvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAG/B,YAAY,CAAC,EAAE;QACd,QAAQ,CAAC,EAAE;YACV,MAAM,EAAE,MAAM,EAAE,CAAC;YACjB,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,aAAa,CAAC;YACtE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;SAC3B,CAAC;QACF,OAAO,CAAC,EAAE;YACT,MAAM,EAAE,MAAM,EAAE,CAAC;YACjB,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,aAAa,CAAC;YACtE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;SAC3B,CAAC;QACF,MAAM,CAAC,EAAE;YACR,MAAM,EAAE,MAAM,EAAE,CAAC;YACjB,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,aAAa,CAAC;YACtE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;SAC3B,CAAC;QACF,YAAY,CAAC,EAAE;YACd,MAAM,EAAE,MAAM,EAAE,CAAC;YACjB,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,aAAa,CAAC;YACtE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;SAC3B,CAAC;KACF,CAAC;CACF;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAEhC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IAGxB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAGpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAG7B,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,sBAAsB,CAAC,EAAE,MAAM,EAAE,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAG9B,cAAc,CAAC,EAAE;QAChB,QAAQ,CAAC,EAAE;YACV,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,aAAa,CAAC;YACtE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;SAC3B,CAAC;QACF,OAAO,CAAC,EAAE;YACT,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,aAAa,CAAC;YACtE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;SAC3B,CAAC;QACF,MAAM,CAAC,EAAE;YACR,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,aAAa,CAAC;YACtE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;SAC3B,CAAC;QACF,YAAY,CAAC,EAAE;YACd,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,aAAa,CAAC;YACtE,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;SAC3B,CAAC;KACF,CAAC;IAGF,YAAY,EAAE,gBAAgB,EAAE,CAAC;IAGjC,SAAS,EAAE,MAAM,CAAC;IAGlB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IAGrB,QAAQ,CAAC,EAAE;QAGV,eAAe,CAAC,EAAE,CACjB,KAAK,EAAE,WAAW,EAClB,UAAU,EAAE,gBAAgB,KACxB,OAAO,CAAC,SAAS,CAAC,CAAC;QAIxB,eAAe,CAAC,EAAE,CACjB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,UAAU,EACnB,YAAY,EAAE,MAAM,KAChB,IAAI,CAAC;QAIV,cAAc,CAAC,EAAE,CAChB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,WAAW,EAClB,YAAY,EAAE,MAAM,KAChB,IAAI,CAAC;QACV,YAAY,CAAC,EAAE,CACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GAAG,IAAI,EACvB,YAAY,EAAE,MAAM,KAChB,IAAI,CAAC;QAGV,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;QAGhD,eAAe,CAAC,EAAE,oBAAoB,CAAC;KACvC,CAAC;IAGF,QAAQ,CAAC,EAAE;QACV,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,wBAAwB,CAAC,EAAE,OAAO,CAAC;QACnC,wBAAwB,CAAC,EAAE,OAAO,CAAC;QACnC,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IAC1B,YAAY,EAAE,gBAAgB,EAAE,CAAC;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC7B"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
export type { AgentMessage, AgentRunnerConfig, AgentSessionInfo, AgentUserMessage, HookCallbackMatcher, HookEvent, IAgentRunner, IMessageFormatter, McpServerConfig, SDKAssistantMessage, SDKMessage, SDKResultMessage, SDKUserMessage, } from "./agent-runner-types.js";
|
|
1
2
|
export type { CyrusAgentSession, CyrusAgentSessionEntry, IssueMinimal, Workspace, } from "./CyrusAgentSession.js";
|
|
2
3
|
export type { EdgeConfig, EdgeWorkerConfig, OAuthCallbackHandler, RepositoryConfig, } from "./config-types.js";
|
|
3
4
|
export { resolvePath } from "./config-types.js";
|
|
4
5
|
export { DEFAULT_PROXY_URL } from "./constants.js";
|
|
6
|
+
export type { AgentActivity, AgentActivityContent, AgentActivityCreateInput, AgentActivityPayload, AgentActivitySDK, AgentEvent, AgentEventTransportConfig, AgentEventTransportEvents, AgentSession, AgentSessionCreatedWebhook, AgentSessionCreateOnCommentInput, AgentSessionCreateOnIssueInput, AgentSessionCreateResponse, AgentSessionPromptedWebhook, AgentSessionSDK, Comment, CommentCreateInput, CommentWithAttachments, Connection, FetchChildrenOptions, FileUploadRequest, FileUploadResponse, GuidanceRule, IAgentEventTransport, IIssueTrackerService, Issue, IssueUnassignedWebhook, IssueUpdateInput, IssueWithChildren, Label, PaginationOptions, Team, User, Webhook, WebhookAgentSession, WebhookComment, WebhookIssue, WorkflowState, } from "./issue-tracker/index.js";
|
|
7
|
+
export { AgentActivityContentType, AgentActivitySignal, AgentSessionStatus, AgentSessionType, isAgentSessionCreatedEvent, isAgentSessionCreatedWebhook, isAgentSessionPromptedEvent, isAgentSessionPromptedWebhook, isCommentMentionEvent, isIssueAssignedEvent, isIssueAssignedWebhook, isIssueCommentMentionWebhook, isIssueNewCommentWebhook, isIssueUnassignedEvent, isIssueUnassignedWebhook, isNewCommentEvent, } from "./issue-tracker/index.js";
|
|
5
8
|
export type { SerializableEdgeWorkerState, SerializedCyrusAgentSession, SerializedCyrusAgentSessionEntry, } from "./PersistenceManager.js";
|
|
6
9
|
export { PersistenceManager } from "./PersistenceManager.js";
|
|
7
|
-
export
|
|
8
|
-
export {
|
|
10
|
+
export { StreamingPrompt } from "./StreamingPrompt.js";
|
|
11
|
+
export type { IAgentProgressEvent, ISimpleAgentQueryOptions, ISimpleAgentResult, ISimpleAgentRunner, ISimpleAgentRunnerConfig, } from "./simple-agent-runner-types.js";
|
|
9
12
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,YAAY,EACX,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACnB,SAAS,EACT,YAAY,EACZ,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,UAAU,EACV,gBAAgB,EAChB,cAAc,GACd,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACX,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACZ,SAAS,GACT,MAAM,wBAAwB,CAAC;AAGhC,YAAY,EACX,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,GAChB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAEnD,YAAY,EACX,aAAa,EACb,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,yBAAyB,EACzB,yBAAyB,EACzB,YAAY,EACZ,0BAA0B,EAC1B,gCAAgC,EAChC,8BAA8B,EAC9B,0BAA0B,EAC1B,2BAA2B,EAC3B,eAAe,EACf,OAAO,EACP,kBAAkB,EAClB,sBAAsB,EACtB,UAAU,EACV,oBAAoB,EACpB,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,EACpB,oBAAoB,EACpB,KAAK,EACL,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,KAAK,EACL,iBAAiB,EACjB,IAAI,EACJ,IAAI,EACJ,OAAO,EACP,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,aAAa,GACb,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACN,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,0BAA0B,EAC1B,4BAA4B,EAC5B,2BAA2B,EAC3B,6BAA6B,EAC7B,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,4BAA4B,EAC5B,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,GACjB,MAAM,0BAA0B,CAAC;AAIlC,YAAY,EACX,2BAA2B,EAC3B,2BAA2B,EAC3B,gCAAgC,GAChC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,YAAY,EACX,mBAAmB,EACnB,wBAAwB,EACxB,kBAAkB,EAClB,kBAAkB,EAClB,wBAAwB,GACxB,MAAM,gCAAgC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
export { resolvePath } from "./config-types.js";
|
|
5
5
|
// Constants
|
|
6
6
|
export { DEFAULT_PROXY_URL } from "./constants.js";
|
|
7
|
+
export { AgentActivityContentType, AgentActivitySignal, AgentSessionStatus, AgentSessionType, isAgentSessionCreatedEvent, isAgentSessionCreatedWebhook, isAgentSessionPromptedEvent, isAgentSessionPromptedWebhook, isCommentMentionEvent, isIssueAssignedEvent, isIssueAssignedWebhook, isIssueCommentMentionWebhook, isIssueNewCommentWebhook, isIssueUnassignedEvent, isIssueUnassignedWebhook, isNewCommentEvent, } from "./issue-tracker/index.js";
|
|
7
8
|
export { PersistenceManager } from "./PersistenceManager.js";
|
|
8
|
-
export {
|
|
9
|
+
export { StreamingPrompt } from "./StreamingPrompt.js";
|
|
10
|
+
// Platform-agnostic webhook type aliases - exported from issue-tracker
|
|
11
|
+
// These are now defined in issue-tracker/types.ts as aliases to Linear SDK webhook types
|
|
12
|
+
// EdgeWorker and other high-level code should use these generic names via issue-tracker exports
|
|
9
13
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,sEAAsE;AACtE,qFAAqF;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,yCAAyC;AACzC,sEAAsE;AACtE,qFAAqF;AAgCrF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,YAAY;AACZ,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AA0CnD,OAAO,EACN,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,0BAA0B,EAC1B,4BAA4B,EAC5B,2BAA2B,EAC3B,6BAA6B,EAC7B,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,4BAA4B,EAC5B,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,iBAAiB,GACjB,MAAM,0BAA0B,CAAC;AASlC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AASvD,uEAAuE;AACvE,yFAAyF;AACzF,gGAAgG"}
|