crewly 1.5.9 → 1.5.10
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/config/skills/agent/browse-stealth/execute.sh +7 -7
- package/config/skills/agent/competitor-content-tracker/execute.sh +13 -13
- package/config/skills/agent/content-calendar/execute.sh +29 -29
- package/config/skills/agent/content-repurposer/execute.sh +8 -8
- package/config/skills/agent/content-writer/execute.sh +22 -22
- package/config/skills/agent/core/block-task/execute.sh +5 -5
- package/config/skills/agent/core/check-quality-gates/execute.sh +5 -5
- package/config/skills/agent/core/complete-task/execute.sh +13 -13
- package/config/skills/agent/core/generate-pdf/execute.sh +4 -4
- package/config/skills/agent/core/get-sops/execute.sh +4 -4
- package/config/skills/agent/core/get-team-norms/execute.sh +4 -4
- package/config/skills/agent/core/handoff-task/execute.sh +8 -8
- package/config/skills/agent/core/manage-knowledge/execute.sh +14 -14
- package/config/skills/agent/core/marketplace-search/execute.sh +6 -6
- package/config/skills/agent/core/query-knowledge/execute.sh +5 -5
- package/config/skills/agent/core/read-task/execute.sh +2 -2
- package/config/skills/agent/core/report-progress/execute.sh +5 -5
- package/config/skills/agent/core/report-status/execute.sh +2 -2
- package/config/skills/agent/core/save-working-state/execute.sh +5 -5
- package/config/skills/agent/core/schedule-check/execute.sh +9 -9
- package/config/skills/agent/core/send-chat-response/execute.sh +5 -5
- package/config/skills/agent/core/update-team-norm/execute.sh +9 -9
- package/config/skills/agent/core/update-user-profile/execute.sh +2 -2
- package/config/skills/agent/marketing/brand-onboarding/execute.sh +8 -8
- package/config/skills/agent/marketing/submit-for-approval/execute.sh +10 -10
- package/config/skills/agent/marketing/weekly-content-planning/execute.sh +8 -8
- package/config/skills/agent/marketing/weekly-marketing-report/execute.sh +5 -5
- package/config/skills/agent/trend-monitor/execute.sh +12 -12
- package/config/skills/auditor/score-task/execute.sh +4 -4
- package/config/skills/orchestrator/assign-task/execute.sh +1 -1
- package/config/skills/orchestrator/assign-team-to-project/execute.sh +2 -2
- package/config/skills/orchestrator/broadcast/execute.sh +2 -2
- package/config/skills/orchestrator/broadcast-to-org/execute.sh +3 -3
- package/config/skills/orchestrator/cancel-all-schedules/execute.sh +3 -3
- package/config/skills/orchestrator/cancel-cron/execute.sh +2 -2
- package/config/skills/orchestrator/cancel-schedule/execute.sh +2 -2
- package/config/skills/orchestrator/complete-task/execute.sh +1 -1
- package/config/skills/orchestrator/create-cron/execute.sh +6 -6
- package/config/skills/orchestrator/create-project/execute.sh +2 -2
- package/config/skills/orchestrator/create-team/execute.sh +2 -2
- package/config/skills/orchestrator/get-agent-logs/execute.sh +3 -3
- package/config/skills/orchestrator/get-agent-status/execute.sh +2 -2
- package/config/skills/orchestrator/get-tasks/execute.sh +2 -2
- package/config/skills/orchestrator/handle-agent-failure/execute.sh +7 -7
- package/config/skills/orchestrator/list-cron/execute.sh +3 -3
- package/config/skills/orchestrator/list-schedules/execute.sh +2 -2
- package/config/skills/orchestrator/query-knowledge/execute.sh +5 -5
- package/config/skills/orchestrator/read-session-logs/execute.sh +3 -3
- package/config/skills/orchestrator/read-system-logs/execute.sh +3 -3
- package/config/skills/orchestrator/recall/execute.sh +2 -2
- package/config/skills/orchestrator/record-failure/execute.sh +2 -2
- package/config/skills/orchestrator/record-learning/execute.sh +2 -2
- package/config/skills/orchestrator/record-success/execute.sh +2 -2
- package/config/skills/orchestrator/register-self/execute.sh +4 -4
- package/config/skills/orchestrator/remember/execute.sh +3 -3
- package/config/skills/orchestrator/report-bug/execute.sh +5 -5
- package/config/skills/orchestrator/resume-session/execute.sh +2 -2
- package/config/skills/orchestrator/schedule-check/execute.sh +10 -10
- package/config/skills/orchestrator/send-key/execute.sh +6 -6
- package/config/skills/orchestrator/set-goal/execute.sh +2 -2
- package/config/skills/orchestrator/start-agent/execute.sh +3 -3
- package/config/skills/orchestrator/start-team/execute.sh +2 -2
- package/config/skills/orchestrator/stop-agent/execute.sh +3 -3
- package/config/skills/orchestrator/stop-team/execute.sh +2 -2
- package/config/skills/orchestrator/subscribe-event/execute.sh +3 -3
- package/config/skills/orchestrator/terminate-agent/execute.sh +2 -2
- package/config/skills/orchestrator/unsubscribe-event/execute.sh +2 -2
- package/config/skills/orchestrator/update-cron/execute.sh +3 -3
- package/config/skills/orchestrator/update-focus/execute.sh +2 -2
- package/config/skills/orchestrator/update-team/execute.sh +3 -3
- package/config/skills/team-leader/aggregate-results/execute.sh +7 -7
- package/config/skills/team-leader/decompose-goal/execute.sh +5 -5
- package/config/skills/team-leader/handle-failure/execute.sh +10 -10
- package/config/skills/team-leader/schedule-check/execute.sh +9 -9
- package/config/skills/team-leader/start-agent/execute.sh +4 -4
- package/config/skills/team-leader/stop-agent/execute.sh +4 -4
- package/config/skills/team-leader/verify-output/execute.sh +8 -8
- package/config/templates/cloud-deploy.json +119 -0
- package/config/templates/dev-fullstack/template.json +64 -17
- package/config/templates/research-analysis/template.json +44 -15
- package/config/templates/social-media-ops/template.json +43 -15
- package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.d.ts +31 -0
- package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.js +94 -0
- package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.js.map +1 -0
- package/dist/backend/backend/src/controllers/agent-stream/agent-stream.routes.d.ts +19 -0
- package/dist/backend/backend/src/controllers/agent-stream/agent-stream.routes.d.ts.map +1 -0
- package/dist/backend/backend/src/controllers/agent-stream/agent-stream.routes.js +25 -0
- package/dist/backend/backend/src/controllers/agent-stream/agent-stream.routes.js.map +1 -0
- package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts +11 -3
- package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/browser/browser.controller.js +56 -26
- package/dist/backend/backend/src/controllers/browser/browser.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/browser/browser.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/browser/browser.routes.js +3 -1
- package/dist/backend/backend/src/controllers/browser/browser.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts +16 -0
- package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.controller.js +39 -2
- package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/chat/chat.routes.js +3 -1
- package/dist/backend/backend/src/controllers/chat/chat.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts +15 -0
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.js +45 -0
- package/dist/backend/backend/src/controllers/cloud/cloud.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.routes.d.ts +1 -0
- package/dist/backend/backend/src/controllers/cloud/cloud.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.routes.js +3 -1
- package/dist/backend/backend/src/controllers/cloud/cloud.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/index.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/index.js +2 -0
- package/dist/backend/backend/src/controllers/index.js.map +1 -1
- package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.d.ts +15 -0
- package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.js +35 -1
- package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.js +2 -1
- package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/monitoring.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/monitoring.routes.js +7 -1
- package/dist/backend/backend/src/controllers/monitoring/monitoring.routes.js.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/token-usage.controller.d.ts +29 -0
- package/dist/backend/backend/src/controllers/monitoring/token-usage.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/monitoring/token-usage.controller.js +76 -0
- package/dist/backend/backend/src/controllers/monitoring/token-usage.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/project/project.controller.d.ts +16 -0
- package/dist/backend/backend/src/controllers/project/project.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/project/project.controller.js +47 -0
- package/dist/backend/backend/src/controllers/project/project.controller.js.map +1 -1
- package/dist/backend/backend/src/controllers/project/project.routes.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/project/project.routes.js +3 -1
- package/dist/backend/backend/src/controllers/project/project.routes.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 +34 -3
- package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +18 -4
- package/dist/backend/backend/src/index.js.map +1 -1
- 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 +25 -0
- 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 +2 -0
- 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 +19 -0
- 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/agent-stream.service.d.ts +145 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-stream.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-stream.service.js +133 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/agent-stream.service.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.d.ts +130 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.js +263 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.js.map +1 -0
- 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 +8 -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/env-isolation.service.d.ts +79 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.js +218 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.d.ts +91 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.js +143 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.d.ts +103 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.js +256 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.js.map +1 -0
- package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts +44 -0
- 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 +323 -1
- 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 +21 -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/browser/browser-bridge.service.d.ts +4 -1
- package/dist/backend/backend/src/services/browser/browser-bridge.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/browser/browser-bridge.service.js +26 -11
- package/dist/backend/backend/src/services/browser/browser-bridge.service.js.map +1 -1
- package/dist/backend/backend/src/services/chat/chat-highlights.service.d.ts +100 -0
- package/dist/backend/backend/src/services/chat/chat-highlights.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/chat/chat-highlights.service.js +145 -0
- package/dist/backend/backend/src/services/chat/chat-highlights.service.js.map +1 -0
- package/dist/backend/backend/src/services/chat/chat-sanitizer.service.d.ts +76 -0
- package/dist/backend/backend/src/services/chat/chat-sanitizer.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/chat/chat-sanitizer.service.js +127 -0
- package/dist/backend/backend/src/services/chat/chat-sanitizer.service.js.map +1 -0
- package/dist/backend/backend/src/services/chat/chat.service.d.ts +8 -0
- package/dist/backend/backend/src/services/chat/chat.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/chat/chat.service.js +27 -1
- package/dist/backend/backend/src/services/chat/chat.service.js.map +1 -1
- package/dist/backend/backend/src/services/marketplace/index.d.ts +1 -1
- package/dist/backend/backend/src/services/marketplace/index.d.ts.map +1 -1
- package/dist/backend/backend/src/services/marketplace/index.js +1 -1
- package/dist/backend/backend/src/services/marketplace/index.js.map +1 -1
- package/dist/backend/backend/src/services/marketplace/marketplace.service.d.ts +11 -0
- package/dist/backend/backend/src/services/marketplace/marketplace.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/marketplace/marketplace.service.js +31 -0
- package/dist/backend/backend/src/services/marketplace/marketplace.service.js.map +1 -1
- package/dist/backend/backend/src/services/monitoring/token-estimator.service.d.ts +197 -0
- package/dist/backend/backend/src/services/monitoring/token-estimator.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/monitoring/token-estimator.service.js +408 -0
- package/dist/backend/backend/src/services/monitoring/token-estimator.service.js.map +1 -0
- package/dist/backend/backend/src/services/project/project-search.service.d.ts +62 -0
- package/dist/backend/backend/src/services/project/project-search.service.d.ts.map +1 -0
- package/dist/backend/backend/src/services/project/project-search.service.js +107 -0
- package/dist/backend/backend/src/services/project/project-search.service.js.map +1 -0
- package/dist/backend/backend/src/services/quality/quality-gate.service.d.ts +11 -0
- package/dist/backend/backend/src/services/quality/quality-gate.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/quality/quality-gate.service.js +93 -19
- package/dist/backend/backend/src/services/quality/quality-gate.service.js.map +1 -1
- package/dist/backend/backend/src/types/settings.types.d.ts +3 -0
- package/dist/backend/backend/src/types/settings.types.d.ts.map +1 -1
- package/dist/backend/backend/src/types/settings.types.js +1 -0
- package/dist/backend/backend/src/types/settings.types.js.map +1 -1
- package/dist/cli/backend/src/types/settings.types.d.ts +3 -0
- package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -1
- package/dist/cli/backend/src/types/settings.types.js +1 -0
- package/dist/cli/backend/src/types/settings.types.js.map +1 -1
- package/dist/cli/cli/src/commands/stop.d.ts.map +1 -1
- package/dist/cli/cli/src/commands/stop.js +3 -0
- package/dist/cli/cli/src/commands/stop.js.map +1 -1
- package/dist/cli/cli/src/utils/license-check.d.ts +70 -0
- package/dist/cli/cli/src/utils/license-check.d.ts.map +1 -0
- package/dist/cli/cli/src/utils/license-check.js +124 -0
- package/dist/cli/cli/src/utils/license-check.js.map +1 -0
- package/dist/cli/cli/src/utils/process-cleanup.d.ts +9 -0
- package/dist/cli/cli/src/utils/process-cleanup.d.ts.map +1 -1
- package/dist/cli/cli/src/utils/process-cleanup.js +48 -0
- package/dist/cli/cli/src/utils/process-cleanup.js.map +1 -1
- package/frontend/dist/assets/{index-27a2c65e.js → index-76782e9e.js} +355 -355
- package/frontend/dist/assets/index-b19b2478.css +33 -0
- package/frontend/dist/index.html +2 -2
- package/package.json +1 -1
- package/frontend/dist/assets/index-dc6ac165.css +0 -33
|
@@ -287,6 +287,20 @@ export interface AuditLogFilters {
|
|
|
287
287
|
/** Filter by specific tool name */
|
|
288
288
|
toolName?: string;
|
|
289
289
|
}
|
|
290
|
+
/**
|
|
291
|
+
* Configuration for API key security guardrails.
|
|
292
|
+
* Controls output filtering, environment isolation, and prompt protection.
|
|
293
|
+
*/
|
|
294
|
+
export interface SecurityGuardrailConfig {
|
|
295
|
+
/** Enable output filtering (redact API keys from agent responses) */
|
|
296
|
+
outputFilterEnabled: boolean;
|
|
297
|
+
/** Enable environment isolation (strip secrets from bash child processes) */
|
|
298
|
+
envIsolationEnabled: boolean;
|
|
299
|
+
/** Enable prompt guard (block key extraction commands and prompt injections) */
|
|
300
|
+
promptGuardEnabled: boolean;
|
|
301
|
+
/** Additional env vars to explicitly allow in child processes */
|
|
302
|
+
explicitEnvVars: string[];
|
|
303
|
+
}
|
|
290
304
|
/**
|
|
291
305
|
* Default configuration values for Crewly Agent
|
|
292
306
|
*/
|
|
@@ -338,6 +352,13 @@ export declare const CREWLY_AGENT_DEFAULTS: {
|
|
|
338
352
|
maxAuditEntries: number;
|
|
339
353
|
readOnlyMode: false;
|
|
340
354
|
};
|
|
355
|
+
/** Default security guardrail configuration */
|
|
356
|
+
readonly SECURITY_GUARDRAILS: {
|
|
357
|
+
outputFilterEnabled: true;
|
|
358
|
+
envIsolationEnabled: true;
|
|
359
|
+
promptGuardEnabled: true;
|
|
360
|
+
explicitEnvVars: never[];
|
|
361
|
+
};
|
|
341
362
|
};
|
|
342
363
|
/**
|
|
343
364
|
* Type guard to check if a string is a valid ModelProvider
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -107,6 +107,13 @@ export const CREWLY_AGENT_DEFAULTS = {
|
|
|
107
107
|
maxAuditEntries: 500,
|
|
108
108
|
readOnlyMode: false,
|
|
109
109
|
},
|
|
110
|
+
/** Default security guardrail configuration */
|
|
111
|
+
SECURITY_GUARDRAILS: {
|
|
112
|
+
outputFilterEnabled: true,
|
|
113
|
+
envIsolationEnabled: true,
|
|
114
|
+
promptGuardEnabled: true,
|
|
115
|
+
explicitEnvVars: [],
|
|
116
|
+
},
|
|
110
117
|
};
|
|
111
118
|
/**
|
|
112
119
|
* Type guard to check if a string is a valid ModelProvider
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAYH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAA6B;IACvD,WAAW;IACX,QAAQ;IACR,QAAQ;IACR,QAAQ;CACA,CAAC;AA6LX;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAsB;IAC5C,WAAW;IACX,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,sBAAsB;IACtB,eAAe;IACf,cAAc;IACd,aAAa;IACb,WAAW;IACX,gBAAgB;IAChB,iBAAiB;IACjB,eAAe;IACf,eAAe;IACf,UAAU;IACV,eAAe;CACP,CAAC;AAuBX;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAA2B;IAC3D,YAAY;IACZ,wBAAwB,EAAE,OAAO;IACjC,0BAA0B,EAAE,OAAO;IACnC,yBAAyB,EAAE,OAAO;IAClC,SAAS;IACT,kBAAkB,EAAE,SAAS;IAC7B,gCAAgC,EAAE,SAAS;IAC3C,wBAAwB,EAAE,SAAS;IACnC,SAAS;IACT,QAAQ,EAAE,OAAO;IACjB,aAAa,EAAE,OAAO;IACtB,aAAa,EAAE,OAAO;IACtB,WAAW;IACX,OAAO,EAAE,OAAO;CACR,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../../backend/src/services/agent/crewly-agent/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,8 @@ export interface BrowserCommand {
|
|
|
33
33
|
tool: string;
|
|
34
34
|
/** Parameters for the tool */
|
|
35
35
|
params?: Record<string, unknown>;
|
|
36
|
+
/** Name of the agent sending this command (displayed in extension banner) */
|
|
37
|
+
agentName?: string;
|
|
36
38
|
}
|
|
37
39
|
/** Response from Chrome Extension */
|
|
38
40
|
export interface BrowserCommandResponse {
|
|
@@ -104,10 +106,11 @@ export declare class BrowserBridgeService {
|
|
|
104
106
|
* @param tool - Tool name to execute (e.g., 'navigate', 'screenshot')
|
|
105
107
|
* @param params - Tool parameters
|
|
106
108
|
* @param timeoutMs - Command timeout in milliseconds
|
|
109
|
+
* @param agentName - Optional agent name to display in the extension banner
|
|
107
110
|
* @returns Response from the Chrome Extension
|
|
108
111
|
* @throws Error if no client is connected or command times out
|
|
109
112
|
*/
|
|
110
|
-
sendCommand(tool: string, params?: Record<string, unknown>, timeoutMs?: number): Promise<BrowserCommandResponse>;
|
|
113
|
+
sendCommand(tool: string, params?: Record<string, unknown>, timeoutMs?: number, agentName?: string): Promise<BrowserCommandResponse>;
|
|
111
114
|
/**
|
|
112
115
|
* Get the current bridge status.
|
|
113
116
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-bridge.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/browser/browser-bridge.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAmB,SAAS,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AAIjD,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAC7B,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,2BAA2B;IAC3B,EAAE,EAAE,SAAS,CAAC;IACd,+BAA+B;IAC/B,WAAW,EAAE,IAAI,CAAC;IAClB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAYD,qDAAqD;AACrD,MAAM,WAAW,cAAc;IAC9B,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"browser-bridge.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/browser/browser-bridge.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAmB,SAAS,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,KAAK,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AAIjD,qDAAqD;AACrD,MAAM,WAAW,aAAa;IAC7B,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,2BAA2B;IAC3B,EAAE,EAAE,SAAS,CAAC;IACd,+BAA+B;IAC/B,WAAW,EAAE,IAAI,CAAC;IAClB,4CAA4C;IAC5C,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAYD,qDAAqD;AACrD,MAAM,WAAW,cAAc;IAC9B,yDAAyD;IACzD,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,6EAA6E;IAC7E,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,qCAAqC;AACrC,MAAM,WAAW,sBAAsB;IACtC,sCAAsC;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,oCAAoC;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,6BAA6B;IAC7B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,kDAAkD;AAClD,MAAM,WAAW,mBAAmB;IACnC,yDAAyD;IACzD,SAAS,EAAE,OAAO,CAAC;IACnB,mDAAmD;IACnD,WAAW,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;;;;GAKG;AACH,qBAAa,oBAAoB;IAChC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAqC;IAC5D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IACzC,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,eAAe,CAA0C;IACjE,OAAO,CAAC,cAAc,CAAK;IAE3B,OAAO;IAIP;;;;OAIG;IACH,MAAM,CAAC,WAAW,IAAI,oBAAoB;IAO1C;;OAEG;IACH,MAAM,CAAC,aAAa,IAAI,IAAI;IAI5B;;;;;;;;;OASG;IACH,MAAM,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IA0FpC;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IA+BrB;;;;;;;;;;OAUG;IACG,WAAW,CAChB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,SAAS,GAAE,MAAoD,EAC/D,SAAS,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,sBAAsB,CAAC;IA8BlC;;;;OAIG;IACH,SAAS,IAAI,mBAAmB;IAQhC;;;;OAIG;IACH,WAAW,IAAI,OAAO;IAItB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACH,IAAI,IAAI,IAAI;CA0BZ"}
|
|
@@ -67,17 +67,28 @@ export class BrowserBridgeService {
|
|
|
67
67
|
noServer: true,
|
|
68
68
|
perMessageDeflate: false,
|
|
69
69
|
});
|
|
70
|
-
//
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
70
|
+
// Intercept 'upgrade' events for /ws/browser BEFORE Socket.IO sees them.
|
|
71
|
+
// Problem: Node EventEmitter has no stopPropagation — all 'upgrade' listeners
|
|
72
|
+
// fire for every request. Socket.IO's Engine.IO handler interferes with
|
|
73
|
+
// browser-bridge WebSocket connections (corrupts frames, sets RSV1 compression
|
|
74
|
+
// bits), causing "Invalid frame header" / "RSV1 must be clear" in the Extension.
|
|
75
|
+
// Fix: Override httpServer.emit to exclusively handle our path and skip all
|
|
76
|
+
// other listeners (including Engine.IO) for /ws/browser upgrades.
|
|
77
|
+
const originalEmit = httpServer.emit.bind(httpServer);
|
|
78
|
+
httpServer.emit = (event, ...args) => {
|
|
79
|
+
if (event === 'upgrade') {
|
|
80
|
+
const request = args[0];
|
|
81
|
+
const url = request.url || '';
|
|
82
|
+
const host = request.headers.host || 'localhost';
|
|
83
|
+
const pathname = new URL(url, `http://${host}`).pathname;
|
|
84
|
+
if (pathname === BROWSER_BRIDGE_CONSTANTS.WS_PATH) {
|
|
85
|
+
// Handle exclusively — no other upgrade listeners will fire
|
|
86
|
+
this.wss.handleUpgrade(args[0], args[1], args[2], (ws) => { this.wss.emit('connection', ws, args[0]); });
|
|
87
|
+
return true;
|
|
88
|
+
}
|
|
77
89
|
}
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
});
|
|
90
|
+
return originalEmit(event, ...args);
|
|
91
|
+
};
|
|
81
92
|
this.wss.on('connection', (ws, req) => {
|
|
82
93
|
const clientId = `ext-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
83
94
|
const userAgent = req.headers['user-agent'];
|
|
@@ -162,16 +173,20 @@ export class BrowserBridgeService {
|
|
|
162
173
|
* @param tool - Tool name to execute (e.g., 'navigate', 'screenshot')
|
|
163
174
|
* @param params - Tool parameters
|
|
164
175
|
* @param timeoutMs - Command timeout in milliseconds
|
|
176
|
+
* @param agentName - Optional agent name to display in the extension banner
|
|
165
177
|
* @returns Response from the Chrome Extension
|
|
166
178
|
* @throws Error if no client is connected or command times out
|
|
167
179
|
*/
|
|
168
|
-
async sendCommand(tool, params, timeoutMs = BROWSER_BRIDGE_CONSTANTS.COMMAND_TIMEOUT_MS) {
|
|
180
|
+
async sendCommand(tool, params, timeoutMs = BROWSER_BRIDGE_CONSTANTS.COMMAND_TIMEOUT_MS, agentName) {
|
|
169
181
|
const client = this.getActiveClient();
|
|
170
182
|
if (!client) {
|
|
171
183
|
throw new Error('No Chrome Extension connected');
|
|
172
184
|
}
|
|
173
185
|
const id = `cmd-${++this.commandCounter}-${Date.now()}`;
|
|
174
186
|
const command = { id, tool, params };
|
|
187
|
+
if (agentName) {
|
|
188
|
+
command.agentName = agentName;
|
|
189
|
+
}
|
|
175
190
|
return new Promise((resolve, reject) => {
|
|
176
191
|
const timer = setTimeout(() => {
|
|
177
192
|
this.pendingCommands.delete(id);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-bridge.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/browser/browser-bridge.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAwB,MAAM,2BAA2B,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"browser-bridge.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/browser/browser-bridge.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chat Highlights Service
|
|
3
|
+
*
|
|
4
|
+
* Extracts important messages from chat conversations by scanning for
|
|
5
|
+
* keyword markers such as [DECISION], [QUESTION], [TL_REPORT], [BLOCKER],
|
|
6
|
+
* and task completion phrases. Provides a quick summary view of key
|
|
7
|
+
* conversation events.
|
|
8
|
+
*
|
|
9
|
+
* @module services/chat/chat-highlights.service
|
|
10
|
+
*/
|
|
11
|
+
/**
|
|
12
|
+
* Type of highlight extracted from a chat message
|
|
13
|
+
*/
|
|
14
|
+
export type ChatHighlightType = 'decision' | 'question' | 'task_completion' | 'tl_report' | 'blocker';
|
|
15
|
+
/**
|
|
16
|
+
* A highlighted chat message representing a key conversation event
|
|
17
|
+
*/
|
|
18
|
+
export interface ChatHighlight {
|
|
19
|
+
/** Unique identifier for the highlight */
|
|
20
|
+
id: string;
|
|
21
|
+
/** ISO timestamp of the original message */
|
|
22
|
+
timestamp: string;
|
|
23
|
+
/** Category of the highlight */
|
|
24
|
+
type: ChatHighlightType;
|
|
25
|
+
/** Summary content extracted from the message */
|
|
26
|
+
summary: string;
|
|
27
|
+
/** Name of the message author */
|
|
28
|
+
author: string;
|
|
29
|
+
/** ID of the conversation thread */
|
|
30
|
+
threadId: string;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Options for retrieving highlights
|
|
34
|
+
*/
|
|
35
|
+
export interface GetHighlightsOptions {
|
|
36
|
+
/** ISO timestamp to filter highlights after this time */
|
|
37
|
+
since?: string;
|
|
38
|
+
/** Maximum number of highlights to return (default: 20) */
|
|
39
|
+
limit?: number;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Service for extracting important highlights from chat conversations.
|
|
43
|
+
*
|
|
44
|
+
* Scans all active conversations for messages containing specific keyword
|
|
45
|
+
* markers and returns them as a sorted list of highlights, enabling users
|
|
46
|
+
* to quickly review key decisions, questions, blockers, and completions.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* const service = getChatHighlightsService();
|
|
51
|
+
* const highlights = await service.getHighlights({ limit: 10 });
|
|
52
|
+
* console.log(highlights); // [{ id, timestamp, type, summary, author, threadId }]
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export declare class ChatHighlightsService {
|
|
56
|
+
private readonly logger;
|
|
57
|
+
/**
|
|
58
|
+
* Create a new ChatHighlightsService instance
|
|
59
|
+
*/
|
|
60
|
+
constructor();
|
|
61
|
+
/**
|
|
62
|
+
* Retrieve highlights from all chat conversations.
|
|
63
|
+
*
|
|
64
|
+
* Iterates over all active conversations, fetches messages (optionally
|
|
65
|
+
* filtered by a `since` timestamp), and identifies messages containing
|
|
66
|
+
* highlight keywords. Results are sorted by timestamp descending (most
|
|
67
|
+
* recent first) and limited to the specified count.
|
|
68
|
+
*
|
|
69
|
+
* @param options - Filtering and pagination options
|
|
70
|
+
* @returns Array of chat highlights sorted by timestamp descending
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```typescript
|
|
74
|
+
* const highlights = await service.getHighlights({
|
|
75
|
+
* since: '2026-03-25T00:00:00.000Z',
|
|
76
|
+
* limit: 5,
|
|
77
|
+
* });
|
|
78
|
+
* ```
|
|
79
|
+
*/
|
|
80
|
+
getHighlights(options?: GetHighlightsOptions): Promise<ChatHighlight[]>;
|
|
81
|
+
/**
|
|
82
|
+
* Detect the highlight type from message content by matching against
|
|
83
|
+
* known keyword patterns.
|
|
84
|
+
*
|
|
85
|
+
* @param content - Message content to scan
|
|
86
|
+
* @returns The matched highlight type, or null if no pattern matches
|
|
87
|
+
*/
|
|
88
|
+
private detectHighlightType;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Get the singleton ChatHighlightsService instance
|
|
92
|
+
*
|
|
93
|
+
* @returns The ChatHighlightsService instance
|
|
94
|
+
*/
|
|
95
|
+
export declare function getChatHighlightsService(): ChatHighlightsService;
|
|
96
|
+
/**
|
|
97
|
+
* Reset the singleton instance (for testing)
|
|
98
|
+
*/
|
|
99
|
+
export declare function resetChatHighlightsService(): void;
|
|
100
|
+
//# sourceMappingURL=chat-highlights.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-highlights.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/chat/chat-highlights.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH;;GAEG;AACH,MAAM,MAAM,iBAAiB,GACzB,UAAU,GACV,UAAU,GACV,iBAAiB,GACjB,WAAW,GACX,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,0CAA0C;IAC1C,EAAE,EAAE,MAAM,CAAC;IAEX,4CAA4C;IAC5C,SAAS,EAAE,MAAM,CAAC;IAElB,gCAAgC;IAChC,IAAI,EAAE,iBAAiB,CAAC;IAExB,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAEhB,iCAAiC;IACjC,MAAM,EAAE,MAAM,CAAC;IAEf,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,yDAAyD;IACzD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,2DAA2D;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA8BD;;;;;;;;;;;;;GAaG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkB;IAEzC;;OAEG;;IAKH;;;;;;;;;;;;;;;;;;OAkBG;IACG,aAAa,CAAC,OAAO,GAAE,oBAAyB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAyCjF;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;CAQ5B;AAQD;;;;GAIG;AACH,wBAAgB,wBAAwB,IAAI,qBAAqB,CAKhE;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,IAAI,CAEjD"}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chat Highlights Service
|
|
3
|
+
*
|
|
4
|
+
* Extracts important messages from chat conversations by scanning for
|
|
5
|
+
* keyword markers such as [DECISION], [QUESTION], [TL_REPORT], [BLOCKER],
|
|
6
|
+
* and task completion phrases. Provides a quick summary view of key
|
|
7
|
+
* conversation events.
|
|
8
|
+
*
|
|
9
|
+
* @module services/chat/chat-highlights.service
|
|
10
|
+
*/
|
|
11
|
+
import { LoggerService } from '../core/logger.service.js';
|
|
12
|
+
import { getChatService } from '../../services/chat/chat.service.js';
|
|
13
|
+
// =============================================================================
|
|
14
|
+
// Constants
|
|
15
|
+
// =============================================================================
|
|
16
|
+
/** Default maximum number of highlights returned */
|
|
17
|
+
const DEFAULT_HIGHLIGHTS_LIMIT = 20;
|
|
18
|
+
/**
|
|
19
|
+
* Keyword patterns used to identify highlight-worthy messages.
|
|
20
|
+
* Each entry maps a regex pattern to the corresponding highlight type.
|
|
21
|
+
*/
|
|
22
|
+
const HIGHLIGHT_PATTERNS = [
|
|
23
|
+
{ pattern: /\[DECISION\]/i, type: 'decision' },
|
|
24
|
+
{ pattern: /\[QUESTION\]/i, type: 'question' },
|
|
25
|
+
{ pattern: /\[TL_REPORT\]/i, type: 'tl_report' },
|
|
26
|
+
{ pattern: /\[BLOCKER\]/i, type: 'blocker' },
|
|
27
|
+
{ pattern: /blocked on/i, type: 'blocker' },
|
|
28
|
+
{ pattern: /task completed/i, type: 'task_completion' },
|
|
29
|
+
{ pattern: /task done/i, type: 'task_completion' },
|
|
30
|
+
];
|
|
31
|
+
// =============================================================================
|
|
32
|
+
// Service
|
|
33
|
+
// =============================================================================
|
|
34
|
+
/**
|
|
35
|
+
* Service for extracting important highlights from chat conversations.
|
|
36
|
+
*
|
|
37
|
+
* Scans all active conversations for messages containing specific keyword
|
|
38
|
+
* markers and returns them as a sorted list of highlights, enabling users
|
|
39
|
+
* to quickly review key decisions, questions, blockers, and completions.
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```typescript
|
|
43
|
+
* const service = getChatHighlightsService();
|
|
44
|
+
* const highlights = await service.getHighlights({ limit: 10 });
|
|
45
|
+
* console.log(highlights); // [{ id, timestamp, type, summary, author, threadId }]
|
|
46
|
+
* ```
|
|
47
|
+
*/
|
|
48
|
+
export class ChatHighlightsService {
|
|
49
|
+
logger;
|
|
50
|
+
/**
|
|
51
|
+
* Create a new ChatHighlightsService instance
|
|
52
|
+
*/
|
|
53
|
+
constructor() {
|
|
54
|
+
this.logger = LoggerService.getInstance().createComponentLogger('ChatHighlightsService');
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Retrieve highlights from all chat conversations.
|
|
58
|
+
*
|
|
59
|
+
* Iterates over all active conversations, fetches messages (optionally
|
|
60
|
+
* filtered by a `since` timestamp), and identifies messages containing
|
|
61
|
+
* highlight keywords. Results are sorted by timestamp descending (most
|
|
62
|
+
* recent first) and limited to the specified count.
|
|
63
|
+
*
|
|
64
|
+
* @param options - Filtering and pagination options
|
|
65
|
+
* @returns Array of chat highlights sorted by timestamp descending
|
|
66
|
+
*
|
|
67
|
+
* @example
|
|
68
|
+
* ```typescript
|
|
69
|
+
* const highlights = await service.getHighlights({
|
|
70
|
+
* since: '2026-03-25T00:00:00.000Z',
|
|
71
|
+
* limit: 5,
|
|
72
|
+
* });
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
async getHighlights(options = {}) {
|
|
76
|
+
const { since, limit = DEFAULT_HIGHLIGHTS_LIMIT } = options;
|
|
77
|
+
const chatService = getChatService();
|
|
78
|
+
const conversations = await chatService.getConversations();
|
|
79
|
+
const highlights = [];
|
|
80
|
+
for (const conversation of conversations) {
|
|
81
|
+
const messages = await chatService.getMessages({
|
|
82
|
+
conversationId: conversation.id,
|
|
83
|
+
after: since,
|
|
84
|
+
});
|
|
85
|
+
for (const message of messages) {
|
|
86
|
+
const matchedType = this.detectHighlightType(message.content);
|
|
87
|
+
if (matchedType) {
|
|
88
|
+
highlights.push({
|
|
89
|
+
id: message.id,
|
|
90
|
+
timestamp: message.timestamp,
|
|
91
|
+
type: matchedType,
|
|
92
|
+
summary: message.content,
|
|
93
|
+
author: message.from.name ?? message.from.type,
|
|
94
|
+
threadId: conversation.id,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
// Sort by timestamp descending (most recent first)
|
|
100
|
+
highlights.sort((a, b) => b.timestamp.localeCompare(a.timestamp));
|
|
101
|
+
this.logger.debug('Extracted highlights', {
|
|
102
|
+
total: highlights.length,
|
|
103
|
+
returned: Math.min(highlights.length, limit),
|
|
104
|
+
since: since ?? 'all',
|
|
105
|
+
});
|
|
106
|
+
return highlights.slice(0, limit);
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Detect the highlight type from message content by matching against
|
|
110
|
+
* known keyword patterns.
|
|
111
|
+
*
|
|
112
|
+
* @param content - Message content to scan
|
|
113
|
+
* @returns The matched highlight type, or null if no pattern matches
|
|
114
|
+
*/
|
|
115
|
+
detectHighlightType(content) {
|
|
116
|
+
for (const { pattern, type } of HIGHLIGHT_PATTERNS) {
|
|
117
|
+
if (pattern.test(content)) {
|
|
118
|
+
return type;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
return null;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
// =============================================================================
|
|
125
|
+
// Singleton Instance
|
|
126
|
+
// =============================================================================
|
|
127
|
+
let chatHighlightsServiceInstance = null;
|
|
128
|
+
/**
|
|
129
|
+
* Get the singleton ChatHighlightsService instance
|
|
130
|
+
*
|
|
131
|
+
* @returns The ChatHighlightsService instance
|
|
132
|
+
*/
|
|
133
|
+
export function getChatHighlightsService() {
|
|
134
|
+
if (!chatHighlightsServiceInstance) {
|
|
135
|
+
chatHighlightsServiceInstance = new ChatHighlightsService();
|
|
136
|
+
}
|
|
137
|
+
return chatHighlightsServiceInstance;
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Reset the singleton instance (for testing)
|
|
141
|
+
*/
|
|
142
|
+
export function resetChatHighlightsService() {
|
|
143
|
+
chatHighlightsServiceInstance = null;
|
|
144
|
+
}
|
|
145
|
+
//# sourceMappingURL=chat-highlights.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-highlights.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/chat/chat-highlights.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Chat Sanitizer Service
|
|
3
|
+
*
|
|
4
|
+
* Masks sensitive metadata in chat messages before they are returned to
|
|
5
|
+
* the frontend. Detects and redacts JWT tokens, file system paths,
|
|
6
|
+
* API keys, and other secrets using pattern matching.
|
|
7
|
+
*
|
|
8
|
+
* @module services/chat/chat-sanitizer.service
|
|
9
|
+
*/
|
|
10
|
+
/**
|
|
11
|
+
* Result of a sanitization operation.
|
|
12
|
+
*/
|
|
13
|
+
export interface SanitizeResult {
|
|
14
|
+
/** The sanitized text with sensitive content masked */
|
|
15
|
+
sanitized: string;
|
|
16
|
+
/** Whether any content was actually masked */
|
|
17
|
+
wasMasked: boolean;
|
|
18
|
+
/** Names of the pattern types that matched (for logging/debugging) */
|
|
19
|
+
matchedPatterns: string[];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Sanitize a single text string by masking all detected sensitive content.
|
|
23
|
+
*
|
|
24
|
+
* Iterates through all known sensitive patterns and replaces matches with
|
|
25
|
+
* the mask placeholder. Returns a result object indicating whether any
|
|
26
|
+
* masking occurred and which pattern types matched.
|
|
27
|
+
*
|
|
28
|
+
* @param text - The text to sanitize
|
|
29
|
+
* @returns SanitizeResult with sanitized text, masking flag, and matched patterns
|
|
30
|
+
*
|
|
31
|
+
* @example
|
|
32
|
+
* ```typescript
|
|
33
|
+
* const result = sanitizeText('Token: eyJhbGciOi...');
|
|
34
|
+
* // result.sanitized === 'Token: ***'
|
|
35
|
+
* // result.wasMasked === true
|
|
36
|
+
* // result.matchedPatterns === ['jwt']
|
|
37
|
+
* ```
|
|
38
|
+
*/
|
|
39
|
+
export declare function sanitizeText(text: string): SanitizeResult;
|
|
40
|
+
/**
|
|
41
|
+
* Sanitize the metadata of a chat message object (shallow clone).
|
|
42
|
+
*
|
|
43
|
+
* Creates a shallow copy of the message and sanitizes:
|
|
44
|
+
* - message.content (the user-visible text)
|
|
45
|
+
* - message.metadata.rawOutput (if present — raw terminal output)
|
|
46
|
+
*
|
|
47
|
+
* Does NOT mutate the original message object.
|
|
48
|
+
*
|
|
49
|
+
* @param message - The chat message to sanitize (any object with content and optional metadata)
|
|
50
|
+
* @returns A new message object with sensitive fields masked
|
|
51
|
+
*
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* const clean = sanitizeMessage(rawMessage);
|
|
55
|
+
* // clean.content has secrets masked
|
|
56
|
+
* // clean.metadata.rawOutput has secrets masked
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
export declare function sanitizeMessage<T extends {
|
|
60
|
+
content: string;
|
|
61
|
+
metadata?: Record<string, unknown>;
|
|
62
|
+
}>(message: T): T;
|
|
63
|
+
/**
|
|
64
|
+
* Sanitize an array of chat messages.
|
|
65
|
+
*
|
|
66
|
+
* Convenience wrapper that applies sanitizeMessage to each message in the array.
|
|
67
|
+
* Returns a new array — does not mutate the originals.
|
|
68
|
+
*
|
|
69
|
+
* @param messages - Array of chat messages to sanitize
|
|
70
|
+
* @returns New array with all messages sanitized
|
|
71
|
+
*/
|
|
72
|
+
export declare function sanitizeMessages<T extends {
|
|
73
|
+
content: string;
|
|
74
|
+
metadata?: Record<string, unknown>;
|
|
75
|
+
}>(messages: T[]): T[];
|
|
76
|
+
//# sourceMappingURL=chat-sanitizer.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chat-sanitizer.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/chat/chat-sanitizer.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAgDH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,uDAAuD;IACvD,SAAS,EAAE,MAAM,CAAC;IAClB,8CAA8C;IAC9C,SAAS,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,CAuBzD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,eAAe,CAAC,CAAC,SAAS;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAC/F,OAAO,EAAE,CAAC,GACT,CAAC,CAgBH;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,SAAS;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAChG,QAAQ,EAAE,CAAC,EAAE,GACZ,CAAC,EAAE,CAEL"}
|