sylas-edge-worker 0.2.21 → 0.2.23

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.
Files changed (38) hide show
  1. package/LICENSE +21 -0
  2. package/dist/AgentSessionManager.d.ts +2 -65
  3. package/dist/AgentSessionManager.d.ts.map +1 -1
  4. package/dist/AgentSessionManager.js +60 -328
  5. package/dist/AgentSessionManager.js.map +1 -1
  6. package/dist/ChatSessionHandler.d.ts +1 -2
  7. package/dist/ChatSessionHandler.d.ts.map +1 -1
  8. package/dist/ChatSessionHandler.js +7 -9
  9. package/dist/ChatSessionHandler.js.map +1 -1
  10. package/dist/EdgeWorker.d.ts +1 -33
  11. package/dist/EdgeWorker.d.ts.map +1 -1
  12. package/dist/EdgeWorker.js +69 -447
  13. package/dist/EdgeWorker.js.map +1 -1
  14. package/dist/PromptBuilder.d.ts +2 -7
  15. package/dist/PromptBuilder.d.ts.map +1 -1
  16. package/dist/PromptBuilder.js +8 -24
  17. package/dist/PromptBuilder.js.map +1 -1
  18. package/dist/RunnerRegistry.d.ts +18 -0
  19. package/dist/RunnerRegistry.d.ts.map +1 -0
  20. package/dist/RunnerRegistry.js +95 -0
  21. package/dist/RunnerRegistry.js.map +1 -0
  22. package/dist/RunnerSelectionService.d.ts +5 -15
  23. package/dist/RunnerSelectionService.d.ts.map +1 -1
  24. package/dist/RunnerSelectionService.js +156 -113
  25. package/dist/RunnerSelectionService.js.map +1 -1
  26. package/dist/index.d.ts +3 -4
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +2 -3
  29. package/dist/index.js.map +1 -1
  30. package/dist/procedures/ProcedureAnalyzer.d.ts +4 -0
  31. package/dist/procedures/ProcedureAnalyzer.d.ts.map +1 -1
  32. package/dist/procedures/ProcedureAnalyzer.js +48 -18
  33. package/dist/procedures/ProcedureAnalyzer.js.map +1 -1
  34. package/dist/prompt-assembly/types.d.ts +1 -3
  35. package/dist/prompt-assembly/types.d.ts.map +1 -1
  36. package/dist/types.d.ts +1 -2
  37. package/dist/types.d.ts.map +1 -1
  38. package/package.json +36 -14
@@ -1,4 +1,10 @@
1
- import { getAllTools, getCoordinatorTools, getReadOnlyTools, getSafeTools, } from "sylas-claude-runner";
1
+ import { getAllTools, getCoordinatorTools, getReadOnlyTools, getSafeTools, } from "sylas-core";
2
+ const LEGACY_AGENT_ALIASES = {
3
+ opencode: String.fromCharCode(111, 109, 111),
4
+ claude: String.fromCharCode(111, 109, 99),
5
+ // TEMPORARILY DISABLED: runner consolidation v2
6
+ // codex: String.fromCharCode(111, 109, 120),
7
+ };
2
8
  export class RunnerSelectionService {
3
9
  config;
4
10
  logger;
@@ -10,44 +16,58 @@ export class RunnerSelectionService {
10
16
  * Resolve default model for a given runner from config with sensible built-in defaults.
11
17
  */
12
18
  getDefaultModelForRunner(runnerType) {
19
+ const compatConfig = this.config;
13
20
  if (runnerType === "claude") {
14
- return (this.config.claudeDefaultModel || this.config.defaultModel || "opus");
15
- }
16
- if (runnerType === "gemini") {
17
- return this.config.geminiDefaultModel || "gemini-2.5-pro";
18
- }
19
- if (runnerType === "cursor") {
20
- return "gpt-5";
21
+ return (compatConfig.claudeDefaultModel || this.config.defaultModel || "opus");
21
22
  }
23
+ // TEMPORARILY DISABLED: runner consolidation v2
24
+ // if (runnerType === "gemini") {
25
+ // return this.config.geminiDefaultModel || "gemini-2.5-pro";
26
+ // }
27
+ // TEMPORARILY DISABLED: runner consolidation v2
28
+ // if (runnerType === "cursor") {
29
+ // return "gpt-5";
30
+ // }
22
31
  if (runnerType === "opencode") {
23
- return (this.config.openCodeDefaultModel ||
32
+ return (compatConfig.openCodeDefaultModel ||
24
33
  this.config.defaultModel ||
25
34
  "anthropic/claude-sonnet-4-20250514");
26
35
  }
27
- return this.config.codexDefaultModel || "gpt-5.3-codex";
36
+ // TEMPORARILY DISABLED: runner consolidation v2
37
+ // return compatConfig.codexDefaultModel || "gpt-5.3-codex";
38
+ return (compatConfig.openCodeDefaultModel ||
39
+ this.config.defaultModel ||
40
+ "anthropic/claude-sonnet-4-20250514");
28
41
  }
29
42
  /**
30
43
  * Resolve default fallback model for a given runner from config with sensible built-in defaults.
31
44
  * Supports legacy Claude fallback key for backwards compatibility.
32
45
  */
33
46
  getDefaultFallbackModelForRunner(runnerType) {
47
+ const compatConfig = this.config;
34
48
  if (runnerType === "claude") {
35
- return (this.config.claudeDefaultFallbackModel ||
49
+ return (compatConfig.claudeDefaultFallbackModel ||
36
50
  this.config.defaultFallbackModel ||
37
51
  "sonnet");
38
52
  }
39
- if (runnerType === "gemini") {
40
- return "gemini-2.5-flash";
41
- }
42
- if (runnerType === "cursor") {
43
- return "gpt-5";
44
- }
53
+ // TEMPORARILY DISABLED: runner consolidation v2
54
+ // if (runnerType === "gemini") {
55
+ // return "gemini-2.5-flash";
56
+ // }
57
+ // TEMPORARILY DISABLED: runner consolidation v2
58
+ // if (runnerType === "cursor") {
59
+ // return "gpt-5";
60
+ // }
45
61
  if (runnerType === "opencode") {
46
- return (this.config.openCodeDefaultModel ||
62
+ return (compatConfig.openCodeDefaultModel ||
47
63
  this.config.defaultFallbackModel ||
48
64
  "anthropic/claude-sonnet-4-20250514");
49
65
  }
50
- return "gpt-5";
66
+ // TEMPORARILY DISABLED: runner consolidation v2
67
+ // return "gpt-5";
68
+ return (compatConfig.openCodeDefaultModel ||
69
+ this.config.defaultFallbackModel ||
70
+ "anthropic/claude-sonnet-4-20250514");
51
71
  }
52
72
  /**
53
73
  * Parse a bracketed tag from issue description.
@@ -64,7 +84,7 @@ export class RunnerSelectionService {
64
84
  * Determine runner type and model using labels + issue description tags.
65
85
  *
66
86
  * Supported description tags:
67
- * - [agent=claude|gemini|codex|cursor|opencode]
87
+ * - [agent=claude|opencode]
68
88
  * - [model=<model-name>]
69
89
  *
70
90
  * Precedence:
@@ -80,33 +100,41 @@ export class RunnerSelectionService {
80
100
  const descriptionModelTagRaw = this.parseDescriptionTag(normalizedDescription, "model");
81
101
  const defaultModelByRunner = {
82
102
  claude: this.getDefaultModelForRunner("claude"),
83
- gemini: this.getDefaultModelForRunner("gemini"),
84
- codex: this.getDefaultModelForRunner("codex"),
85
- cursor: this.getDefaultModelForRunner("cursor"),
86
103
  opencode: this.getDefaultModelForRunner("opencode"),
104
+ // TEMPORARILY DISABLED: runner consolidation v2
105
+ // gemini: this.getDefaultModelForRunner("gemini"),
106
+ // TEMPORARILY DISABLED: runner consolidation v2
107
+ // codex: this.getDefaultModelForRunner("codex"),
108
+ // TEMPORARILY DISABLED: runner consolidation v2
109
+ // cursor: this.getDefaultModelForRunner("cursor"),
87
110
  };
88
111
  const defaultFallbackByRunner = {
89
112
  claude: this.getDefaultFallbackModelForRunner("claude"),
90
- gemini: this.getDefaultFallbackModelForRunner("gemini"),
91
- codex: this.getDefaultFallbackModelForRunner("codex"),
92
- cursor: this.getDefaultFallbackModelForRunner("cursor"),
93
113
  opencode: this.getDefaultFallbackModelForRunner("opencode"),
114
+ // TEMPORARILY DISABLED: runner consolidation v2
115
+ // gemini: this.getDefaultFallbackModelForRunner("gemini"),
116
+ // TEMPORARILY DISABLED: runner consolidation v2
117
+ // codex: this.getDefaultFallbackModelForRunner("codex"),
118
+ // TEMPORARILY DISABLED: runner consolidation v2
119
+ // cursor: this.getDefaultFallbackModelForRunner("cursor"),
94
120
  };
95
- const isCodexModel = (model) => /gpt-[a-z0-9.-]*codex$/i.test(model) || /^gpt-[a-z0-9.-]+$/i.test(model);
121
+ // TEMPORARILY DISABLED: runner consolidation v2
122
+ // const isCodexModel = (model: string): boolean =>
123
+ // /gpt-[a-z0-9.-]*codex$/i.test(model) || /^gpt-[a-z0-9.-]+$/i.test(model);
96
124
  const inferRunnerFromModel = (model) => {
97
125
  if (!model)
98
126
  return undefined;
99
127
  const normalizedModel = model.toLowerCase();
100
- if (normalizedModel.startsWith("gemini"))
101
- return "gemini";
128
+ // TEMPORARILY DISABLED: runner consolidation v2
129
+ // if (normalizedModel.startsWith("gemini")) return "gemini";
102
130
  if (normalizedModel === "opus" ||
103
131
  normalizedModel === "sonnet" ||
104
132
  normalizedModel === "haiku" ||
105
133
  normalizedModel.startsWith("claude")) {
106
134
  return "claude";
107
135
  }
108
- if (isCodexModel(normalizedModel))
109
- return "codex";
136
+ // TEMPORARILY DISABLED: runner consolidation v2
137
+ // if (isCodexModel(normalizedModel)) return "codex";
110
138
  return undefined;
111
139
  };
112
140
  const inferFallbackModel = (model, runnerType) => {
@@ -121,71 +149,92 @@ export class RunnerSelectionService {
121
149
  return "sonnet";
122
150
  return "sonnet";
123
151
  }
124
- if (runnerType === "gemini") {
125
- if (normalizedModel === "gemini-3" ||
126
- normalizedModel === "gemini-3-pro" ||
127
- normalizedModel === "gemini-3-pro-preview") {
128
- return "gemini-2.5-pro";
129
- }
130
- if (normalizedModel === "gemini-2.5-pro" ||
131
- normalizedModel === "gemini-2.5") {
132
- return "gemini-2.5-flash";
133
- }
134
- if (normalizedModel === "gemini-2.5-flash") {
135
- return "gemini-2.5-flash-lite";
136
- }
137
- if (normalizedModel === "gemini-2.5-flash-lite") {
138
- return "gemini-2.5-flash-lite";
139
- }
140
- return "gemini-2.5-flash";
141
- }
142
- if (isCodexModel(normalizedModel)) {
143
- if (normalizedModel.endsWith("-codex")) {
144
- return model.slice(0, -"-codex".length);
145
- }
146
- return "gpt-5";
147
- }
148
- return "gpt-5";
152
+ // TEMPORARILY DISABLED: runner consolidation v2
153
+ // if (runnerType === "gemini") {
154
+ // if (
155
+ // normalizedModel === "gemini-3" ||
156
+ // normalizedModel === "gemini-3-pro" ||
157
+ // normalizedModel === "gemini-3-pro-preview"
158
+ // ) {
159
+ // return "gemini-2.5-pro";
160
+ // }
161
+ // if (
162
+ // normalizedModel === "gemini-2.5-pro" ||
163
+ // normalizedModel === "gemini-2.5"
164
+ // ) {
165
+ // return "gemini-2.5-flash";
166
+ // }
167
+ // if (normalizedModel === "gemini-2.5-flash") {
168
+ // return "gemini-2.5-flash-lite";
169
+ // }
170
+ // if (normalizedModel === "gemini-2.5-flash-lite") {
171
+ // return "gemini-2.5-flash-lite";
172
+ // }
173
+ // return "gemini-2.5-flash";
174
+ // }
175
+ // TEMPORARILY DISABLED: runner consolidation v2
176
+ // if (isCodexModel(normalizedModel)) {
177
+ // if (normalizedModel.endsWith("-codex")) {
178
+ // return model.slice(0, -"-codex".length);
179
+ // }
180
+ // return "gpt-5";
181
+ // }
182
+ return defaultFallbackByRunner.opencode;
149
183
  };
150
184
  const resolveAgentFromLabel = (lowercaseLabels) => {
151
- if (lowercaseLabels.includes("opencode")) {
185
+ if (lowercaseLabels.includes("opencode") ||
186
+ lowercaseLabels.includes(LEGACY_AGENT_ALIASES.opencode)) {
152
187
  return "opencode";
153
188
  }
189
+ // TEMPORARILY DISABLED: runner consolidation v2 - fall back to opencode
154
190
  if (lowercaseLabels.includes("cursor")) {
155
- return "cursor";
191
+ return "opencode";
156
192
  }
193
+ // TEMPORARILY DISABLED: runner consolidation v2 - fall back to opencode
157
194
  if (lowercaseLabels.includes("codex") ||
195
+ // lowercaseLabels.includes(LEGACY_AGENT_ALIASES.codex) ||
158
196
  lowercaseLabels.includes("openai")) {
159
- return "codex";
197
+ return "opencode";
160
198
  }
199
+ // TEMPORARILY DISABLED: runner consolidation v2 - fall back to opencode
161
200
  if (lowercaseLabels.includes("gemini")) {
162
- return "gemini";
201
+ return "opencode";
163
202
  }
164
- if (lowercaseLabels.includes("claude")) {
203
+ if (lowercaseLabels.includes("claude") ||
204
+ lowercaseLabels.includes(LEGACY_AGENT_ALIASES.claude) ||
205
+ lowercaseLabels.includes("opus")) {
165
206
  return "claude";
166
207
  }
167
208
  return undefined;
168
209
  };
169
210
  const resolveModelFromLabel = (lowercaseLabels) => {
170
- const codexModelLabel = lowercaseLabels.find((label) => /gpt-[a-z0-9.-]*codex$/i.test(label));
171
- if (codexModelLabel) {
172
- return codexModelLabel;
173
- }
174
- if (lowercaseLabels.includes("gemini-2.5-pro") ||
175
- lowercaseLabels.includes("gemini-2.5")) {
176
- return "gemini-2.5-pro";
177
- }
178
- if (lowercaseLabels.includes("gemini-2.5-flash")) {
179
- return "gemini-2.5-flash";
180
- }
181
- if (lowercaseLabels.includes("gemini-2.5-flash-lite")) {
182
- return "gemini-2.5-flash-lite";
183
- }
184
- if (lowercaseLabels.includes("gemini-3") ||
185
- lowercaseLabels.includes("gemini-3-pro") ||
186
- lowercaseLabels.includes("gemini-3-pro-preview")) {
187
- return "gemini-3-pro-preview";
188
- }
211
+ // TEMPORARILY DISABLED: runner consolidation v2
212
+ // const codexModelLabel = lowercaseLabels.find((label) =>
213
+ // /gpt-[a-z0-9.-]*codex$/i.test(label),
214
+ // );
215
+ // if (codexModelLabel) {
216
+ // return codexModelLabel;
217
+ // }
218
+ // TEMPORARILY DISABLED: runner consolidation v2
219
+ // if (
220
+ // lowercaseLabels.includes("gemini-2.5-pro") ||
221
+ // lowercaseLabels.includes("gemini-2.5")
222
+ // ) {
223
+ // return "gemini-2.5-pro";
224
+ // }
225
+ // if (lowercaseLabels.includes("gemini-2.5-flash")) {
226
+ // return "gemini-2.5-flash";
227
+ // }
228
+ // if (lowercaseLabels.includes("gemini-2.5-flash-lite")) {
229
+ // return "gemini-2.5-flash-lite";
230
+ // }
231
+ // if (
232
+ // lowercaseLabels.includes("gemini-3") ||
233
+ // lowercaseLabels.includes("gemini-3-pro") ||
234
+ // lowercaseLabels.includes("gemini-3-pro-preview")
235
+ // ) {
236
+ // return "gemini-3-pro-preview";
237
+ // }
189
238
  if (lowercaseLabels.includes("opus"))
190
239
  return "opus";
191
240
  if (lowercaseLabels.includes("sonnet"))
@@ -195,18 +244,34 @@ export class RunnerSelectionService {
195
244
  return undefined;
196
245
  };
197
246
  const agentFromDescription = descriptionAgentTagRaw?.toLowerCase();
198
- const resolvedAgentFromDescription = agentFromDescription === "opencode"
247
+ // Check if description specifies a disabled runner
248
+ const isDisabledRunner = (agent) => {
249
+ if (!agent)
250
+ return false;
251
+ return (agent === "gemini" ||
252
+ agent === "codex" ||
253
+ agent === "cursor" ||
254
+ agent === "openai");
255
+ };
256
+ const resolvedAgentFromDescription = agentFromDescription === "opencode" ||
257
+ agentFromDescription === LEGACY_AGENT_ALIASES.opencode
199
258
  ? "opencode"
200
- : agentFromDescription === "cursor"
201
- ? "cursor"
202
- : agentFromDescription === "codex" ||
203
- agentFromDescription === "openai"
204
- ? "codex"
205
- : agentFromDescription === "gemini"
206
- ? "gemini"
207
- : agentFromDescription === "claude"
208
- ? "claude"
209
- : undefined;
259
+ : agentFromDescription === "claude" ||
260
+ agentFromDescription === LEGACY_AGENT_ALIASES.claude
261
+ ? "claude"
262
+ : isDisabledRunner(agentFromDescription)
263
+ ? undefined // Disabled runners don't override labels, fall through to label-based selection
264
+ : undefined;
265
+ // TEMPORARILY DISABLED: runner consolidation v2
266
+ // : agentFromDescription === "cursor"
267
+ // ? "cursor"
268
+ // : agentFromDescription === "codex" ||
269
+ // agentFromDescription === LEGACY_AGENT_ALIASES.codex ||
270
+ // agentFromDescription === "openai"
271
+ // ? "codex"
272
+ // : agentFromDescription === "gemini"
273
+ // ? "gemini"
274
+ // : undefined;
210
275
  const resolvedAgentFromLabels = resolveAgentFromLabel(normalizedLabels);
211
276
  const modelFromDescription = descriptionModelTagRaw;
212
277
  const modelFromLabels = resolveModelFromLabel(normalizedLabels);
@@ -353,27 +418,5 @@ export class RunnerSelectionService {
353
418
  }
354
419
  return disallowedTools;
355
420
  }
356
- /**
357
- * Merge subroutine-level disallowedTools with base disallowedTools
358
- * @param session Current agent session
359
- * @param baseDisallowedTools Base disallowed tools from repository/global config
360
- * @param logContext Context string for logging (e.g., "EdgeWorker", "resumeClaudeSession")
361
- * @param procedureAnalyzer ProcedureAnalyzer instance to resolve current subroutine
362
- * @returns Merged disallowed tools list
363
- */
364
- mergeSubroutineDisallowedTools(session, baseDisallowedTools, logContext, procedureAnalyzer) {
365
- const currentSubroutine = procedureAnalyzer.getCurrentSubroutine(session);
366
- if (currentSubroutine?.disallowedTools) {
367
- const mergedTools = [
368
- ...new Set([
369
- ...baseDisallowedTools,
370
- ...currentSubroutine.disallowedTools,
371
- ]),
372
- ];
373
- this.logger.debug(`[${logContext}] Merged subroutine-level disallowedTools for ${currentSubroutine.name}:`, currentSubroutine.disallowedTools);
374
- return mergedTools;
375
- }
376
- return baseDisallowedTools;
377
- }
378
421
  }
379
422
  //# sourceMappingURL=RunnerSelectionService.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RunnerSelectionService.js","sourceRoot":"","sources":["../src/RunnerSelectionService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RunnerSelectionService.js","sourceRoot":"","sources":["../src/RunnerSelectionService.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- export type { SDKMessage } from "sylas-claude-runner";
2
- export { getAllTools, readOnlyTools } from "sylas-claude-runner";
3
- export type { EdgeConfig, EdgeWorkerConfig, OAuthCallbackHandler, RepositoryConfig, UserAccessControlConfig, UserIdentifier, Workspace, } from "sylas-core";
1
+ export type { EdgeConfig, EdgeWorkerConfig, OAuthCallbackHandler, RepositoryConfig, SDKMessage, UserAccessControlConfig, UserIdentifier, Workspace, } from "sylas-core";
2
+ export { getAllTools, readOnlyTools } from "sylas-core";
4
3
  export { AgentSessionManager } from "./AgentSessionManager.js";
5
4
  export type { AskUserQuestionHandlerConfig, AskUserQuestionHandlerDeps, } from "./AskUserQuestionHandler.js";
6
5
  export { AskUserQuestionHandler } from "./AskUserQuestionHandler.js";
@@ -11,12 +10,12 @@ export { GitService } from "./GitService.js";
11
10
  export type { SerializedGlobalRegistryState } from "./GlobalSessionRegistry.js";
12
11
  export { GlobalSessionRegistry } from "./GlobalSessionRegistry.js";
13
12
  export { RepositoryRouter } from "./RepositoryRouter.js";
13
+ export { createRunner, type RunnerKind, RunnerNotInstalledError, } from "./RunnerRegistry.js";
14
14
  export { SharedApplicationServer } from "./SharedApplicationServer.js";
15
15
  export { SlackChatAdapter } from "./SlackChatAdapter.js";
16
16
  export type { ActivityPostOptions, ActivityPostResult, ActivitySignal, IActivitySink, } from "./sinks/index.js";
17
17
  export { LinearActivitySink } from "./sinks/index.js";
18
18
  export type { EdgeWorkerEvents } from "./types.js";
19
19
  export { type AccessCheckResult, DEFAULT_BLOCK_MESSAGE, UserAccessControl, } from "./UserAccessControl.js";
20
- export { DEFAULT_VALIDATION_LOOP_CONFIG, parseValidationResult, VALIDATION_RESULT_SCHEMA, type ValidationFixerContext, type ValidationLoopConfig, type ValidationLoopState, type ValidationResult, } from "./validation/index.js";
21
20
  export { WorktreeIncludeService } from "./WorktreeIncludeService.js";
22
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACjE,YAAY,EACX,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,uBAAuB,EACvB,cAAc,EACd,SAAS,GACT,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EACX,4BAA4B,EAC5B,0BAA0B,GAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,YAAY,EACX,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EACX,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,aAAa,GACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EACN,KAAK,iBAAiB,EACtB,qBAAqB,EACrB,iBAAiB,GACjB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACN,8BAA8B,EAC9B,qBAAqB,EACrB,wBAAwB,EACxB,KAAK,sBAAsB,EAC3B,KAAK,oBAAoB,EACzB,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,GACrB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACX,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EAChB,UAAU,EACV,uBAAuB,EACvB,cAAc,EACd,SAAS,GACT,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,YAAY,EACX,4BAA4B,EAC5B,0BAA0B,GAC1B,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,YAAY,EACX,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,6BAA6B,EAAE,MAAM,4BAA4B,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EACN,YAAY,EACZ,KAAK,UAAU,EACf,uBAAuB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,YAAY,EACX,mBAAmB,EACnB,kBAAkB,EAClB,cAAc,EACd,aAAa,GACb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,YAAY,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EACN,KAAK,iBAAiB,EACtB,qBAAqB,EACrB,iBAAiB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- export { getAllTools, readOnlyTools } from "sylas-claude-runner";
1
+ export { getAllTools, readOnlyTools } from "sylas-core";
2
2
  export { AgentSessionManager } from "./AgentSessionManager.js";
3
3
  export { AskUserQuestionHandler } from "./AskUserQuestionHandler.js";
4
4
  export { ChatSessionHandler } from "./ChatSessionHandler.js";
@@ -6,12 +6,11 @@ export { EdgeWorker } from "./EdgeWorker.js";
6
6
  export { GitService } from "./GitService.js";
7
7
  export { GlobalSessionRegistry } from "./GlobalSessionRegistry.js";
8
8
  export { RepositoryRouter } from "./RepositoryRouter.js";
9
+ export { createRunner, RunnerNotInstalledError, } from "./RunnerRegistry.js";
9
10
  export { SharedApplicationServer } from "./SharedApplicationServer.js";
10
11
  export { SlackChatAdapter } from "./SlackChatAdapter.js";
11
12
  export { LinearActivitySink } from "./sinks/index.js";
12
13
  // User access control
13
14
  export { DEFAULT_BLOCK_MESSAGE, UserAccessControl, } from "./UserAccessControl.js";
14
- // Export validation loop module
15
- export { DEFAULT_VALIDATION_LOOP_CONFIG, parseValidationResult, VALIDATION_RESULT_SCHEMA, } from "./validation/index.js";
16
15
  export { WorktreeIncludeService } from "./WorktreeIncludeService.js";
17
16
  //# 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":"AAEA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAUjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAK/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAMrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAOzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,sBAAsB;AACtB,OAAO,EAEN,qBAAqB,EACrB,iBAAiB,GACjB,MAAM,wBAAwB,CAAC;AAChC,gCAAgC;AAChC,OAAO,EACN,8BAA8B,EAC9B,qBAAqB,EACrB,wBAAwB,GAKxB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAK/D,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAMrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EACN,YAAY,EAEZ,uBAAuB,GACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAOzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,sBAAsB;AACtB,OAAO,EAEN,qBAAqB,EACrB,iBAAiB,GACjB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -3,6 +3,7 @@
3
3
  *
4
4
  * Uses a SimpleAgentRunner (Claude or Gemini) to analyze requests and determine
5
5
  * which procedure (sequence of subroutines) should be executed.
6
+ * Runner packages are dynamically imported to keep them optional.
6
7
  */
7
8
  import { type ILogger, type SylasAgentSession } from "sylas-core";
8
9
  import type { ProcedureAnalysisDecision, ProcedureDefinition, SubroutineDefinition } from "./types.js";
@@ -16,9 +17,12 @@ export interface ProcedureAnalyzerConfig {
16
17
  }
17
18
  export declare class ProcedureAnalyzer {
18
19
  private analysisRunner;
20
+ private runnerInitialized;
19
21
  private procedures;
20
22
  private logger;
23
+ private config;
21
24
  constructor(config: ProcedureAnalyzerConfig);
25
+ private ensureRunner;
22
26
  /**
23
27
  * Build the system prompt for request analysis and classification
24
28
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ProcedureAnalyzer.d.ts","sourceRoot":"","sources":["../../src/procedures/ProcedureAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAEN,KAAK,OAAO,EAEZ,KAAK,iBAAiB,EACtB,MAAM,YAAY,CAAC;AAIpB,OAAO,KAAK,EACX,yBAAyB,EACzB,mBAAmB,EAGnB,oBAAoB,EACpB,MAAM,YAAY,CAAC;AAEpB,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AAEhE,MAAM,WAAW,uBAAuB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,cAAc,CAA4C;IAClE,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,MAAM,CAAU;gBAEZ,MAAM,EAAE,uBAAuB;IA4C3C;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAmDjC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAMhC;;OAEG;IACG,gBAAgB,CACrB,WAAW,EAAE,MAAM,GACjB,OAAO,CAAC,yBAAyB,CAAC;IAyCrC;;;OAGG;IACH,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,oBAAoB,GAAG,IAAI;IA6B1E;;OAEG;IACH,oBAAoB,CACnB,OAAO,EAAE,iBAAiB,GACxB,oBAAoB,GAAG,IAAI;IAwB9B;;OAEG;IACH,2BAA2B,CAC1B,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,mBAAmB,GAC5B,IAAI;IAYP;;OAEG;IACH,uBAAuB,CACtB,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,CAAC,EAAE,MAAM,GACb,IAAI;IA8CP;;;OAGG;IACH,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI;IAiBlE;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO;IAIxD;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,mBAAmB,GAAG,IAAI;IAIvD;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;CAG3D"}
1
+ {"version":3,"file":"ProcedureAnalyzer.d.ts","sourceRoot":"","sources":["../../src/procedures/ProcedureAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAEN,KAAK,OAAO,EAGZ,KAAK,iBAAiB,EACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EACX,yBAAyB,EACzB,mBAAmB,EAGnB,oBAAoB,EACpB,MAAM,YAAY,CAAC;AACpB,MAAM,MAAM,gBAAgB,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,CAAC;AAChE,MAAM,WAAW,uBAAuB;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,gBAAgB,CAAC;IAC9B,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB;AA2CD,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,cAAc,CAChB;IACN,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,UAAU,CAA+C;IACjE,OAAO,CAAC,MAAM,CAAU;IACxB,OAAO,CAAC,MAAM,CAA0B;gBAC5B,MAAM,EAAE,uBAAuB;YAO7B,YAAY;IAoC1B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAmDjC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAMhC;;OAEG;IACG,gBAAgB,CACrB,WAAW,EAAE,MAAM,GACjB,OAAO,CAAC,yBAAyB,CAAC;IA4CrC;;;OAGG;IACH,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,GAAG,oBAAoB,GAAG,IAAI;IA6B1E;;OAEG;IACH,oBAAoB,CACnB,OAAO,EAAE,iBAAiB,GACxB,oBAAoB,GAAG,IAAI;IAwB9B;;OAEG;IACH,2BAA2B,CAC1B,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,mBAAmB,GAC5B,IAAI;IAYP;;OAEG;IACH,uBAAuB,CACtB,OAAO,EAAE,iBAAiB,EAC1B,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,CAAC,EAAE,MAAM,GACb,IAAI;IA8CP;;;OAGG;IACH,uBAAuB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,GAAG,IAAI;IAiBlE;;OAEG;IACH,mBAAmB,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO;IAIxD;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,mBAAmB,GAAG,IAAI;IAIvD;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;CAG3D"}
@@ -3,24 +3,57 @@
3
3
  *
4
4
  * Uses a SimpleAgentRunner (Claude or Gemini) to analyze requests and determine
5
5
  * which procedure (sequence of subroutines) should be executed.
6
+ * Runner packages are dynamically imported to keep them optional.
6
7
  */
7
8
  import { createLogger, } from "sylas-core";
8
- import { SimpleGeminiRunner } from "sylas-gemini-runner";
9
- import { SimpleClaudeRunner } from "sylas-simple-agent-runner";
10
9
  import { getProcedureForClassification, PROCEDURES } from "./registry.js";
10
+ /**
11
+ * Dynamically load a simple runner for classification.
12
+ * Returns null if the runner package is not installed.
13
+ */
14
+ async function loadSimpleRunner(runnerType, runnerConfig, logger) {
15
+ try {
16
+ if (runnerType === "claude") {
17
+ const mod = await import("sylas-simple-agent-runner");
18
+ const RunnerClass = mod.SimpleClaudeRunner;
19
+ if (!RunnerClass) {
20
+ throw new Error(`Runner package "sylas-simple-agent-runner" does not export "SimpleClaudeRunner"`);
21
+ }
22
+ return new RunnerClass(runnerConfig);
23
+ }
24
+ const mod = await import("sylas-gemini-runner");
25
+ return new mod.SimpleGeminiRunner(runnerConfig);
26
+ }
27
+ catch (error) {
28
+ const message = String(error?.message ?? error);
29
+ if (error?.code === "MODULE_NOT_FOUND" ||
30
+ error?.code === "ERR_MODULE_NOT_FOUND" ||
31
+ /Cannot find (package|module)/.test(message)) {
32
+ logger.warn(`Simple runner "${runnerType}" not installed, classification will use heuristic fallback`);
33
+ return null;
34
+ }
35
+ throw error;
36
+ }
37
+ }
11
38
  export class ProcedureAnalyzer {
12
- analysisRunner;
39
+ analysisRunner = null;
40
+ runnerInitialized = false;
13
41
  procedures = new Map();
14
42
  logger;
43
+ config;
15
44
  constructor(config) {
45
+ this.config = config;
16
46
  this.logger =
17
47
  config.logger ?? createLogger({ component: "ProcedureAnalyzer" });
18
- // Determine which runner to use
19
- const runnerType = config.runnerType || "gemini";
20
- // Use runner-specific default models if not provided
48
+ this.loadPredefinedProcedures();
49
+ }
50
+ async ensureRunner() {
51
+ if (this.runnerInitialized)
52
+ return;
53
+ this.runnerInitialized = true;
54
+ const runnerType = this.config.runnerType || "gemini";
21
55
  const defaultModel = runnerType === "claude" ? "haiku" : "gemini-2.5-flash-lite";
22
56
  const defaultFallbackModel = runnerType === "claude" ? "sonnet" : "gemini-2.0-flash-exp";
23
- // Create runner configuration
24
57
  const runnerConfig = {
25
58
  validResponses: [
26
59
  "question",
@@ -33,20 +66,14 @@ export class ProcedureAnalyzer {
33
66
  "user-testing",
34
67
  "release",
35
68
  ],
36
- sylasHome: config.sylasHome,
37
- model: config.model || defaultModel,
69
+ sylasHome: this.config.sylasHome,
70
+ model: this.config.model || defaultModel,
38
71
  fallbackModel: defaultFallbackModel,
39
72
  systemPrompt: this.buildAnalysisSystemPrompt(),
40
73
  maxTurns: 1,
41
- timeoutMs: config.timeoutMs || 10000,
74
+ timeoutMs: this.config.timeoutMs || 10000,
42
75
  };
43
- // Initialize the appropriate runner based on type
44
- this.analysisRunner =
45
- runnerType === "claude"
46
- ? new SimpleClaudeRunner(runnerConfig)
47
- : new SimpleGeminiRunner(runnerConfig);
48
- // Load all predefined procedures from registry
49
- this.loadPredefinedProcedures();
76
+ this.analysisRunner = await loadSimpleRunner(runnerType, runnerConfig, this.logger);
50
77
  }
51
78
  /**
52
79
  * Build the system prompt for request analysis and classification
@@ -113,8 +140,11 @@ IMPORTANT: Respond with ONLY the classification word, nothing else.`;
113
140
  * Analyze a request and determine which procedure to use
114
141
  */
115
142
  async determineRoutine(requestText) {
143
+ await this.ensureRunner();
116
144
  try {
117
- // Classify the request using analysis runner
145
+ if (!this.analysisRunner) {
146
+ throw new Error("No classification runner available");
147
+ }
118
148
  const result = await this.analysisRunner.query(`Classify this Linear issue request:\n\n${requestText}`);
119
149
  const classification = result.response;
120
150
  // Get procedure name for this classification