cyrus-edge-worker 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.
- package/dist/AgentSessionManager.d.ts +35 -37
- package/dist/AgentSessionManager.d.ts.map +1 -1
- package/dist/AgentSessionManager.js +102 -402
- package/dist/AgentSessionManager.js.map +1 -1
- package/dist/EdgeWorker.d.ts +25 -7
- package/dist/EdgeWorker.d.ts.map +1 -1
- package/dist/EdgeWorker.js +280 -149
- package/dist/EdgeWorker.js.map +1 -1
- package/dist/procedures/ProcedureRouter.d.ts +5 -3
- package/dist/procedures/ProcedureRouter.d.ts.map +1 -1
- package/dist/procedures/ProcedureRouter.js +25 -11
- package/dist/procedures/ProcedureRouter.js.map +1 -1
- package/dist/procedures/registry.d.ts +5 -5
- package/dist/procedures/registry.js +5 -5
- package/dist/procedures/registry.js.map +1 -1
- package/dist/procedures/types.d.ts +3 -2
- package/dist/procedures/types.d.ts.map +1 -1
- package/package.json +8 -7
|
@@ -1,17 +1,23 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* ProcedureRouter - Intelligent routing of agent sessions through procedures
|
|
3
3
|
*
|
|
4
|
-
* Uses
|
|
5
|
-
* (sequence of subroutines) should be executed.
|
|
4
|
+
* Uses a SimpleAgentRunner (Claude or Gemini) to analyze requests and determine
|
|
5
|
+
* which procedure (sequence of subroutines) should be executed.
|
|
6
6
|
*/
|
|
7
|
+
import { SimpleGeminiRunner } from "cyrus-gemini-runner";
|
|
7
8
|
import { SimpleClaudeRunner } from "cyrus-simple-agent-runner";
|
|
8
9
|
import { getProcedureForClassification, PROCEDURES } from "./registry.js";
|
|
9
10
|
export class ProcedureRouter {
|
|
10
11
|
routingRunner;
|
|
11
12
|
procedures = new Map();
|
|
12
13
|
constructor(config) {
|
|
13
|
-
//
|
|
14
|
-
|
|
14
|
+
// Determine which runner to use
|
|
15
|
+
const runnerType = config.runnerType || "gemini";
|
|
16
|
+
// Use runner-specific default models if not provided
|
|
17
|
+
const defaultModel = runnerType === "claude" ? "haiku" : "gemini-2.5-flash-lite";
|
|
18
|
+
const defaultFallbackModel = runnerType === "claude" ? "sonnet" : "gemini-2.0-flash-exp";
|
|
19
|
+
// Create runner configuration
|
|
20
|
+
const runnerConfig = {
|
|
15
21
|
validResponses: [
|
|
16
22
|
"question",
|
|
17
23
|
"documentation",
|
|
@@ -22,12 +28,17 @@ export class ProcedureRouter {
|
|
|
22
28
|
"orchestrator",
|
|
23
29
|
],
|
|
24
30
|
cyrusHome: config.cyrusHome,
|
|
25
|
-
model: config.model ||
|
|
26
|
-
fallbackModel:
|
|
31
|
+
model: config.model || defaultModel,
|
|
32
|
+
fallbackModel: defaultFallbackModel,
|
|
27
33
|
systemPrompt: this.buildRoutingSystemPrompt(),
|
|
28
34
|
maxTurns: 1,
|
|
29
35
|
timeoutMs: config.timeoutMs || 10000,
|
|
30
|
-
}
|
|
36
|
+
};
|
|
37
|
+
// Initialize the appropriate runner based on type
|
|
38
|
+
this.routingRunner =
|
|
39
|
+
runnerType === "claude"
|
|
40
|
+
? new SimpleClaudeRunner(runnerConfig)
|
|
41
|
+
: new SimpleGeminiRunner(runnerConfig);
|
|
31
42
|
// Load all predefined procedures from registry
|
|
32
43
|
this.loadPredefinedProcedures();
|
|
33
44
|
}
|
|
@@ -103,7 +114,7 @@ IMPORTANT: Respond with ONLY the classification word, nothing else.`;
|
|
|
103
114
|
}
|
|
104
115
|
catch (error) {
|
|
105
116
|
// Fallback to full-development on error
|
|
106
|
-
console.
|
|
117
|
+
console.log("[ProcedureRouter] Error during routing decision:", error);
|
|
107
118
|
const fallbackProcedure = this.procedures.get("full-development");
|
|
108
119
|
if (!fallbackProcedure) {
|
|
109
120
|
throw new Error("Fallback procedure 'full-development' not found");
|
|
@@ -171,18 +182,21 @@ IMPORTANT: Respond with ONLY the classification word, nothing else.`;
|
|
|
171
182
|
/**
|
|
172
183
|
* Record subroutine completion and advance to next
|
|
173
184
|
*/
|
|
174
|
-
advanceToNextSubroutine(session,
|
|
185
|
+
advanceToNextSubroutine(session, sessionId) {
|
|
175
186
|
const procedureMetadata = session.metadata?.procedure;
|
|
176
187
|
if (!procedureMetadata) {
|
|
177
188
|
throw new Error("Cannot advance: session has no procedure metadata");
|
|
178
189
|
}
|
|
179
190
|
const currentSubroutine = this.getCurrentSubroutine(session);
|
|
180
191
|
if (currentSubroutine) {
|
|
181
|
-
//
|
|
192
|
+
// Determine which type of session ID this is
|
|
193
|
+
const isGeminiSession = session.geminiSessionId !== undefined;
|
|
194
|
+
// Record completion with the appropriate session ID
|
|
182
195
|
procedureMetadata.subroutineHistory.push({
|
|
183
196
|
subroutine: currentSubroutine.name,
|
|
184
197
|
completedAt: Date.now(),
|
|
185
|
-
claudeSessionId,
|
|
198
|
+
claudeSessionId: isGeminiSession ? null : sessionId,
|
|
199
|
+
geminiSessionId: isGeminiSession ? sessionId : null,
|
|
186
200
|
});
|
|
187
201
|
}
|
|
188
202
|
// Advance index
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProcedureRouter.js","sourceRoot":"","sources":["../../src/procedures/ProcedureRouter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,6BAA6B,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"ProcedureRouter.js","sourceRoot":"","sources":["../../src/procedures/ProcedureRouter.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,7 +20,7 @@ export declare const SUBROUTINES: {
|
|
|
20
20
|
readonly name: "get-approval";
|
|
21
21
|
readonly promptPath: "subroutines/get-approval.md";
|
|
22
22
|
readonly description: "Request user approval before proceeding";
|
|
23
|
-
readonly
|
|
23
|
+
readonly singleTurn: true;
|
|
24
24
|
readonly requiresApproval: true;
|
|
25
25
|
};
|
|
26
26
|
readonly debuggerFix: {
|
|
@@ -41,7 +41,7 @@ export declare const SUBROUTINES: {
|
|
|
41
41
|
readonly conciseSummary: {
|
|
42
42
|
readonly name: "concise-summary";
|
|
43
43
|
readonly promptPath: "subroutines/concise-summary.md";
|
|
44
|
-
readonly
|
|
44
|
+
readonly singleTurn: true;
|
|
45
45
|
readonly description: "Brief summary for simple requests";
|
|
46
46
|
readonly suppressThoughtPosting: true;
|
|
47
47
|
readonly disallowedTools: readonly ["mcp__linear__create_comment"];
|
|
@@ -49,7 +49,7 @@ export declare const SUBROUTINES: {
|
|
|
49
49
|
readonly verboseSummary: {
|
|
50
50
|
readonly name: "verbose-summary";
|
|
51
51
|
readonly promptPath: "subroutines/verbose-summary.md";
|
|
52
|
-
readonly
|
|
52
|
+
readonly singleTurn: true;
|
|
53
53
|
readonly description: "Detailed summary with implementation details";
|
|
54
54
|
readonly suppressThoughtPosting: true;
|
|
55
55
|
readonly disallowedTools: readonly ["mcp__linear__create_comment"];
|
|
@@ -62,7 +62,7 @@ export declare const SUBROUTINES: {
|
|
|
62
62
|
readonly questionAnswer: {
|
|
63
63
|
readonly name: "question-answer";
|
|
64
64
|
readonly promptPath: "subroutines/question-answer.md";
|
|
65
|
-
readonly
|
|
65
|
+
readonly singleTurn: true;
|
|
66
66
|
readonly description: "Format final answer to user question";
|
|
67
67
|
readonly suppressThoughtPosting: true;
|
|
68
68
|
readonly disallowedTools: readonly ["mcp__linear__create_comment"];
|
|
@@ -80,7 +80,7 @@ export declare const SUBROUTINES: {
|
|
|
80
80
|
readonly planSummary: {
|
|
81
81
|
readonly name: "plan-summary";
|
|
82
82
|
readonly promptPath: "subroutines/plan-summary.md";
|
|
83
|
-
readonly
|
|
83
|
+
readonly singleTurn: true;
|
|
84
84
|
readonly description: "Present clarifying questions or implementation plan";
|
|
85
85
|
readonly suppressThoughtPosting: true;
|
|
86
86
|
readonly disallowedTools: readonly ["mcp__linear__create_comment"];
|
|
@@ -19,7 +19,7 @@ export const SUBROUTINES = {
|
|
|
19
19
|
name: "get-approval",
|
|
20
20
|
promptPath: "subroutines/get-approval.md",
|
|
21
21
|
description: "Request user approval before proceeding",
|
|
22
|
-
|
|
22
|
+
singleTurn: true,
|
|
23
23
|
requiresApproval: true, // Flag to trigger approval workflow
|
|
24
24
|
},
|
|
25
25
|
debuggerFix: {
|
|
@@ -40,7 +40,7 @@ export const SUBROUTINES = {
|
|
|
40
40
|
conciseSummary: {
|
|
41
41
|
name: "concise-summary",
|
|
42
42
|
promptPath: "subroutines/concise-summary.md",
|
|
43
|
-
|
|
43
|
+
singleTurn: true,
|
|
44
44
|
description: "Brief summary for simple requests",
|
|
45
45
|
suppressThoughtPosting: true,
|
|
46
46
|
disallowedTools: ["mcp__linear__create_comment"],
|
|
@@ -48,7 +48,7 @@ export const SUBROUTINES = {
|
|
|
48
48
|
verboseSummary: {
|
|
49
49
|
name: "verbose-summary",
|
|
50
50
|
promptPath: "subroutines/verbose-summary.md",
|
|
51
|
-
|
|
51
|
+
singleTurn: true,
|
|
52
52
|
description: "Detailed summary with implementation details",
|
|
53
53
|
suppressThoughtPosting: true,
|
|
54
54
|
disallowedTools: ["mcp__linear__create_comment"],
|
|
@@ -61,7 +61,7 @@ export const SUBROUTINES = {
|
|
|
61
61
|
questionAnswer: {
|
|
62
62
|
name: "question-answer",
|
|
63
63
|
promptPath: "subroutines/question-answer.md",
|
|
64
|
-
|
|
64
|
+
singleTurn: true,
|
|
65
65
|
description: "Format final answer to user question",
|
|
66
66
|
suppressThoughtPosting: true,
|
|
67
67
|
disallowedTools: ["mcp__linear__create_comment"],
|
|
@@ -79,7 +79,7 @@ export const SUBROUTINES = {
|
|
|
79
79
|
planSummary: {
|
|
80
80
|
name: "plan-summary",
|
|
81
81
|
promptPath: "subroutines/plan-summary.md",
|
|
82
|
-
|
|
82
|
+
singleTurn: true,
|
|
83
83
|
description: "Present clarifying questions or implementation plan",
|
|
84
84
|
suppressThoughtPosting: true,
|
|
85
85
|
disallowedTools: ["mcp__linear__create_comment"],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/procedures/registry.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG;IAC1B,OAAO,EAAE;QACR,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,SAAS,EAAE,0FAA0F;QACjH,WAAW,EAAE,2BAA2B;KACxC;IACD,oBAAoB,EAAE;QACrB,IAAI,EAAE,uBAAuB;QAC7B,UAAU,EAAE,sCAAsC;QAClD,WAAW,EAAE,+CAA+C;KAC5D;IACD,WAAW,EAAE;QACZ,IAAI,EAAE,cAAc;QACpB,UAAU,EAAE,6BAA6B;QACzC,WAAW,EAAE,yCAAyC;QACtD,
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/procedures/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,8 @@ export interface SubroutineDefinition {
|
|
|
9
9
|
name: string;
|
|
10
10
|
/** Path to the prompt file (relative to edge-worker/src/prompts/) */
|
|
11
11
|
promptPath: string;
|
|
12
|
-
/**
|
|
13
|
-
|
|
12
|
+
/** Whether this subroutine should run in single-turn mode (maxTurns: 1) */
|
|
13
|
+
singleTurn?: boolean;
|
|
14
14
|
/** Human-readable description of what this subroutine does */
|
|
15
15
|
description: string;
|
|
16
16
|
/** Whether this subroutine should skip posting to Linear activity stream */
|
|
@@ -46,6 +46,7 @@ export interface ProcedureMetadata {
|
|
|
46
46
|
subroutine: string;
|
|
47
47
|
completedAt: number;
|
|
48
48
|
claudeSessionId: string | null;
|
|
49
|
+
geminiSessionId: string | null;
|
|
49
50
|
}>;
|
|
50
51
|
}
|
|
51
52
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/procedures/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IAEb,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;IAEnB
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/procedures/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IAEb,qEAAqE;IACrE,UAAU,EAAE,MAAM,CAAC;IAEnB,2EAA2E;IAC3E,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB,8DAA8D;IAC9D,WAAW,EAAE,MAAM,CAAC;IAEpB,4EAA4E;IAC5E,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,+EAA+E;IAC/E,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC,mFAAmF;IACnF,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,wEAAwE;IACxE,eAAe,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IAEb,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;IAEpB,6CAA6C;IAC7C,WAAW,EAAE,oBAAoB,EAAE,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,mCAAmC;IACnC,aAAa,EAAE,MAAM,CAAC;IAEtB,8DAA8D;IAC9D,sBAAsB,EAAE,MAAM,CAAC;IAE/B,uCAAuC;IACvC,iBAAiB,EAAE,KAAK,CAAC;QACxB,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;QAC/B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B,CAAC,CAAC;CACH;AAED;;GAEG;AACH,MAAM,MAAM,qBAAqB,GAC9B,UAAU,GACV,eAAe,GACf,WAAW,GACX,UAAU,GACV,MAAM,GACN,UAAU,GACV,cAAc,CAAC;AAElB;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,oCAAoC;IACpC,cAAc,EAAE,qBAAqB,CAAC;IAEtC,oCAAoC;IACpC,SAAS,EAAE,mBAAmB,CAAC;IAE/B,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cyrus-edge-worker",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.5",
|
|
4
4
|
"description": "Unified edge worker for processing Linear issues with Claude",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -18,12 +18,13 @@
|
|
|
18
18
|
"chokidar": "^4.0.3",
|
|
19
19
|
"fastify": "^5.2.0",
|
|
20
20
|
"file-type": "^18.7.0",
|
|
21
|
-
"cyrus-claude-runner": "0.2.
|
|
22
|
-
"cyrus-cloudflare-tunnel-client": "0.2.
|
|
23
|
-
"cyrus-
|
|
24
|
-
"cyrus-
|
|
25
|
-
"cyrus-
|
|
26
|
-
"cyrus-
|
|
21
|
+
"cyrus-claude-runner": "0.2.5",
|
|
22
|
+
"cyrus-cloudflare-tunnel-client": "0.2.5",
|
|
23
|
+
"cyrus-core": "0.2.5",
|
|
24
|
+
"cyrus-config-updater": "0.2.5",
|
|
25
|
+
"cyrus-gemini-runner": "0.2.5",
|
|
26
|
+
"cyrus-simple-agent-runner": "0.2.5",
|
|
27
|
+
"cyrus-linear-event-transport": "0.2.5"
|
|
27
28
|
},
|
|
28
29
|
"devDependencies": {
|
|
29
30
|
"@types/node": "^20.0.0",
|