crewly 1.3.29 → 1.3.31
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/backend/backend/src/controllers/monitoring/terminal.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js +10 -2
- package/dist/backend/backend/src/controllers/monitoring/terminal.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/team/team.controller.js +73 -13
- package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +21 -0
- package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/agent-registration.service.js +87 -17
- package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts +78 -4
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js +192 -14
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.d.ts +23 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.js +37 -8
- package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js +5 -7
- package/dist/backend/backend/src/services/agent/crewly-agent/model-manager.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts +10 -2
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js +284 -11
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts +91 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts.map +1 -1
- package/dist/backend/backend/src/services/agent/crewly-agent/types.js +7 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/types.js.map +1 -1
- package/dist/backend/backend/src/services/knowledge/index.d.ts +1 -0
- package/dist/backend/backend/src/services/knowledge/index.d.ts.map +1 -1
- package/dist/backend/backend/src/services/knowledge/index.js +1 -0
- package/dist/backend/backend/src/services/knowledge/index.js.map +1 -1
- package/dist/backend/backend/src/services/knowledge/knowledge-search.service.d.ts +54 -0
- package/dist/backend/backend/src/services/knowledge/knowledge-search.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/knowledge/knowledge-search.service.js +134 -2
- package/dist/backend/backend/src/services/knowledge/knowledge-search.service.js.map +1 -1
- package/dist/backend/backend/src/services/knowledge/vector-store.service.d.ts +184 -0
- package/dist/backend/backend/src/services/knowledge/vector-store.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/knowledge/vector-store.service.js +322 -0
- package/dist/backend/backend/src/services/knowledge/vector-store.service.js.map +1 -0
- package/dist/backend/backend/src/types/index.d.ts +1 -1
- package/dist/backend/backend/src/types/index.d.ts.map +1 -1
- package/dist/backend/backend/src/types/settings.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/settings.types.js +9 -1
- package/dist/backend/backend/src/types/settings.types.js.map +1 -1
- package/dist/backend/backend/src/websocket/terminal.gateway.d.ts +65 -1
- package/dist/backend/backend/src/websocket/terminal.gateway.d.ts.map +1 -1
- package/dist/backend/backend/src/websocket/terminal.gateway.js +159 -3
- package/dist/backend/backend/src/websocket/terminal.gateway.js.map +1 -1
- package/dist/cli/backend/src/services/knowledge/knowledge-search.service.d.ts +54 -0
- package/dist/cli/backend/src/services/knowledge/knowledge-search.service.d.ts.map +1 -1
- package/dist/cli/backend/src/services/knowledge/knowledge-search.service.js +134 -2
- package/dist/cli/backend/src/services/knowledge/knowledge-search.service.js.map +1 -1
- package/dist/cli/backend/src/services/knowledge/vector-store.service.d.ts +184 -0
- package/dist/cli/backend/src/services/knowledge/vector-store.service.d.ts.map +1 -0
- package/dist/cli/backend/src/services/knowledge/vector-store.service.js +322 -0
- package/dist/cli/backend/src/services/knowledge/vector-store.service.js.map +1 -0
- package/dist/cli/backend/src/types/index.d.ts +1 -1
- package/dist/cli/backend/src/types/index.d.ts.map +1 -1
- package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/settings.types.js +9 -1
- package/dist/cli/backend/src/types/settings.types.js.map +1 -1
- package/frontend/dist/assets/{index-adae9eb6.js → index-e6d7db4a.js} +125 -125
- package/frontend/dist/index.html +1 -1
- package/package.json +3 -2
|
@@ -11,6 +11,7 @@ import { generateText, stepCountIs } from 'ai';
|
|
|
11
11
|
import { ModelManager } from './model-manager.js';
|
|
12
12
|
import { CrewlyApiClient } from './api-client.js';
|
|
13
13
|
import { createTools } from './tool-registry.js';
|
|
14
|
+
import { CREWLY_AGENT_DEFAULTS, } from './types.js';
|
|
14
15
|
export class AgentRunnerService {
|
|
15
16
|
config;
|
|
16
17
|
modelManager;
|
|
@@ -19,6 +20,8 @@ export class AgentRunnerService {
|
|
|
19
20
|
state;
|
|
20
21
|
processing = false;
|
|
21
22
|
messageQueue = [];
|
|
23
|
+
auditLog = [];
|
|
24
|
+
securityPolicy;
|
|
22
25
|
/** @internal Override for testing — replaces the AI SDK generateText call */
|
|
23
26
|
_generateTextFn = null;
|
|
24
27
|
/**
|
|
@@ -32,6 +35,7 @@ export class AgentRunnerService {
|
|
|
32
35
|
this.config = config;
|
|
33
36
|
this.modelManager = modelManager || new ModelManager();
|
|
34
37
|
this.apiClient = apiClient || new CrewlyApiClient(config.apiBaseUrl, config.sessionName);
|
|
38
|
+
this.securityPolicy = { ...CREWLY_AGENT_DEFAULTS.SECURITY_POLICY };
|
|
35
39
|
this.state = {
|
|
36
40
|
messages: [],
|
|
37
41
|
systemPrompt: config.systemPrompt,
|
|
@@ -124,8 +128,13 @@ export class AgentRunnerService {
|
|
|
124
128
|
// Add user message to history
|
|
125
129
|
this.state.messages.push({ role: 'user', content: message });
|
|
126
130
|
this.state.lastActivityAt = new Date();
|
|
127
|
-
// Build tools
|
|
128
|
-
const
|
|
131
|
+
// Build tools with callbacks for compaction, audit, and security enforcement
|
|
132
|
+
const callbacks = {
|
|
133
|
+
onCompactMemory: () => this.requestCompaction(),
|
|
134
|
+
onAuditLog: (entry) => this.recordAudit(entry),
|
|
135
|
+
onCheckApproval: (toolName, sensitivity) => this.checkApproval(toolName, sensitivity),
|
|
136
|
+
};
|
|
137
|
+
const tools = createTools(this.apiClient, this.config.sessionName, this.config.projectPath, callbacks);
|
|
129
138
|
// Execute generateText with agentic loop
|
|
130
139
|
const generateFn = this._generateTextFn || generateText;
|
|
131
140
|
const result = await generateFn({
|
|
@@ -170,30 +179,199 @@ export class AgentRunnerService {
|
|
|
170
179
|
};
|
|
171
180
|
}
|
|
172
181
|
/**
|
|
173
|
-
*
|
|
182
|
+
* Public method for agent-initiated context compaction.
|
|
183
|
+
* Called by the compact_memory tool to intelligently summarize conversation state.
|
|
184
|
+
*
|
|
185
|
+
* Uses the model to generate a structured summary preserving:
|
|
186
|
+
* - Active tasks and their status
|
|
187
|
+
* - Key decisions made
|
|
188
|
+
* - Important findings and blockers
|
|
189
|
+
* - Current working context
|
|
174
190
|
*
|
|
175
|
-
*
|
|
176
|
-
* Uses the same model with a summarization prompt.
|
|
191
|
+
* @returns CompactionResult with before/after stats
|
|
177
192
|
*/
|
|
178
|
-
async
|
|
179
|
-
if (!this.model || this.state.messages.length < 10)
|
|
193
|
+
async requestCompaction() {
|
|
194
|
+
if (!this.model || this.state.messages.length < 10) {
|
|
195
|
+
return {
|
|
196
|
+
compacted: false,
|
|
197
|
+
messagesBefore: this.state.messages.length,
|
|
198
|
+
messagesAfter: this.state.messages.length,
|
|
199
|
+
reason: this.state.messages.length < 10
|
|
200
|
+
? 'Too few messages to compact'
|
|
201
|
+
: 'Model not initialized',
|
|
202
|
+
};
|
|
203
|
+
}
|
|
204
|
+
return this.compactHistory();
|
|
205
|
+
}
|
|
206
|
+
/**
|
|
207
|
+
* Get the security audit log.
|
|
208
|
+
*
|
|
209
|
+
* @param limit - Maximum number of entries to return (most recent first)
|
|
210
|
+
* @returns Array of audit entries
|
|
211
|
+
*/
|
|
212
|
+
getAuditLog(limit) {
|
|
213
|
+
const entries = [...this.auditLog].reverse();
|
|
214
|
+
return limit ? entries.slice(0, limit) : entries;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Get the current security policy.
|
|
218
|
+
*
|
|
219
|
+
* @returns Current security policy configuration
|
|
220
|
+
*/
|
|
221
|
+
getSecurityPolicy() {
|
|
222
|
+
return { ...this.securityPolicy };
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Update the security policy.
|
|
226
|
+
*
|
|
227
|
+
* @param updates - Partial security policy to merge
|
|
228
|
+
*/
|
|
229
|
+
updateSecurityPolicy(updates) {
|
|
230
|
+
this.securityPolicy = { ...this.securityPolicy, ...updates };
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Record an audit entry for a tool invocation.
|
|
234
|
+
*
|
|
235
|
+
* @param entry - Audit entry to record
|
|
236
|
+
*/
|
|
237
|
+
recordAudit(entry) {
|
|
238
|
+
if (!this.securityPolicy.auditEnabled)
|
|
180
239
|
return;
|
|
240
|
+
this.auditLog.push(entry);
|
|
241
|
+
// Enforce max entries limit
|
|
242
|
+
if (this.auditLog.length > this.securityPolicy.maxAuditEntries) {
|
|
243
|
+
this.auditLog = this.auditLog.slice(-this.securityPolicy.maxAuditEntries);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
/**
|
|
247
|
+
* Check if a tool is allowed to execute under the current security policy.
|
|
248
|
+
*
|
|
249
|
+
* Evaluates the tool against two checks:
|
|
250
|
+
* 1. blockedTools — tools explicitly blocked by name (returns blocked=true)
|
|
251
|
+
* 2. requireApproval — tools whose sensitivity requires approval (returns requiresApproval=true)
|
|
252
|
+
*
|
|
253
|
+
* @param toolName - Name of the tool being invoked
|
|
254
|
+
* @param sensitivity - Sensitivity classification of the tool
|
|
255
|
+
* @returns ApprovalCheckResult indicating if execution is allowed
|
|
256
|
+
*/
|
|
257
|
+
checkApproval(toolName, sensitivity) {
|
|
258
|
+
// Check blocked tools
|
|
259
|
+
if (this.securityPolicy.blockedTools.includes(toolName)) {
|
|
260
|
+
return {
|
|
261
|
+
allowed: false,
|
|
262
|
+
blocked: true,
|
|
263
|
+
reason: `Tool '${toolName}' is blocked by security policy`,
|
|
264
|
+
};
|
|
265
|
+
}
|
|
266
|
+
// Check approval requirements
|
|
267
|
+
if (this.securityPolicy.requireApproval.includes(sensitivity)) {
|
|
268
|
+
return {
|
|
269
|
+
allowed: false,
|
|
270
|
+
blocked: false,
|
|
271
|
+
reason: `Tool '${toolName}' (${sensitivity}) requires approval — approval mode is active for '${sensitivity}' tools`,
|
|
272
|
+
};
|
|
273
|
+
}
|
|
274
|
+
return { allowed: true };
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Compact conversation history using AI-generated structured summary.
|
|
278
|
+
*
|
|
279
|
+
* Keeps the most recent messages and uses the model to generate an
|
|
280
|
+
* intelligent summary of older messages that preserves critical state:
|
|
281
|
+
* decisions, active tasks, findings, and working context.
|
|
282
|
+
*
|
|
283
|
+
* Falls back to truncation-based summary if AI summarization fails.
|
|
284
|
+
*
|
|
285
|
+
* @returns CompactionResult with before/after statistics
|
|
286
|
+
*/
|
|
287
|
+
async compactHistory() {
|
|
288
|
+
if (!this.model || this.state.messages.length < 10) {
|
|
289
|
+
return {
|
|
290
|
+
compacted: false,
|
|
291
|
+
messagesBefore: this.state.messages.length,
|
|
292
|
+
messagesAfter: this.state.messages.length,
|
|
293
|
+
reason: 'History too small to compact',
|
|
294
|
+
};
|
|
295
|
+
}
|
|
296
|
+
const messagesBefore = this.state.messages.length;
|
|
181
297
|
const keepRecent = 10;
|
|
182
298
|
const oldMessages = this.state.messages.slice(0, -keepRecent);
|
|
183
299
|
const recentMessages = this.state.messages.slice(-keepRecent);
|
|
184
|
-
//
|
|
300
|
+
// Attempt AI-powered summarization
|
|
301
|
+
let summaryText;
|
|
302
|
+
try {
|
|
303
|
+
summaryText = await this.generateAISummary(oldMessages);
|
|
304
|
+
}
|
|
305
|
+
catch {
|
|
306
|
+
// Fallback to truncation-based summary
|
|
307
|
+
summaryText = this.generateFallbackSummary(oldMessages);
|
|
308
|
+
}
|
|
309
|
+
this.state.messages = [
|
|
310
|
+
{ role: 'assistant', content: summaryText },
|
|
311
|
+
...recentMessages,
|
|
312
|
+
];
|
|
313
|
+
return {
|
|
314
|
+
compacted: true,
|
|
315
|
+
messagesBefore,
|
|
316
|
+
messagesAfter: this.state.messages.length,
|
|
317
|
+
};
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* Generate an AI-powered structured summary of conversation messages.
|
|
321
|
+
*
|
|
322
|
+
* Asks the model to extract and preserve critical state from the
|
|
323
|
+
* conversation history in a structured format.
|
|
324
|
+
*
|
|
325
|
+
* @param messages - Messages to summarize
|
|
326
|
+
* @returns Structured summary string
|
|
327
|
+
*/
|
|
328
|
+
async generateAISummary(messages) {
|
|
329
|
+
const conversationText = messages.map(msg => {
|
|
330
|
+
const content = typeof msg.content === 'string'
|
|
331
|
+
? msg.content.substring(0, 500)
|
|
332
|
+
: JSON.stringify(msg.content).substring(0, 500);
|
|
333
|
+
return `[${msg.role}]: ${content}`;
|
|
334
|
+
}).join('\n');
|
|
335
|
+
const summarizationPrompt = `Summarize this conversation history into a structured state snapshot. Preserve ALL of the following if present:
|
|
336
|
+
|
|
337
|
+
1. **Active Tasks**: What tasks are in progress, assigned to whom, their status
|
|
338
|
+
2. **Decisions Made**: Key decisions and their rationale
|
|
339
|
+
3. **Key Findings**: Important discoveries, patterns, or blockers found
|
|
340
|
+
4. **Current Context**: What the agent is currently working on
|
|
341
|
+
5. **Pending Items**: Anything awaiting response or follow-up
|
|
342
|
+
|
|
343
|
+
Be concise but complete. This summary replaces the original messages.
|
|
344
|
+
|
|
345
|
+
Conversation (${messages.length} messages):
|
|
346
|
+
${conversationText}`;
|
|
347
|
+
const generateFn = this._generateTextFn || generateText;
|
|
348
|
+
const result = await generateFn({
|
|
349
|
+
model: this.model,
|
|
350
|
+
messages: [{ role: 'user', content: summarizationPrompt }],
|
|
351
|
+
maxOutputTokens: 2048,
|
|
352
|
+
temperature: 0.1,
|
|
353
|
+
});
|
|
354
|
+
const summary = result.text || '';
|
|
355
|
+
if (!summary || summary.length < 20) {
|
|
356
|
+
throw new Error('AI summary too short, falling back');
|
|
357
|
+
}
|
|
358
|
+
return `[Compacted State — ${messages.length} messages summarized]\n\n${summary}`;
|
|
359
|
+
}
|
|
360
|
+
/**
|
|
361
|
+
* Generate a truncation-based fallback summary when AI summarization fails.
|
|
362
|
+
*
|
|
363
|
+
* @param messages - Messages to summarize
|
|
364
|
+
* @returns Simple concatenated summary string
|
|
365
|
+
*/
|
|
366
|
+
generateFallbackSummary(messages) {
|
|
185
367
|
const summaryParts = [];
|
|
186
|
-
for (const msg of
|
|
368
|
+
for (const msg of messages) {
|
|
187
369
|
const content = typeof msg.content === 'string'
|
|
188
370
|
? msg.content.substring(0, 200)
|
|
189
371
|
: JSON.stringify(msg.content).substring(0, 200);
|
|
190
372
|
summaryParts.push(`[${msg.role}]: ${content}`);
|
|
191
373
|
}
|
|
192
|
-
|
|
193
|
-
this.state.messages = [
|
|
194
|
-
{ role: 'assistant', content: summaryText },
|
|
195
|
-
...recentMessages,
|
|
196
|
-
];
|
|
374
|
+
return `Previous conversation summary (${messages.length} messages compressed):\n${summaryParts.join('\n')}`;
|
|
197
375
|
}
|
|
198
376
|
}
|
|
199
377
|
//# sourceMappingURL=agent-runner.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-runner.service.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/agent-runner.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAyC,MAAM,IAAI,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-runner.service.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/agent-runner.service.ts"],"names":[],"mappings":"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"}
|
package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crewly-agent-runtime.service.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,yBAA0B,SAAQ,mBAAmB;IAChE,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,SAAS,CAAqB;gBAE1B,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM;IAOpE;;;;OAIG;IACH,SAAS,CAAC,cAAc,IAAI,WAAW;IAIvC;;;;;;OAMG;cACa,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7E;;;;;OAKG;IACH,SAAS,CAAC,uBAAuB,IAAI,MAAM,EAAE;IAI7C;;;;OAIG;IACH,SAAS,CAAC,uBAAuB,IAAI,MAAM,EAAE;IAI7C;;;;OAIG;IACH,SAAS,CAAC,sBAAsB,IAAI,MAAM,EAAE;IAM5C;;;;;;;;;OASG;IACG,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,EACnC,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"crewly-agent-runtime.service.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAG9D;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,yBAA0B,SAAQ,mBAAmB;IAChE,OAAO,CAAC,WAAW,CAAmC;IACtD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,kBAAkB,CAAuB;IACjD,OAAO,CAAC,SAAS,CAAqB;gBAE1B,aAAa,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM;IAOpE;;;;OAIG;IACH,SAAS,CAAC,cAAc,IAAI,WAAW;IAIvC;;;;;;OAMG;cACa,qBAAqB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAI7E;;;;;OAKG;IACH,SAAS,CAAC,uBAAuB,IAAI,MAAM,EAAE;IAI7C;;;;OAIG;IACH,SAAS,CAAC,uBAAuB,IAAI,MAAM,EAAE;IAI7C;;;;OAIG;IACH,SAAS,CAAC,sBAAsB,IAAI,MAAM,EAAE;IAM5C;;;;;;;;;OASG;IACG,mBAAmB,CACvB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,EACnC,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC;IAiChB;;;;;;;;;OASG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IA8C7D;;;;OAIG;IACH,OAAO,IAAI,OAAO;IAIlB;;;;OAIG;IACH,cAAc,IAAI,kBAAkB,GAAG,IAAI;IAI3C;;;;OAIG;IACH,cAAc,IAAI,MAAM,GAAG,IAAI;IAI/B;;;OAGG;IACH,QAAQ,IAAI,IAAI;IAehB;;;;;;OAMG;YACW,gBAAgB;CAiB/B"}
|
package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js
CHANGED
|
@@ -110,6 +110,7 @@ export class CrewlyAgentRuntimeService extends RuntimeAgentService {
|
|
|
110
110
|
systemPrompt: config?.systemPrompt || systemPrompt,
|
|
111
111
|
maxHistoryMessages: config?.maxHistoryMessages || CREWLY_AGENT_DEFAULTS.MAX_HISTORY_MESSAGES,
|
|
112
112
|
compactionThreshold: config?.compactionThreshold || CREWLY_AGENT_DEFAULTS.COMPACTION_THRESHOLD,
|
|
113
|
+
projectPath: config?.projectPath,
|
|
113
114
|
};
|
|
114
115
|
this.agentRunner = new AgentRunnerService(fullConfig);
|
|
115
116
|
await this.agentRunner.initialize();
|
package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crewly-agent-runtime.service.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,IAAI,CAAC;AACpC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAoB,MAAM,uBAAuB,CAAC;AAExE,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAEhE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,yBAA0B,SAAQ,mBAAmB;IACxD,WAAW,GAA8B,IAAI,CAAC;IAC9C,WAAW,GAAG,KAAK,CAAC;IACpB,kBAAkB,GAAkB,IAAI,CAAC;IACzC,SAAS,CAAqB;IAEtC,YAAY,aAAmC,EAAE,WAAmB;QAClE,KAAK,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAClC,IAAI,CAAC,SAAS,GAAG,kBAAkB,CAAC,WAAW,EAAE,CAAC;IACpD,CAAC;IAED,8CAA8C;IAE9C;;;;OAIG;IACO,cAAc;QACtB,OAAO,aAAa,CAAC,YAA2B,CAAC;IACnD,CAAC;IAED;;;;;;OAMG;IACO,KAAK,CAAC,qBAAqB,CAAC,YAAoB;QACxD,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC;IAC3F,CAAC;IAED;;;;;OAKG;IACO,uBAAuB;QAC/B,OAAO,CAAC,oBAAoB,CAAC,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACO,uBAAuB;QAC/B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACO,sBAAsB;QAC9B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,2CAA2C;IAE3C;;;;;;;;;OASG;IACH,KAAK,CAAC,mBAAmB,CACvB,WAAmB,EACnB,MAAmC,EACnC,QAAiB;QAEjB,IAAI,CAAC,kBAAkB,GAAG,WAAW,CAAC;QAEtC,+CAA+C;QAC/C,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,IAAI,cAAc,CAAC,CAAC;QAE7E,kCAAkC;QAClC,MAAM,UAAU,GAAsB;YACpC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,qBAAqB,CAAC,aAAa;YAC3D,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,qBAAqB,CAAC,SAAS;YAC7D,WAAW;YACX,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,qBAAqB,CAAC,YAAY;YACpE,YAAY,EAAE,MAAM,EAAE,YAAY,IAAI,YAAY;YAClD,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,IAAI,qBAAqB,CAAC,oBAAoB;YAC5F,mBAAmB,EAAE,MAAM,EAAE,mBAAmB,IAAI,qBAAqB,CAAC,oBAAoB;
|
|
1
|
+
{"version":3,"file":"crewly-agent-runtime.service.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,12 @@
|
|
|
5
5
|
* runtimes. Provides the same interface as PTY terminal capture so the
|
|
6
6
|
* frontend Side Terminal panel can display crewly-agent activity.
|
|
7
7
|
*
|
|
8
|
+
* Extends EventEmitter to support real-time WebSocket streaming of log entries
|
|
9
|
+
* to the frontend Side Terminal panel.
|
|
10
|
+
*
|
|
8
11
|
* @module services/agent/crewly-agent/in-process-log-buffer
|
|
9
12
|
*/
|
|
13
|
+
import { EventEmitter } from 'events';
|
|
10
14
|
/**
|
|
11
15
|
* Single log entry from an in-process agent session.
|
|
12
16
|
*/
|
|
@@ -25,14 +29,22 @@ export interface LogEntry {
|
|
|
25
29
|
* and errors. The terminal controller reads from this buffer when
|
|
26
30
|
* the requested session is an in-process agent (no PTY).
|
|
27
31
|
*
|
|
32
|
+
* Emits 'data' events with (sessionName, formattedLine) when new entries
|
|
33
|
+
* are appended, enabling real-time WebSocket streaming via TerminalGateway.
|
|
34
|
+
*
|
|
28
35
|
* @example
|
|
29
36
|
* ```typescript
|
|
30
37
|
* const buffer = InProcessLogBuffer.getInstance();
|
|
31
38
|
* buffer.append('crewly-assistant', 'info', 'Calling get_team_status tool...');
|
|
32
39
|
* const output = buffer.capture('crewly-assistant', 50);
|
|
40
|
+
*
|
|
41
|
+
* // Real-time streaming
|
|
42
|
+
* buffer.on('data', (sessionName, formattedLine) => {
|
|
43
|
+
* console.log(`[${sessionName}] ${formattedLine}`);
|
|
44
|
+
* });
|
|
33
45
|
* ```
|
|
34
46
|
*/
|
|
35
|
-
export declare class InProcessLogBuffer {
|
|
47
|
+
export declare class InProcessLogBuffer extends EventEmitter {
|
|
36
48
|
private static instance;
|
|
37
49
|
private sessions;
|
|
38
50
|
/**
|
|
@@ -45,9 +57,19 @@ export declare class InProcessLogBuffer {
|
|
|
45
57
|
* Reset the singleton (for testing).
|
|
46
58
|
*/
|
|
47
59
|
static resetInstance(): void;
|
|
60
|
+
/**
|
|
61
|
+
* Format a log entry into a single display line.
|
|
62
|
+
*
|
|
63
|
+
* @param entry - The log entry to format
|
|
64
|
+
* @returns Formatted string like "[HH:MM:SS.mmm] ERROR: message"
|
|
65
|
+
*/
|
|
66
|
+
private formatEntry;
|
|
48
67
|
/**
|
|
49
68
|
* Append a log entry for a session.
|
|
50
69
|
*
|
|
70
|
+
* Emits a 'data' event with the session name and formatted line for
|
|
71
|
+
* real-time WebSocket streaming.
|
|
72
|
+
*
|
|
51
73
|
* @param sessionName - In-process agent session name
|
|
52
74
|
* @param level - Log level
|
|
53
75
|
* @param message - Log message text
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-process-log-buffer.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/in-process-log-buffer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"in-process-log-buffer.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/in-process-log-buffer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,oBAAoB;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB;IAChB,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAC;IAC3C,kBAAkB;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAKD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBAAa,kBAAmB,SAAQ,YAAY;IAClD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAmC;IAC1D,OAAO,CAAC,QAAQ,CAAiC;IAEjD;;;;OAIG;IACH,MAAM,CAAC,WAAW,IAAI,kBAAkB;IAOxC;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAO5B;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAMnB;;;;;;;;;OASG;IACH,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAqB5E;;;;;OAKG;IACH,UAAU,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO;IAIxC;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,SAAM,GAAG,MAAM;IASjD;;;;OAIG;IACH,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAM1C;;;;OAIG;IACH,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAIxC;;;;OAIG;IACH,eAAe,IAAI,MAAM,EAAE;IAI3B;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd"}
|
|
@@ -5,8 +5,12 @@
|
|
|
5
5
|
* runtimes. Provides the same interface as PTY terminal capture so the
|
|
6
6
|
* frontend Side Terminal panel can display crewly-agent activity.
|
|
7
7
|
*
|
|
8
|
+
* Extends EventEmitter to support real-time WebSocket streaming of log entries
|
|
9
|
+
* to the frontend Side Terminal panel.
|
|
10
|
+
*
|
|
8
11
|
* @module services/agent/crewly-agent/in-process-log-buffer
|
|
9
12
|
*/
|
|
13
|
+
import { EventEmitter } from 'events';
|
|
10
14
|
/** Maximum number of entries to keep per session */
|
|
11
15
|
const MAX_ENTRIES_PER_SESSION = 500;
|
|
12
16
|
/**
|
|
@@ -16,14 +20,22 @@ const MAX_ENTRIES_PER_SESSION = 500;
|
|
|
16
20
|
* and errors. The terminal controller reads from this buffer when
|
|
17
21
|
* the requested session is an in-process agent (no PTY).
|
|
18
22
|
*
|
|
23
|
+
* Emits 'data' events with (sessionName, formattedLine) when new entries
|
|
24
|
+
* are appended, enabling real-time WebSocket streaming via TerminalGateway.
|
|
25
|
+
*
|
|
19
26
|
* @example
|
|
20
27
|
* ```typescript
|
|
21
28
|
* const buffer = InProcessLogBuffer.getInstance();
|
|
22
29
|
* buffer.append('crewly-assistant', 'info', 'Calling get_team_status tool...');
|
|
23
30
|
* const output = buffer.capture('crewly-assistant', 50);
|
|
31
|
+
*
|
|
32
|
+
* // Real-time streaming
|
|
33
|
+
* buffer.on('data', (sessionName, formattedLine) => {
|
|
34
|
+
* console.log(`[${sessionName}] ${formattedLine}`);
|
|
35
|
+
* });
|
|
24
36
|
* ```
|
|
25
37
|
*/
|
|
26
|
-
export class InProcessLogBuffer {
|
|
38
|
+
export class InProcessLogBuffer extends EventEmitter {
|
|
27
39
|
static instance = null;
|
|
28
40
|
sessions = new Map();
|
|
29
41
|
/**
|
|
@@ -41,11 +53,28 @@ export class InProcessLogBuffer {
|
|
|
41
53
|
* Reset the singleton (for testing).
|
|
42
54
|
*/
|
|
43
55
|
static resetInstance() {
|
|
56
|
+
if (InProcessLogBuffer.instance) {
|
|
57
|
+
InProcessLogBuffer.instance.removeAllListeners();
|
|
58
|
+
}
|
|
44
59
|
InProcessLogBuffer.instance = null;
|
|
45
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Format a log entry into a single display line.
|
|
63
|
+
*
|
|
64
|
+
* @param entry - The log entry to format
|
|
65
|
+
* @returns Formatted string like "[HH:MM:SS.mmm] ERROR: message"
|
|
66
|
+
*/
|
|
67
|
+
formatEntry(entry) {
|
|
68
|
+
const ts = entry.timestamp.substring(11, 23); // HH:MM:SS.mmm
|
|
69
|
+
const prefix = entry.level === 'error' ? 'ERROR' : entry.level === 'warn' ? 'WARN' : entry.level === 'debug' ? 'DEBUG' : '';
|
|
70
|
+
return prefix ? `[${ts}] ${prefix}: ${entry.message}` : `[${ts}] ${entry.message}`;
|
|
71
|
+
}
|
|
46
72
|
/**
|
|
47
73
|
* Append a log entry for a session.
|
|
48
74
|
*
|
|
75
|
+
* Emits a 'data' event with the session name and formatted line for
|
|
76
|
+
* real-time WebSocket streaming.
|
|
77
|
+
*
|
|
49
78
|
* @param sessionName - In-process agent session name
|
|
50
79
|
* @param level - Log level
|
|
51
80
|
* @param message - Log message text
|
|
@@ -55,15 +84,19 @@ export class InProcessLogBuffer {
|
|
|
55
84
|
this.sessions.set(sessionName, []);
|
|
56
85
|
}
|
|
57
86
|
const entries = this.sessions.get(sessionName);
|
|
58
|
-
|
|
87
|
+
const entry = {
|
|
59
88
|
timestamp: new Date().toISOString(),
|
|
60
89
|
level,
|
|
61
90
|
message,
|
|
62
|
-
}
|
|
91
|
+
};
|
|
92
|
+
entries.push(entry);
|
|
63
93
|
// Ring buffer — drop oldest entries
|
|
64
94
|
if (entries.length > MAX_ENTRIES_PER_SESSION) {
|
|
65
95
|
entries.splice(0, entries.length - MAX_ENTRIES_PER_SESSION);
|
|
66
96
|
}
|
|
97
|
+
// Emit for real-time WebSocket streaming
|
|
98
|
+
const formattedLine = this.formatEntry(entry);
|
|
99
|
+
this.emit('data', sessionName, formattedLine);
|
|
67
100
|
}
|
|
68
101
|
/**
|
|
69
102
|
* Check if a session has any log entries.
|
|
@@ -88,11 +121,7 @@ export class InProcessLogBuffer {
|
|
|
88
121
|
return '[crewly-agent] No output yet';
|
|
89
122
|
}
|
|
90
123
|
const slice = entries.slice(-lines);
|
|
91
|
-
return slice.map(e =>
|
|
92
|
-
const ts = e.timestamp.substring(11, 23); // HH:MM:SS.mmm
|
|
93
|
-
const prefix = e.level === 'error' ? 'ERROR' : e.level === 'warn' ? 'WARN' : e.level === 'debug' ? 'DEBUG' : '';
|
|
94
|
-
return prefix ? `[${ts}] ${prefix}: ${e.message}` : `[${ts}] ${e.message}`;
|
|
95
|
-
}).join('\n');
|
|
124
|
+
return slice.map(e => this.formatEntry(e)).join('\n');
|
|
96
125
|
}
|
|
97
126
|
/**
|
|
98
127
|
* Register a session (creates empty entry list).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"in-process-log-buffer.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/in-process-log-buffer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"in-process-log-buffer.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/in-process-log-buffer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-manager.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/model-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAyB,MAAM,YAAY,CAAC;AAIzF;;;;;;;;;;;GAWG;AACH,qBAAa,YAAY;IACvB,8DAA8D;IAC9D,OAAO,CAAC,aAAa,CAAgE;IAErF;;;;;;;;;OASG;IACG,QAAQ,CAAC,MAAM,GAAE,WAAiD,GAAG,OAAO,CAAC,aAAa,CAAC;IAQjG;;;;;OAKG;YACW,mBAAmB;IA8BjC;;;;OAIG;IACG,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAiBtE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAIvC;;;;;OAKG;YACW,iBAAiB;
|
|
1
|
+
{"version":3,"file":"model-manager.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/model-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,aAAa,EAAyB,MAAM,YAAY,CAAC;AAIzF;;;;;;;;;;;GAWG;AACH,qBAAa,YAAY;IACvB,8DAA8D;IAC9D,OAAO,CAAC,aAAa,CAAgE;IAErF;;;;;;;;;OASG;IACG,QAAQ,CAAC,MAAM,GAAE,WAAiD,GAAG,OAAO,CAAC,aAAa,CAAC;IAQjG;;;;;OAKG;YACW,mBAAmB;IA8BjC;;;;OAIG;IACG,qBAAqB,IAAI,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IAiBtE;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;IAIvC;;;;;OAKG;YACW,iBAAiB;IAsB/B;;OAEG;IACH,UAAU,IAAI,IAAI;CAGnB"}
|
|
@@ -114,19 +114,17 @@ export class ModelManager {
|
|
|
114
114
|
const key = await settingsService.getApiKey(apiKeyProvider, { runtime: 'crewly-agent' });
|
|
115
115
|
if (!key)
|
|
116
116
|
return;
|
|
117
|
-
// Set env vars so the provider SDKs can find them
|
|
117
|
+
// Set env vars so the provider SDKs can find them.
|
|
118
|
+
// Always override — settings keys take priority over stale env vars.
|
|
118
119
|
switch (provider) {
|
|
119
120
|
case 'anthropic':
|
|
120
|
-
|
|
121
|
-
process.env.ANTHROPIC_API_KEY = key;
|
|
121
|
+
process.env.ANTHROPIC_API_KEY = key;
|
|
122
122
|
break;
|
|
123
123
|
case 'openai':
|
|
124
|
-
|
|
125
|
-
process.env.OPENAI_API_KEY = key;
|
|
124
|
+
process.env.OPENAI_API_KEY = key;
|
|
126
125
|
break;
|
|
127
126
|
case 'google':
|
|
128
|
-
|
|
129
|
-
process.env.GOOGLE_GENERATIVE_AI_API_KEY = key;
|
|
127
|
+
process.env.GOOGLE_GENERATIVE_AI_API_KEY = key;
|
|
130
128
|
break;
|
|
131
129
|
}
|
|
132
130
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model-manager.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/model-manager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"model-manager.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/model-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,18 +8,26 @@
|
|
|
8
8
|
* @module services/agent/crewly-agent/tool-registry
|
|
9
9
|
*/
|
|
10
10
|
import type { CrewlyApiClient } from './api-client.js';
|
|
11
|
-
import type { ToolDefinition } from './types.js';
|
|
11
|
+
import type { ToolDefinition, ToolCallbacks, ToolSensitivity } from './types.js';
|
|
12
|
+
/**
|
|
13
|
+
* Sensitivity classification for each tool.
|
|
14
|
+
* Used by the audit trail to classify tool invocations.
|
|
15
|
+
*/
|
|
16
|
+
export declare const TOOL_SENSITIVITY: Record<string, ToolSensitivity>;
|
|
12
17
|
/**
|
|
13
18
|
* Create the complete set of AI SDK tools for the Crewly Agent.
|
|
14
19
|
*
|
|
15
20
|
* Each tool's execute function calls the Crewly REST API directly
|
|
16
21
|
* via the provided API client, bypassing the bash script layer.
|
|
22
|
+
* Tools are wrapped with audit logging when callbacks are provided.
|
|
17
23
|
*
|
|
18
24
|
* @param client - API client instance for making REST calls
|
|
19
25
|
* @param sessionName - Agent session name for identity context
|
|
26
|
+
* @param projectPath - Optional project path for auto-injection
|
|
27
|
+
* @param callbacks - Optional callbacks for compaction and audit logging
|
|
20
28
|
* @returns Object of named tools ready to pass to generateText
|
|
21
29
|
*/
|
|
22
|
-
export declare function createTools(client: CrewlyApiClient, sessionName: string): Record<string, ToolDefinition>;
|
|
30
|
+
export declare function createTools(client: CrewlyApiClient, sessionName: string, projectPath?: string, callbacks?: ToolCallbacks): Record<string, ToolDefinition>;
|
|
23
31
|
/**
|
|
24
32
|
* Get the list of tool names available in the registry.
|
|
25
33
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/tool-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"tool-registry.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/tool-registry.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAmC,MAAM,YAAY,CAAC;AAmBlH;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CA8B5D,CAAC;AA0HF;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CA+lBzJ;AA2BD;;;;GAIG;AACH,wBAAgB,YAAY,IAAI,MAAM,EAAE,CAUvC"}
|