cyrus-core 0.0.7 → 0.0.9
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 +3 -3
- package/dist/CyrusAgentSession.d.ts.map +1 -1
- package/dist/PersistenceManager.d.ts +1 -1
- package/dist/PersistenceManager.d.ts.map +1 -1
- package/dist/PersistenceManager.js +13 -12
- package/dist/PersistenceManager.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/webhook-types.d.ts +20 -19
- package/dist/webhook-types.d.ts.map +1 -1
- package/dist/webhook-types.js +6 -6
- package/dist/webhook-types.js.map +1 -1
- package/package.json +3 -3
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* Agent Session types for Linear Agent Sessions integration
|
|
3
3
|
* These types represent the core data structures for tracking Claude Code sessions in Linear
|
|
4
4
|
*/
|
|
5
|
-
import { LinearDocument } from "@linear/sdk";
|
|
6
|
-
import { ClaudeRunner } from "cyrus-claude-runner";
|
|
5
|
+
import type { LinearDocument } from "@linear/sdk";
|
|
6
|
+
import type { ClaudeRunner } from "cyrus-claude-runner";
|
|
7
7
|
export interface IssueMinimal {
|
|
8
8
|
id: string;
|
|
9
9
|
identifier: string;
|
|
@@ -41,7 +41,7 @@ export interface CyrusAgentSession {
|
|
|
41
41
|
export interface CyrusAgentSessionEntry {
|
|
42
42
|
claudeSessionId: string;
|
|
43
43
|
linearAgentActivityId?: string;
|
|
44
|
-
type:
|
|
44
|
+
type: "user" | "assistant" | "system" | "result";
|
|
45
45
|
content: string;
|
|
46
46
|
metadata?: {
|
|
47
47
|
toolUseId?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CyrusAgentSession.d.ts","sourceRoot":"","sources":["../src/CyrusAgentSession.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"CyrusAgentSession.d.ts","sourceRoot":"","sources":["../src/CyrusAgentSession.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,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,cAAc,CAAC,gBAAgB,CAAC,aAAa,CAAC;IACpD,MAAM,EAAE,cAAc,CAAC,kBAAkB,CAAC;IAC1C,OAAO,EAAE,cAAc,CAAC,gBAAgB,CAAC,aAAa,CAAC;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,YAAY,CAAC;IACpB,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,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;KACnB,CAAC;CACF;AAED,MAAM,WAAW,sBAAsB;IACtC,eAAe,EAAE,MAAM,CAAC;IACxB,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,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;CACF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { CyrusAgentSession, CyrusAgentSessionEntry } from
|
|
1
|
+
import type { CyrusAgentSession, CyrusAgentSessionEntry } from "./CyrusAgentSession.js";
|
|
2
2
|
export type SerializedCyrusAgentSession = CyrusAgentSession;
|
|
3
3
|
export type SerializedCyrusAgentSessionEntry = CyrusAgentSessionEntry;
|
|
4
4
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PersistenceManager.d.ts","sourceRoot":"","sources":["../src/PersistenceManager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"PersistenceManager.d.ts","sourceRoot":"","sources":["../src/PersistenceManager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACX,iBAAiB,EACjB,sBAAsB,EACtB,MAAM,wBAAwB,CAAC;AAGhC,MAAM,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;AAM5D,MAAM,MAAM,gCAAgC,GAAG,sBAAsB,CAAC;AAOtE;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAE3C,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,2BAA2B,CAAC,CAAC,CAAC;IAC5E,mBAAmB,CAAC,EAAE,MAAM,CAC3B,MAAM,EACN,MAAM,CAAC,MAAM,EAAE,gCAAgC,EAAE,CAAC,CAClD,CAAC;CACF;AAED;;GAEG;AACH,qBAAa,kBAAkB;IAC9B,OAAO,CAAC,eAAe,CAAS;gBAEpB,eAAe,CAAC,EAAE,MAAM;IAKpC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAIlC;;OAEG;YACW,0BAA0B;IAIxC;;OAEG;IACG,mBAAmB,CAAC,KAAK,EAAE,2BAA2B,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB5E;;OAEG;IACG,mBAAmB,IAAI,OAAO,CAAC,2BAA2B,GAAG,IAAI,CAAC;IAsBxE;;OAEG;IACH,YAAY,IAAI,OAAO;IAIvB;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAWtC;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAI7D;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAIhE;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;IAItC;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC;CAGxC"}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import { homedir } from
|
|
4
|
-
import {
|
|
1
|
+
import { existsSync } from "node:fs";
|
|
2
|
+
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
3
|
+
import { homedir } from "node:os";
|
|
4
|
+
import { join } from "node:path";
|
|
5
5
|
/**
|
|
6
6
|
* Manages persistence of critical mappings to survive restarts
|
|
7
7
|
*/
|
|
8
8
|
export class PersistenceManager {
|
|
9
9
|
persistencePath;
|
|
10
10
|
constructor(persistencePath) {
|
|
11
|
-
this.persistencePath =
|
|
11
|
+
this.persistencePath =
|
|
12
|
+
persistencePath || join(homedir(), ".cyrus", "state");
|
|
12
13
|
}
|
|
13
14
|
/**
|
|
14
15
|
* Get the full path to the single EdgeWorker state file
|
|
15
16
|
*/
|
|
16
17
|
getEdgeWorkerStateFilePath() {
|
|
17
|
-
return join(this.persistencePath,
|
|
18
|
+
return join(this.persistencePath, "edge-worker-state.json");
|
|
18
19
|
}
|
|
19
20
|
/**
|
|
20
21
|
* Ensure the persistence directory exists
|
|
@@ -30,11 +31,11 @@ export class PersistenceManager {
|
|
|
30
31
|
await this.ensurePersistenceDirectory();
|
|
31
32
|
const stateFile = this.getEdgeWorkerStateFilePath();
|
|
32
33
|
const stateData = {
|
|
33
|
-
version:
|
|
34
|
+
version: "2.0",
|
|
34
35
|
savedAt: new Date().toISOString(),
|
|
35
|
-
state
|
|
36
|
+
state,
|
|
36
37
|
};
|
|
37
|
-
await writeFile(stateFile, JSON.stringify(stateData, null, 2),
|
|
38
|
+
await writeFile(stateFile, JSON.stringify(stateData, null, 2), "utf8");
|
|
38
39
|
}
|
|
39
40
|
catch (error) {
|
|
40
41
|
console.error(`Failed to save EdgeWorker state:`, error);
|
|
@@ -50,9 +51,9 @@ export class PersistenceManager {
|
|
|
50
51
|
if (!existsSync(stateFile)) {
|
|
51
52
|
return null;
|
|
52
53
|
}
|
|
53
|
-
const stateData = JSON.parse(await readFile(stateFile,
|
|
54
|
+
const stateData = JSON.parse(await readFile(stateFile, "utf8"));
|
|
54
55
|
// Validate state structure
|
|
55
|
-
if (!stateData.state || stateData.version !==
|
|
56
|
+
if (!stateData.state || stateData.version !== "2.0") {
|
|
56
57
|
console.warn(`Invalid or outdated state file, ignoring`);
|
|
57
58
|
return null;
|
|
58
59
|
}
|
|
@@ -76,7 +77,7 @@ export class PersistenceManager {
|
|
|
76
77
|
try {
|
|
77
78
|
const stateFile = this.getEdgeWorkerStateFilePath();
|
|
78
79
|
if (existsSync(stateFile)) {
|
|
79
|
-
await writeFile(stateFile,
|
|
80
|
+
await writeFile(stateFile, "", "utf8"); // Clear file instead of deleting
|
|
80
81
|
}
|
|
81
82
|
}
|
|
82
83
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PersistenceManager.js","sourceRoot":"","sources":["../src/PersistenceManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"PersistenceManager.js","sourceRoot":"","sources":["../src/PersistenceManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAgCjC;;GAEG;AACH,MAAM,OAAO,kBAAkB;IACtB,eAAe,CAAS;IAEhC,YAAY,eAAwB;QACnC,IAAI,CAAC,eAAe;YACnB,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACK,0BAA0B;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,wBAAwB,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,0BAA0B;QACvC,MAAM,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,KAAkC;QAC3D,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACpD,MAAM,SAAS,GAAG;gBACjB,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACjC,KAAK;aACL,CAAC;YACF,MAAM,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACzD,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB;QACxB,IAAI,CAAC;YACJ,MAAM,SAAS,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACpD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC;YACb,CAAC;YAED,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC;YAEhE,2BAA2B;YAC3B,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBACrD,OAAO,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;gBACzD,OAAO,IAAI,CAAC;YACb,CAAC;YAED,OAAO,SAAS,CAAC,KAAK,CAAC;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACzD,OAAO,IAAI,CAAC;QACb,CAAC;IACF,CAAC;IAED;;OAEG;IACH,YAAY;QACX,OAAO,UAAU,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe;QACpB,IAAI,CAAC;YACJ,MAAM,SAAS,GAAG,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACpD,IAAI,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3B,MAAM,SAAS,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,iCAAiC;YAC1E,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;QACjE,CAAC;IACF,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAAI,GAAmB;QACxC,OAAO,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAAI,MAAyB;QAC9C,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAI,GAAW;QAC/B,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAI,KAAU;QAC9B,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;CACD"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export {
|
|
2
|
-
export type { SerializedCyrusAgentSession, SerializedCyrusAgentSessionEntry,
|
|
3
|
-
export
|
|
4
|
-
export type {
|
|
5
|
-
export { isIssueAssignedWebhook, isIssueCommentMentionWebhook, isIssueNewCommentWebhook, isIssueUnassignedWebhook,
|
|
1
|
+
export type { CyrusAgentSession, CyrusAgentSessionEntry, IssueMinimal, Workspace, } from "./CyrusAgentSession.js";
|
|
2
|
+
export type { SerializableEdgeWorkerState, SerializedCyrusAgentSession, SerializedCyrusAgentSessionEntry, } from "./PersistenceManager.js";
|
|
3
|
+
export { PersistenceManager } from "./PersistenceManager.js";
|
|
4
|
+
export type { LinearAgentSessionCreatedWebhook, LinearAgentSessionPromptedWebhook, LinearIssueAssignedNotification, LinearIssueAssignedWebhook, LinearIssueCommentMentionNotification, LinearIssueCommentMentionWebhook, LinearIssueNewCommentNotification, LinearIssueNewCommentWebhook, LinearIssueUnassignedNotification, LinearIssueUnassignedWebhook, LinearWebhook, LinearWebhookActor, LinearWebhookAgentActivity, LinearWebhookAgentActivityContent, LinearWebhookAgentSession, LinearWebhookComment, LinearWebhookCreator, LinearWebhookIssue, LinearWebhookNotification, LinearWebhookTeam, } from "./webhook-types.js";
|
|
5
|
+
export { isAgentSessionCreatedWebhook, isAgentSessionPromptedWebhook, isIssueAssignedWebhook, isIssueCommentMentionWebhook, isIssueNewCommentWebhook, isIssueUnassignedWebhook, } from "./webhook-types.js";
|
|
6
6
|
//# 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":"AAIA,YAAY,EACX,iBAAiB,EACjB,sBAAsB,EACtB,YAAY,EACZ,SAAS,GACT,MAAM,wBAAwB,CAAC;AAChC,YAAY,EACX,2BAA2B,EAC3B,2BAA2B,EAC3B,gCAAgC,GAChC,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAG7D,YAAY,EACX,gCAAgC,EAChC,iCAAiC,EACjC,+BAA+B,EAC/B,0BAA0B,EAC1B,qCAAqC,EACrC,gCAAgC,EAChC,iCAAiC,EACjC,4BAA4B,EAC5B,iCAAiC,EACjC,4BAA4B,EAC5B,aAAa,EACb,kBAAkB,EAClB,0BAA0B,EAC1B,iCAAiC,EACjC,yBAAyB,EACzB,oBAAoB,EACpB,oBAAoB,EACpB,kBAAkB,EAClB,yBAAyB,EACzB,iBAAiB,GACjB,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACN,4BAA4B,EAC5B,6BAA6B,EAC7B,sBAAsB,EACtB,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,GACxB,MAAM,oBAAoB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// export { Session } from './Session.js'
|
|
2
2
|
// export type { SessionOptions, , NarrativeItem } from './Session.js'
|
|
3
3
|
// export { ClaudeSessionManager as SessionManager } from './ClaudeSessionManager.js'
|
|
4
|
-
export { PersistenceManager } from
|
|
5
|
-
export { isIssueAssignedWebhook, isIssueCommentMentionWebhook, isIssueNewCommentWebhook, isIssueUnassignedWebhook,
|
|
4
|
+
export { PersistenceManager } from "./PersistenceManager.js";
|
|
5
|
+
export { isAgentSessionCreatedWebhook, isAgentSessionPromptedWebhook, isIssueAssignedWebhook, isIssueCommentMentionWebhook, isIssueNewCommentWebhook, isIssueUnassignedWebhook, } from "./webhook-types.js";
|
|
6
6
|
//# 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;AAarF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AA0B7D,OAAO,EACN,4BAA4B,EAC5B,6BAA6B,EAC7B,sBAAsB,EACtB,4BAA4B,EAC5B,wBAAwB,EACxB,wBAAwB,GACxB,MAAM,oBAAoB,CAAC"}
|
package/dist/webhook-types.d.ts
CHANGED
|
@@ -58,13 +58,13 @@ export interface LinearWebhookNotificationBase {
|
|
|
58
58
|
* Issue assignment notification
|
|
59
59
|
*/
|
|
60
60
|
export interface LinearIssueAssignedNotification extends LinearWebhookNotificationBase {
|
|
61
|
-
type:
|
|
61
|
+
type: "issueAssignedToYou";
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
64
64
|
* Issue comment mention notification
|
|
65
65
|
*/
|
|
66
66
|
export interface LinearIssueCommentMentionNotification extends LinearWebhookNotificationBase {
|
|
67
|
-
type:
|
|
67
|
+
type: "issueCommentMention";
|
|
68
68
|
commentId: string;
|
|
69
69
|
comment: LinearWebhookComment;
|
|
70
70
|
}
|
|
@@ -72,7 +72,7 @@ export interface LinearIssueCommentMentionNotification extends LinearWebhookNoti
|
|
|
72
72
|
* Issue new comment notification (can have parent comment for replies)
|
|
73
73
|
*/
|
|
74
74
|
export interface LinearIssueNewCommentNotification extends LinearWebhookNotificationBase {
|
|
75
|
-
type:
|
|
75
|
+
type: "issueNewComment";
|
|
76
76
|
commentId: string;
|
|
77
77
|
comment: LinearWebhookComment;
|
|
78
78
|
parentCommentId?: string;
|
|
@@ -82,7 +82,7 @@ export interface LinearIssueNewCommentNotification extends LinearWebhookNotifica
|
|
|
82
82
|
* Issue unassignment notification
|
|
83
83
|
*/
|
|
84
84
|
export interface LinearIssueUnassignedNotification extends LinearWebhookNotificationBase {
|
|
85
|
-
type:
|
|
85
|
+
type: "issueUnassignedFromYou";
|
|
86
86
|
actorId: string;
|
|
87
87
|
externalUserActorId: string | null;
|
|
88
88
|
userId: string;
|
|
@@ -98,8 +98,8 @@ export type LinearWebhookNotification = LinearIssueAssignedNotification | Linear
|
|
|
98
98
|
* Issue assignment webhook payload
|
|
99
99
|
*/
|
|
100
100
|
export interface LinearIssueAssignedWebhook {
|
|
101
|
-
type:
|
|
102
|
-
action:
|
|
101
|
+
type: "AppUserNotification";
|
|
102
|
+
action: "issueAssignedToYou";
|
|
103
103
|
createdAt: string;
|
|
104
104
|
organizationId: string;
|
|
105
105
|
oauthClientId: string;
|
|
@@ -112,8 +112,8 @@ export interface LinearIssueAssignedWebhook {
|
|
|
112
112
|
* Issue comment mention webhook payload
|
|
113
113
|
*/
|
|
114
114
|
export interface LinearIssueCommentMentionWebhook {
|
|
115
|
-
type:
|
|
116
|
-
action:
|
|
115
|
+
type: "AppUserNotification";
|
|
116
|
+
action: "issueCommentMention";
|
|
117
117
|
createdAt: string;
|
|
118
118
|
organizationId: string;
|
|
119
119
|
oauthClientId: string;
|
|
@@ -126,8 +126,8 @@ export interface LinearIssueCommentMentionWebhook {
|
|
|
126
126
|
* Issue new comment webhook payload
|
|
127
127
|
*/
|
|
128
128
|
export interface LinearIssueNewCommentWebhook {
|
|
129
|
-
type:
|
|
130
|
-
action:
|
|
129
|
+
type: "AppUserNotification";
|
|
130
|
+
action: "issueNewComment";
|
|
131
131
|
createdAt: string;
|
|
132
132
|
organizationId: string;
|
|
133
133
|
oauthClientId: string;
|
|
@@ -140,8 +140,8 @@ export interface LinearIssueNewCommentWebhook {
|
|
|
140
140
|
* Issue unassignment webhook payload
|
|
141
141
|
*/
|
|
142
142
|
export interface LinearIssueUnassignedWebhook {
|
|
143
|
-
type:
|
|
144
|
-
action:
|
|
143
|
+
type: "AppUserNotification";
|
|
144
|
+
action: "issueUnassignedFromYou";
|
|
145
145
|
createdAt: string;
|
|
146
146
|
organizationId: string;
|
|
147
147
|
oauthClientId: string;
|
|
@@ -172,10 +172,10 @@ export interface LinearWebhookAgentSession {
|
|
|
172
172
|
appUserId: string;
|
|
173
173
|
commentId: string;
|
|
174
174
|
issueId: string;
|
|
175
|
-
status:
|
|
175
|
+
status: "pending" | "active" | "error" | "awaiting-input" | "complete";
|
|
176
176
|
startedAt: string | null;
|
|
177
177
|
endedAt: string | null;
|
|
178
|
-
type:
|
|
178
|
+
type: "commentThread";
|
|
179
179
|
summary: string | null;
|
|
180
180
|
sourceMetadata: any | null;
|
|
181
181
|
organizationId: string;
|
|
@@ -187,7 +187,7 @@ export interface LinearWebhookAgentSession {
|
|
|
187
187
|
* Agent Activity content types
|
|
188
188
|
*/
|
|
189
189
|
export interface LinearWebhookAgentActivityContent {
|
|
190
|
-
type:
|
|
190
|
+
type: "prompt" | "observation" | "action" | "error" | "elicitation" | "response";
|
|
191
191
|
body: string;
|
|
192
192
|
}
|
|
193
193
|
/**
|
|
@@ -202,13 +202,14 @@ export interface LinearWebhookAgentActivity {
|
|
|
202
202
|
agentSessionId: string;
|
|
203
203
|
sourceCommentId: string;
|
|
204
204
|
content: LinearWebhookAgentActivityContent;
|
|
205
|
+
signal?: "stop";
|
|
205
206
|
}
|
|
206
207
|
/**
|
|
207
208
|
* Agent Session created webhook payload
|
|
208
209
|
*/
|
|
209
210
|
export interface LinearAgentSessionCreatedWebhook {
|
|
210
|
-
type:
|
|
211
|
-
action:
|
|
211
|
+
type: "AgentSessionEvent";
|
|
212
|
+
action: "created";
|
|
212
213
|
createdAt: string;
|
|
213
214
|
organizationId: string;
|
|
214
215
|
oauthClientId: string;
|
|
@@ -221,8 +222,8 @@ export interface LinearAgentSessionCreatedWebhook {
|
|
|
221
222
|
* Agent Session prompted webhook payload
|
|
222
223
|
*/
|
|
223
224
|
export interface LinearAgentSessionPromptedWebhook {
|
|
224
|
-
type:
|
|
225
|
-
action:
|
|
225
|
+
type: "AgentSessionEvent";
|
|
226
|
+
action: "prompted";
|
|
226
227
|
createdAt: string;
|
|
227
228
|
organizationId: string;
|
|
228
229
|
oauthClientId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook-types.d.ts","sourceRoot":"","sources":["../src/webhook-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,MAAM,WAAW,iBAAiB;
|
|
1
|
+
{"version":3,"file":"webhook-types.d.ts","sourceRoot":"","sources":["../src/webhook-types.ts"],"names":[],"mappings":"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"}
|
package/dist/webhook-types.js
CHANGED
|
@@ -6,21 +6,21 @@
|
|
|
6
6
|
* Type guards for webhook discrimination
|
|
7
7
|
*/
|
|
8
8
|
export function isIssueAssignedWebhook(webhook) {
|
|
9
|
-
return webhook.action ===
|
|
9
|
+
return webhook.action === "issueAssignedToYou";
|
|
10
10
|
}
|
|
11
11
|
export function isIssueCommentMentionWebhook(webhook) {
|
|
12
|
-
return webhook.action ===
|
|
12
|
+
return webhook.action === "issueCommentMention";
|
|
13
13
|
}
|
|
14
14
|
export function isIssueNewCommentWebhook(webhook) {
|
|
15
|
-
return webhook.action ===
|
|
15
|
+
return webhook.action === "issueNewComment";
|
|
16
16
|
}
|
|
17
17
|
export function isIssueUnassignedWebhook(webhook) {
|
|
18
|
-
return webhook.action ===
|
|
18
|
+
return webhook.action === "issueUnassignedFromYou";
|
|
19
19
|
}
|
|
20
20
|
export function isAgentSessionCreatedWebhook(webhook) {
|
|
21
|
-
return webhook.type ===
|
|
21
|
+
return webhook.type === "AgentSessionEvent" && webhook.action === "created";
|
|
22
22
|
}
|
|
23
23
|
export function isAgentSessionPromptedWebhook(webhook) {
|
|
24
|
-
return webhook.type ===
|
|
24
|
+
return webhook.type === "AgentSessionEvent" && webhook.action === "prompted";
|
|
25
25
|
}
|
|
26
26
|
//# sourceMappingURL=webhook-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook-types.js","sourceRoot":"","sources":["../src/webhook-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"webhook-types.js","sourceRoot":"","sources":["../src/webhook-types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAsRH;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACrC,OAAsB;IAEtB,OAAO,OAAO,CAAC,MAAM,KAAK,oBAAoB,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC3C,OAAsB;IAEtB,OAAO,OAAO,CAAC,MAAM,KAAK,qBAAqB,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,wBAAwB,CACvC,OAAsB;IAEtB,OAAO,OAAO,CAAC,MAAM,KAAK,iBAAiB,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,wBAAwB,CACvC,OAAsB;IAEtB,OAAO,OAAO,CAAC,MAAM,KAAK,wBAAwB,CAAC;AACpD,CAAC;AAED,MAAM,UAAU,4BAA4B,CAC3C,OAAsB;IAEtB,OAAO,OAAO,CAAC,IAAI,KAAK,mBAAmB,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC;AAC7E,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC5C,OAAsB;IAEtB,OAAO,OAAO,CAAC,IAAI,KAAK,mBAAmB,IAAI,OAAO,CAAC,MAAM,KAAK,UAAU,CAAC;AAC9E,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cyrus-core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.9",
|
|
4
4
|
"description": "Core business logic for Cyrus",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
"dist"
|
|
10
10
|
],
|
|
11
11
|
"dependencies": {
|
|
12
|
-
"@linear/sdk": "^
|
|
13
|
-
"cyrus-claude-runner": "0.0.
|
|
12
|
+
"@linear/sdk": "^55.1.0",
|
|
13
|
+
"cyrus-claude-runner": "0.0.18"
|
|
14
14
|
},
|
|
15
15
|
"devDependencies": {
|
|
16
16
|
"@types/node": "^20.0.0",
|