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.
Files changed (239) hide show
  1. package/config/skills/agent/browse-stealth/execute.sh +7 -7
  2. package/config/skills/agent/competitor-content-tracker/execute.sh +13 -13
  3. package/config/skills/agent/content-calendar/execute.sh +29 -29
  4. package/config/skills/agent/content-repurposer/execute.sh +8 -8
  5. package/config/skills/agent/content-writer/execute.sh +22 -22
  6. package/config/skills/agent/core/block-task/execute.sh +5 -5
  7. package/config/skills/agent/core/check-quality-gates/execute.sh +5 -5
  8. package/config/skills/agent/core/complete-task/execute.sh +13 -13
  9. package/config/skills/agent/core/generate-pdf/execute.sh +4 -4
  10. package/config/skills/agent/core/get-sops/execute.sh +4 -4
  11. package/config/skills/agent/core/get-team-norms/execute.sh +4 -4
  12. package/config/skills/agent/core/handoff-task/execute.sh +8 -8
  13. package/config/skills/agent/core/manage-knowledge/execute.sh +14 -14
  14. package/config/skills/agent/core/marketplace-search/execute.sh +6 -6
  15. package/config/skills/agent/core/query-knowledge/execute.sh +5 -5
  16. package/config/skills/agent/core/read-task/execute.sh +2 -2
  17. package/config/skills/agent/core/report-progress/execute.sh +5 -5
  18. package/config/skills/agent/core/report-status/execute.sh +2 -2
  19. package/config/skills/agent/core/save-working-state/execute.sh +5 -5
  20. package/config/skills/agent/core/schedule-check/execute.sh +9 -9
  21. package/config/skills/agent/core/send-chat-response/execute.sh +5 -5
  22. package/config/skills/agent/core/update-team-norm/execute.sh +9 -9
  23. package/config/skills/agent/core/update-user-profile/execute.sh +2 -2
  24. package/config/skills/agent/marketing/brand-onboarding/execute.sh +8 -8
  25. package/config/skills/agent/marketing/submit-for-approval/execute.sh +10 -10
  26. package/config/skills/agent/marketing/weekly-content-planning/execute.sh +8 -8
  27. package/config/skills/agent/marketing/weekly-marketing-report/execute.sh +5 -5
  28. package/config/skills/agent/trend-monitor/execute.sh +12 -12
  29. package/config/skills/auditor/score-task/execute.sh +4 -4
  30. package/config/skills/orchestrator/assign-task/execute.sh +1 -1
  31. package/config/skills/orchestrator/assign-team-to-project/execute.sh +2 -2
  32. package/config/skills/orchestrator/broadcast/execute.sh +2 -2
  33. package/config/skills/orchestrator/broadcast-to-org/execute.sh +3 -3
  34. package/config/skills/orchestrator/cancel-all-schedules/execute.sh +3 -3
  35. package/config/skills/orchestrator/cancel-cron/execute.sh +2 -2
  36. package/config/skills/orchestrator/cancel-schedule/execute.sh +2 -2
  37. package/config/skills/orchestrator/complete-task/execute.sh +1 -1
  38. package/config/skills/orchestrator/create-cron/execute.sh +6 -6
  39. package/config/skills/orchestrator/create-project/execute.sh +2 -2
  40. package/config/skills/orchestrator/create-team/execute.sh +2 -2
  41. package/config/skills/orchestrator/get-agent-logs/execute.sh +3 -3
  42. package/config/skills/orchestrator/get-agent-status/execute.sh +2 -2
  43. package/config/skills/orchestrator/get-tasks/execute.sh +2 -2
  44. package/config/skills/orchestrator/handle-agent-failure/execute.sh +7 -7
  45. package/config/skills/orchestrator/list-cron/execute.sh +3 -3
  46. package/config/skills/orchestrator/list-schedules/execute.sh +2 -2
  47. package/config/skills/orchestrator/query-knowledge/execute.sh +5 -5
  48. package/config/skills/orchestrator/read-session-logs/execute.sh +3 -3
  49. package/config/skills/orchestrator/read-system-logs/execute.sh +3 -3
  50. package/config/skills/orchestrator/recall/execute.sh +2 -2
  51. package/config/skills/orchestrator/record-failure/execute.sh +2 -2
  52. package/config/skills/orchestrator/record-learning/execute.sh +2 -2
  53. package/config/skills/orchestrator/record-success/execute.sh +2 -2
  54. package/config/skills/orchestrator/register-self/execute.sh +4 -4
  55. package/config/skills/orchestrator/remember/execute.sh +3 -3
  56. package/config/skills/orchestrator/report-bug/execute.sh +5 -5
  57. package/config/skills/orchestrator/resume-session/execute.sh +2 -2
  58. package/config/skills/orchestrator/schedule-check/execute.sh +10 -10
  59. package/config/skills/orchestrator/send-key/execute.sh +6 -6
  60. package/config/skills/orchestrator/set-goal/execute.sh +2 -2
  61. package/config/skills/orchestrator/start-agent/execute.sh +3 -3
  62. package/config/skills/orchestrator/start-team/execute.sh +2 -2
  63. package/config/skills/orchestrator/stop-agent/execute.sh +3 -3
  64. package/config/skills/orchestrator/stop-team/execute.sh +2 -2
  65. package/config/skills/orchestrator/subscribe-event/execute.sh +3 -3
  66. package/config/skills/orchestrator/terminate-agent/execute.sh +2 -2
  67. package/config/skills/orchestrator/unsubscribe-event/execute.sh +2 -2
  68. package/config/skills/orchestrator/update-cron/execute.sh +3 -3
  69. package/config/skills/orchestrator/update-focus/execute.sh +2 -2
  70. package/config/skills/orchestrator/update-team/execute.sh +3 -3
  71. package/config/skills/team-leader/aggregate-results/execute.sh +7 -7
  72. package/config/skills/team-leader/decompose-goal/execute.sh +5 -5
  73. package/config/skills/team-leader/handle-failure/execute.sh +10 -10
  74. package/config/skills/team-leader/schedule-check/execute.sh +9 -9
  75. package/config/skills/team-leader/start-agent/execute.sh +4 -4
  76. package/config/skills/team-leader/stop-agent/execute.sh +4 -4
  77. package/config/skills/team-leader/verify-output/execute.sh +8 -8
  78. package/config/templates/cloud-deploy.json +119 -0
  79. package/config/templates/dev-fullstack/template.json +64 -17
  80. package/config/templates/research-analysis/template.json +44 -15
  81. package/config/templates/social-media-ops/template.json +43 -15
  82. package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.d.ts +31 -0
  83. package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.d.ts.map +1 -0
  84. package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.js +94 -0
  85. package/dist/backend/backend/src/controllers/agent-stream/agent-stream.controller.js.map +1 -0
  86. package/dist/backend/backend/src/controllers/agent-stream/agent-stream.routes.d.ts +19 -0
  87. package/dist/backend/backend/src/controllers/agent-stream/agent-stream.routes.d.ts.map +1 -0
  88. package/dist/backend/backend/src/controllers/agent-stream/agent-stream.routes.js +25 -0
  89. package/dist/backend/backend/src/controllers/agent-stream/agent-stream.routes.js.map +1 -0
  90. package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts +11 -3
  91. package/dist/backend/backend/src/controllers/browser/browser.controller.d.ts.map +1 -1
  92. package/dist/backend/backend/src/controllers/browser/browser.controller.js +56 -26
  93. package/dist/backend/backend/src/controllers/browser/browser.controller.js.map +1 -1
  94. package/dist/backend/backend/src/controllers/browser/browser.routes.d.ts.map +1 -1
  95. package/dist/backend/backend/src/controllers/browser/browser.routes.js +3 -1
  96. package/dist/backend/backend/src/controllers/browser/browser.routes.js.map +1 -1
  97. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts +16 -0
  98. package/dist/backend/backend/src/controllers/chat/chat.controller.d.ts.map +1 -1
  99. package/dist/backend/backend/src/controllers/chat/chat.controller.js +39 -2
  100. package/dist/backend/backend/src/controllers/chat/chat.controller.js.map +1 -1
  101. package/dist/backend/backend/src/controllers/chat/chat.routes.d.ts.map +1 -1
  102. package/dist/backend/backend/src/controllers/chat/chat.routes.js +3 -1
  103. package/dist/backend/backend/src/controllers/chat/chat.routes.js.map +1 -1
  104. package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts +15 -0
  105. package/dist/backend/backend/src/controllers/cloud/cloud.controller.d.ts.map +1 -1
  106. package/dist/backend/backend/src/controllers/cloud/cloud.controller.js +45 -0
  107. package/dist/backend/backend/src/controllers/cloud/cloud.controller.js.map +1 -1
  108. package/dist/backend/backend/src/controllers/cloud/cloud.routes.d.ts +1 -0
  109. package/dist/backend/backend/src/controllers/cloud/cloud.routes.d.ts.map +1 -1
  110. package/dist/backend/backend/src/controllers/cloud/cloud.routes.js +3 -1
  111. package/dist/backend/backend/src/controllers/cloud/cloud.routes.js.map +1 -1
  112. package/dist/backend/backend/src/controllers/index.d.ts.map +1 -1
  113. package/dist/backend/backend/src/controllers/index.js +2 -0
  114. package/dist/backend/backend/src/controllers/index.js.map +1 -1
  115. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.d.ts +15 -0
  116. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.d.ts.map +1 -1
  117. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.js +35 -1
  118. package/dist/backend/backend/src/controllers/marketplace/marketplace.controller.js.map +1 -1
  119. package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.d.ts.map +1 -1
  120. package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.js +2 -1
  121. package/dist/backend/backend/src/controllers/marketplace/marketplace.routes.js.map +1 -1
  122. package/dist/backend/backend/src/controllers/monitoring/monitoring.routes.d.ts.map +1 -1
  123. package/dist/backend/backend/src/controllers/monitoring/monitoring.routes.js +7 -1
  124. package/dist/backend/backend/src/controllers/monitoring/monitoring.routes.js.map +1 -1
  125. package/dist/backend/backend/src/controllers/monitoring/token-usage.controller.d.ts +29 -0
  126. package/dist/backend/backend/src/controllers/monitoring/token-usage.controller.d.ts.map +1 -1
  127. package/dist/backend/backend/src/controllers/monitoring/token-usage.controller.js +76 -0
  128. package/dist/backend/backend/src/controllers/monitoring/token-usage.controller.js.map +1 -1
  129. package/dist/backend/backend/src/controllers/project/project.controller.d.ts +16 -0
  130. package/dist/backend/backend/src/controllers/project/project.controller.d.ts.map +1 -1
  131. package/dist/backend/backend/src/controllers/project/project.controller.js +47 -0
  132. package/dist/backend/backend/src/controllers/project/project.controller.js.map +1 -1
  133. package/dist/backend/backend/src/controllers/project/project.routes.d.ts.map +1 -1
  134. package/dist/backend/backend/src/controllers/project/project.routes.js +3 -1
  135. package/dist/backend/backend/src/controllers/project/project.routes.js.map +1 -1
  136. package/dist/backend/backend/src/controllers/team/team.controller.d.ts.map +1 -1
  137. package/dist/backend/backend/src/controllers/team/team.controller.js +34 -3
  138. package/dist/backend/backend/src/controllers/team/team.controller.js.map +1 -1
  139. package/dist/backend/backend/src/index.d.ts.map +1 -1
  140. package/dist/backend/backend/src/index.js +18 -4
  141. package/dist/backend/backend/src/index.js.map +1 -1
  142. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  143. package/dist/backend/backend/src/services/agent/agent-registration.service.js +25 -0
  144. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  145. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts +2 -0
  146. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.d.ts.map +1 -1
  147. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js +19 -0
  148. package/dist/backend/backend/src/services/agent/crewly-agent/agent-runner.service.js.map +1 -1
  149. package/dist/backend/backend/src/services/agent/crewly-agent/agent-stream.service.d.ts +145 -0
  150. package/dist/backend/backend/src/services/agent/crewly-agent/agent-stream.service.d.ts.map +1 -0
  151. package/dist/backend/backend/src/services/agent/crewly-agent/agent-stream.service.js +133 -0
  152. package/dist/backend/backend/src/services/agent/crewly-agent/agent-stream.service.js.map +1 -0
  153. package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.d.ts +130 -0
  154. package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.d.ts.map +1 -0
  155. package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.js +263 -0
  156. package/dist/backend/backend/src/services/agent/crewly-agent/audit-log.service.js.map +1 -0
  157. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.d.ts.map +1 -1
  158. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js +8 -0
  159. package/dist/backend/backend/src/services/agent/crewly-agent/crewly-agent-runtime.service.js.map +1 -1
  160. package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.d.ts +79 -0
  161. package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.d.ts.map +1 -0
  162. package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.js +218 -0
  163. package/dist/backend/backend/src/services/agent/crewly-agent/env-isolation.service.js.map +1 -0
  164. package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.d.ts +91 -0
  165. package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.d.ts.map +1 -0
  166. package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.js +143 -0
  167. package/dist/backend/backend/src/services/agent/crewly-agent/output-filter.service.js.map +1 -0
  168. package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.d.ts +103 -0
  169. package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.d.ts.map +1 -0
  170. package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.js +256 -0
  171. package/dist/backend/backend/src/services/agent/crewly-agent/prompt-guard.service.js.map +1 -0
  172. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts +44 -0
  173. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.d.ts.map +1 -1
  174. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js +323 -1
  175. package/dist/backend/backend/src/services/agent/crewly-agent/tool-registry.js.map +1 -1
  176. package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts +21 -0
  177. package/dist/backend/backend/src/services/agent/crewly-agent/types.d.ts.map +1 -1
  178. package/dist/backend/backend/src/services/agent/crewly-agent/types.js +7 -0
  179. package/dist/backend/backend/src/services/agent/crewly-agent/types.js.map +1 -1
  180. package/dist/backend/backend/src/services/browser/browser-bridge.service.d.ts +4 -1
  181. package/dist/backend/backend/src/services/browser/browser-bridge.service.d.ts.map +1 -1
  182. package/dist/backend/backend/src/services/browser/browser-bridge.service.js +26 -11
  183. package/dist/backend/backend/src/services/browser/browser-bridge.service.js.map +1 -1
  184. package/dist/backend/backend/src/services/chat/chat-highlights.service.d.ts +100 -0
  185. package/dist/backend/backend/src/services/chat/chat-highlights.service.d.ts.map +1 -0
  186. package/dist/backend/backend/src/services/chat/chat-highlights.service.js +145 -0
  187. package/dist/backend/backend/src/services/chat/chat-highlights.service.js.map +1 -0
  188. package/dist/backend/backend/src/services/chat/chat-sanitizer.service.d.ts +76 -0
  189. package/dist/backend/backend/src/services/chat/chat-sanitizer.service.d.ts.map +1 -0
  190. package/dist/backend/backend/src/services/chat/chat-sanitizer.service.js +127 -0
  191. package/dist/backend/backend/src/services/chat/chat-sanitizer.service.js.map +1 -0
  192. package/dist/backend/backend/src/services/chat/chat.service.d.ts +8 -0
  193. package/dist/backend/backend/src/services/chat/chat.service.d.ts.map +1 -1
  194. package/dist/backend/backend/src/services/chat/chat.service.js +27 -1
  195. package/dist/backend/backend/src/services/chat/chat.service.js.map +1 -1
  196. package/dist/backend/backend/src/services/marketplace/index.d.ts +1 -1
  197. package/dist/backend/backend/src/services/marketplace/index.d.ts.map +1 -1
  198. package/dist/backend/backend/src/services/marketplace/index.js +1 -1
  199. package/dist/backend/backend/src/services/marketplace/index.js.map +1 -1
  200. package/dist/backend/backend/src/services/marketplace/marketplace.service.d.ts +11 -0
  201. package/dist/backend/backend/src/services/marketplace/marketplace.service.d.ts.map +1 -1
  202. package/dist/backend/backend/src/services/marketplace/marketplace.service.js +31 -0
  203. package/dist/backend/backend/src/services/marketplace/marketplace.service.js.map +1 -1
  204. package/dist/backend/backend/src/services/monitoring/token-estimator.service.d.ts +197 -0
  205. package/dist/backend/backend/src/services/monitoring/token-estimator.service.d.ts.map +1 -0
  206. package/dist/backend/backend/src/services/monitoring/token-estimator.service.js +408 -0
  207. package/dist/backend/backend/src/services/monitoring/token-estimator.service.js.map +1 -0
  208. package/dist/backend/backend/src/services/project/project-search.service.d.ts +62 -0
  209. package/dist/backend/backend/src/services/project/project-search.service.d.ts.map +1 -0
  210. package/dist/backend/backend/src/services/project/project-search.service.js +107 -0
  211. package/dist/backend/backend/src/services/project/project-search.service.js.map +1 -0
  212. package/dist/backend/backend/src/services/quality/quality-gate.service.d.ts +11 -0
  213. package/dist/backend/backend/src/services/quality/quality-gate.service.d.ts.map +1 -1
  214. package/dist/backend/backend/src/services/quality/quality-gate.service.js +93 -19
  215. package/dist/backend/backend/src/services/quality/quality-gate.service.js.map +1 -1
  216. package/dist/backend/backend/src/types/settings.types.d.ts +3 -0
  217. package/dist/backend/backend/src/types/settings.types.d.ts.map +1 -1
  218. package/dist/backend/backend/src/types/settings.types.js +1 -0
  219. package/dist/backend/backend/src/types/settings.types.js.map +1 -1
  220. package/dist/cli/backend/src/types/settings.types.d.ts +3 -0
  221. package/dist/cli/backend/src/types/settings.types.d.ts.map +1 -1
  222. package/dist/cli/backend/src/types/settings.types.js +1 -0
  223. package/dist/cli/backend/src/types/settings.types.js.map +1 -1
  224. package/dist/cli/cli/src/commands/stop.d.ts.map +1 -1
  225. package/dist/cli/cli/src/commands/stop.js +3 -0
  226. package/dist/cli/cli/src/commands/stop.js.map +1 -1
  227. package/dist/cli/cli/src/utils/license-check.d.ts +70 -0
  228. package/dist/cli/cli/src/utils/license-check.d.ts.map +1 -0
  229. package/dist/cli/cli/src/utils/license-check.js +124 -0
  230. package/dist/cli/cli/src/utils/license-check.js.map +1 -0
  231. package/dist/cli/cli/src/utils/process-cleanup.d.ts +9 -0
  232. package/dist/cli/cli/src/utils/process-cleanup.d.ts.map +1 -1
  233. package/dist/cli/cli/src/utils/process-cleanup.js +48 -0
  234. package/dist/cli/cli/src/utils/process-cleanup.js.map +1 -1
  235. package/frontend/dist/assets/{index-27a2c65e.js → index-76782e9e.js} +355 -355
  236. package/frontend/dist/assets/index-b19b2478.css +33 -0
  237. package/frontend/dist/index.html +2 -2
  238. package/package.json +1 -1
  239. 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":"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"}
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;CACjC;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;IA0EpC;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IA+BrB;;;;;;;;;OASG;IACG,WAAW,CAChB,IAAI,EAAE,MAAM,EACZ,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,SAAS,GAAE,MAAoD,GAC7D,OAAO,CAAC,sBAAsB,CAAC;IA2BlC;;;;OAIG;IACH,SAAS,IAAI,mBAAmB;IAQhC;;;;OAIG;IACH,WAAW,IAAI,OAAO;IAItB;;;;OAIG;IACH,OAAO,CAAC,eAAe;IAWvB;;OAEG;IACH,IAAI,IAAI,IAAI;CA0BZ"}
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
- // Manually handle HTTP upgrade requests only intercept our path
71
- httpServer.on('upgrade', (request, socket, head) => {
72
- const pathname = new URL(request.url || '', `http://${request.headers.host}`).pathname;
73
- if (pathname === BROWSER_BRIDGE_CONSTANTS.WS_PATH) {
74
- this.wss.handleUpgrade(request, socket, head, (ws) => {
75
- this.wss.emit('connection', ws, request);
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
- // Do NOT destroy the socket for non-matching paths —
79
- // let other handlers (Socket.IO) process them
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":"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"}
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"}