crewly 1.20.157 → 1.20.158

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 (130) hide show
  1. package/README.md +1 -0
  2. package/config/templates/growth-marketing-team.json +5 -5
  3. package/config/templates/personal-assistant-team.json +5 -5
  4. package/dist/backend/backend/src/constants.d.ts +66 -2
  5. package/dist/backend/backend/src/constants.d.ts.map +1 -1
  6. package/dist/backend/backend/src/constants.js +91 -5
  7. package/dist/backend/backend/src/constants.js.map +1 -1
  8. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts +9 -0
  9. package/dist/backend/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  10. package/dist/backend/backend/src/services/agent/agent-registration.service.js +34 -29
  11. package/dist/backend/backend/src/services/agent/agent-registration.service.js.map +1 -1
  12. package/dist/backend/backend/src/services/agent/codex-runtime.service.d.ts +4 -3
  13. package/dist/backend/backend/src/services/agent/codex-runtime.service.d.ts.map +1 -1
  14. package/dist/backend/backend/src/services/agent/codex-runtime.service.js +48 -3
  15. package/dist/backend/backend/src/services/agent/codex-runtime.service.js.map +1 -1
  16. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.d.ts +9 -0
  17. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.d.ts.map +1 -1
  18. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.js +18 -1
  19. package/dist/backend/backend/src/services/agent/crewly-agent/in-process-log-buffer.js.map +1 -1
  20. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -1
  21. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js +5 -1
  22. package/dist/backend/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -1
  23. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
  24. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js +14 -4
  25. package/dist/backend/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
  26. package/dist/backend/backend/src/services/agent/tmux-command.service.d.ts +14 -2
  27. package/dist/backend/backend/src/services/agent/tmux-command.service.d.ts.map +1 -1
  28. package/dist/backend/backend/src/services/agent/tmux-command.service.js +24 -5
  29. package/dist/backend/backend/src/services/agent/tmux-command.service.js.map +1 -1
  30. package/dist/backend/backend/src/services/agent/tmux.service.d.ts.map +1 -1
  31. package/dist/backend/backend/src/services/agent/tmux.service.js +14 -9
  32. package/dist/backend/backend/src/services/agent/tmux.service.js.map +1 -1
  33. package/dist/backend/backend/src/services/backup/backup-archive.service.d.ts +8 -0
  34. package/dist/backend/backend/src/services/backup/backup-archive.service.d.ts.map +1 -1
  35. package/dist/backend/backend/src/services/backup/backup-archive.service.js +16 -8
  36. package/dist/backend/backend/src/services/backup/backup-archive.service.js.map +1 -1
  37. package/dist/backend/backend/src/services/backup/backup.types.d.ts +19 -0
  38. package/dist/backend/backend/src/services/backup/backup.types.d.ts.map +1 -1
  39. package/dist/backend/backend/src/services/backup/backup.types.js +19 -0
  40. package/dist/backend/backend/src/services/backup/backup.types.js.map +1 -1
  41. package/dist/backend/backend/src/services/security/secret-scrub.service.d.ts +108 -0
  42. package/dist/backend/backend/src/services/security/secret-scrub.service.d.ts.map +1 -0
  43. package/dist/backend/backend/src/services/security/secret-scrub.service.js +200 -0
  44. package/dist/backend/backend/src/services/security/secret-scrub.service.js.map +1 -0
  45. package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts +13 -9
  46. package/dist/backend/backend/src/services/session/pty/pty-session-backend.d.ts.map +1 -1
  47. package/dist/backend/backend/src/services/session/pty/pty-session-backend.js +30 -14
  48. package/dist/backend/backend/src/services/session/pty/pty-session-backend.js.map +1 -1
  49. package/dist/backend/backend/src/services/session/pty/pty-session.d.ts.map +1 -1
  50. package/dist/backend/backend/src/services/session/pty/pty-session.js +6 -1
  51. package/dist/backend/backend/src/services/session/pty/pty-session.js.map +1 -1
  52. package/dist/backend/backend/src/services/session/session-command-helper.d.ts.map +1 -1
  53. package/dist/backend/backend/src/services/session/session-command-helper.js +3 -2
  54. package/dist/backend/backend/src/services/session/session-command-helper.js.map +1 -1
  55. package/dist/backend/backend/src/types/team-template.types.d.ts +1 -1
  56. package/dist/backend/backend/src/types/team-template.types.d.ts.map +1 -1
  57. package/dist/backend/backend/src/utils/secret-redactor.d.ts +131 -0
  58. package/dist/backend/backend/src/utils/secret-redactor.d.ts.map +1 -0
  59. package/dist/backend/backend/src/utils/secret-redactor.js +233 -0
  60. package/dist/backend/backend/src/utils/secret-redactor.js.map +1 -0
  61. package/dist/backend/backend/src/utils/shell-history.d.ts +48 -0
  62. package/dist/backend/backend/src/utils/shell-history.d.ts.map +1 -0
  63. package/dist/backend/backend/src/utils/shell-history.js +65 -0
  64. package/dist/backend/backend/src/utils/shell-history.js.map +1 -0
  65. package/dist/backend/build-info.json +2 -2
  66. package/dist/cli/backend/src/constants.d.ts +66 -2
  67. package/dist/cli/backend/src/constants.d.ts.map +1 -1
  68. package/dist/cli/backend/src/constants.js +91 -5
  69. package/dist/cli/backend/src/constants.js.map +1 -1
  70. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts +9 -0
  71. package/dist/cli/backend/src/services/agent/agent-registration.service.d.ts.map +1 -1
  72. package/dist/cli/backend/src/services/agent/agent-registration.service.js +34 -29
  73. package/dist/cli/backend/src/services/agent/agent-registration.service.js.map +1 -1
  74. package/dist/cli/backend/src/services/agent/codex-runtime.service.d.ts +4 -3
  75. package/dist/cli/backend/src/services/agent/codex-runtime.service.d.ts.map +1 -1
  76. package/dist/cli/backend/src/services/agent/codex-runtime.service.js +48 -3
  77. package/dist/cli/backend/src/services/agent/codex-runtime.service.js.map +1 -1
  78. package/dist/cli/backend/src/services/agent/crewly-agent/in-process-log-buffer.d.ts +9 -0
  79. package/dist/cli/backend/src/services/agent/crewly-agent/in-process-log-buffer.d.ts.map +1 -1
  80. package/dist/cli/backend/src/services/agent/crewly-agent/in-process-log-buffer.js +18 -1
  81. package/dist/cli/backend/src/services/agent/crewly-agent/in-process-log-buffer.js.map +1 -1
  82. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.d.ts.map +1 -1
  83. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js +5 -1
  84. package/dist/cli/backend/src/services/agent/oauth-relogin-monitor.service.js.map +1 -1
  85. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.d.ts.map +1 -1
  86. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.js +14 -4
  87. package/dist/cli/backend/src/services/agent/runtime-agent.service.abstract.js.map +1 -1
  88. package/dist/cli/backend/src/services/backup/backup-archive.service.d.ts +8 -0
  89. package/dist/cli/backend/src/services/backup/backup-archive.service.d.ts.map +1 -1
  90. package/dist/cli/backend/src/services/backup/backup-archive.service.js +16 -8
  91. package/dist/cli/backend/src/services/backup/backup-archive.service.js.map +1 -1
  92. package/dist/cli/backend/src/services/backup/backup.types.d.ts +19 -0
  93. package/dist/cli/backend/src/services/backup/backup.types.d.ts.map +1 -1
  94. package/dist/cli/backend/src/services/backup/backup.types.js +19 -0
  95. package/dist/cli/backend/src/services/backup/backup.types.js.map +1 -1
  96. package/dist/cli/backend/src/services/security/secret-scrub.service.d.ts +108 -0
  97. package/dist/cli/backend/src/services/security/secret-scrub.service.d.ts.map +1 -0
  98. package/dist/cli/backend/src/services/security/secret-scrub.service.js +200 -0
  99. package/dist/cli/backend/src/services/security/secret-scrub.service.js.map +1 -0
  100. package/dist/cli/backend/src/services/session/pty/pty-session-backend.d.ts +13 -9
  101. package/dist/cli/backend/src/services/session/pty/pty-session-backend.d.ts.map +1 -1
  102. package/dist/cli/backend/src/services/session/pty/pty-session-backend.js +30 -14
  103. package/dist/cli/backend/src/services/session/pty/pty-session-backend.js.map +1 -1
  104. package/dist/cli/backend/src/services/session/pty/pty-session.d.ts.map +1 -1
  105. package/dist/cli/backend/src/services/session/pty/pty-session.js +6 -1
  106. package/dist/cli/backend/src/services/session/pty/pty-session.js.map +1 -1
  107. package/dist/cli/backend/src/services/session/session-command-helper.d.ts.map +1 -1
  108. package/dist/cli/backend/src/services/session/session-command-helper.js +3 -2
  109. package/dist/cli/backend/src/services/session/session-command-helper.js.map +1 -1
  110. package/dist/cli/backend/src/types/team-template.types.d.ts +1 -1
  111. package/dist/cli/backend/src/types/team-template.types.d.ts.map +1 -1
  112. package/dist/cli/backend/src/utils/secret-redactor.d.ts +131 -0
  113. package/dist/cli/backend/src/utils/secret-redactor.d.ts.map +1 -0
  114. package/dist/cli/backend/src/utils/secret-redactor.js +233 -0
  115. package/dist/cli/backend/src/utils/secret-redactor.js.map +1 -0
  116. package/dist/cli/backend/src/utils/shell-history.d.ts +48 -0
  117. package/dist/cli/backend/src/utils/shell-history.d.ts.map +1 -0
  118. package/dist/cli/backend/src/utils/shell-history.js +65 -0
  119. package/dist/cli/backend/src/utils/shell-history.js.map +1 -0
  120. package/dist/cli/cli/src/commands/security.d.ts +41 -0
  121. package/dist/cli/cli/src/commands/security.d.ts.map +1 -0
  122. package/dist/cli/cli/src/commands/security.js +81 -0
  123. package/dist/cli/cli/src/commands/security.js.map +1 -0
  124. package/dist/cli/cli/src/index.js +9 -0
  125. package/dist/cli/cli/src/index.js.map +1 -1
  126. package/frontend/dist/assets/index-edd6f262.css +42 -0
  127. package/frontend/dist/assets/{index-8d4b3ad2.js → index-f79676aa.js} +268 -268
  128. package/frontend/dist/index.html +2 -2
  129. package/package.json +1 -1
  130. package/frontend/dist/assets/index-b6aded4c.css +0 -42
@@ -23,7 +23,7 @@ import { create as tarCreate } from 'tar';
23
23
  import { getCrewlyHomePath } from '../core/crewly-home.utils.js';
24
24
  import { safeReadJson } from '../../utils/file-io.utils.js';
25
25
  import { LoggerService } from '../core/logger.service.js';
26
- import { BACKUP_SCHEMA_VERSION, DEFAULT_PROJECT_FILE_EXCLUDES, PROJECT_FILES_ARCHIVE_DIR, } from './backup.types.js';
26
+ import { BACKUP_EXCLUDED_DIR_NAMES, BACKUP_EXCLUDED_FILE_NAMES, BACKUP_EXCLUDED_FILE_SUFFIXES, BACKUP_SCHEMA_VERSION, DEFAULT_PROJECT_FILE_EXCLUDES, PROJECT_FILES_ARCHIVE_DIR, } from './backup.types.js';
27
27
  import { createProjectFileFilter } from './project-file-filter.js';
28
28
  const execFileAsync = promisify(execFile);
29
29
  /**
@@ -47,11 +47,19 @@ const GLOBAL_EXCLUDE_TOPLEVEL = new Set([
47
47
  'chat.db-wal',
48
48
  'chat.db-shm',
49
49
  ]);
50
- /** Directory names excluded at ANY depth (runtime/session/log noise). */
51
- const EXCLUDE_DIR_ANYWHERE = new Set(['sessions', 'logs', '.orchestrator-state']);
52
- /** True for files excluded at any depth (ephemeral session logs). */
53
- function isExcludedFile(name) {
54
- return name.endsWith('.jsonl');
50
+ /** Directory names excluded at ANY depth (runtime/session/log noise, incl. logs/sessions PTY transcripts). */
51
+ const EXCLUDE_DIR_ANYWHERE = new Set(BACKUP_EXCLUDED_DIR_NAMES);
52
+ /** Shell history file names excluded at any depth. */
53
+ const EXCLUDE_FILE_NAMES = new Set(BACKUP_EXCLUDED_FILE_NAMES);
54
+ /**
55
+ * True for files excluded at any depth: JSONL transcripts, stray `*.log`
56
+ * files (raw PTY output can carry secrets) and shell history files.
57
+ *
58
+ * @param name - File name (no directory)
59
+ * @returns True when the file must not be archived
60
+ */
61
+ export function isExcludedBackupFile(name) {
62
+ return EXCLUDE_FILE_NAMES.has(name) || BACKUP_EXCLUDED_FILE_SUFFIXES.some((suffix) => name.endsWith(suffix));
55
63
  }
56
64
  /**
57
65
  * Service that builds workspace backup archives.
@@ -161,7 +169,7 @@ export class BackupArchiveService {
161
169
  if (e.isDirectory()) {
162
170
  await walk(path.join(absDir, e.name), childRel, false);
163
171
  }
164
- else if (e.isFile() && !isExcludedFile(e.name)) {
172
+ else if (e.isFile() && !isExcludedBackupFile(e.name)) {
165
173
  out.push(childRel);
166
174
  }
167
175
  }
@@ -252,7 +260,7 @@ export class BackupArchiveService {
252
260
  const childRel = rel ? `${rel}/${e.name}` : e.name;
253
261
  if (e.isDirectory())
254
262
  await walk(path.join(absDir, e.name), childRel);
255
- else if (e.isFile() && !isExcludedFile(e.name)) {
263
+ else if (e.isFile() && !isExcludedBackupFile(e.name)) {
256
264
  const archivePath = `projects/${proj.id}/.crewly/${childRel}`;
257
265
  files.push(await this.stageFile(crewlyDir, childRel, staging, archivePath));
258
266
  }
@@ -1 +1 @@
1
- {"version":3,"file":"backup-archive.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/backup/backup-archive.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backup-archive.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/backup/backup-archive.service.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,25 @@ export declare const BACKUP_SCHEMA_VERSION = 1;
20
20
  * included); `.crewly` is captured separately under `projects/<id>/.crewly/`.
21
21
  */
22
22
  export declare const DEFAULT_PROJECT_FILE_EXCLUDES: readonly string[];
23
+ /**
24
+ * Directory names never captured, at ANY depth of CREWLY_HOME or a project's
25
+ * `.crewly/`. `logs` covers `~/.crewly/logs/sessions/*.log` — the raw agent
26
+ * PTY transcripts, which held API keys and Slack tokens before #806 (and are
27
+ * still only redacted best-effort) — plus service/skill-setup logs; `sessions`
28
+ * covers per-agent runtime transcripts. Logs are machine-local noise, not
29
+ * workspace state: excluded rather than redacted.
30
+ */
31
+ export declare const BACKUP_EXCLUDED_DIR_NAMES: readonly string[];
32
+ /**
33
+ * File-name suffixes never captured, at any depth: JSONL transcripts/event
34
+ * logs and stray `*.log` files outside a `logs/` directory (PTY output that
35
+ * landed elsewhere). Applies to CREWLY_HOME and each project's `.crewly/`,
36
+ * not to project source trees (`includeProjectFiles`), which are the user's
37
+ * own files.
38
+ */
39
+ export declare const BACKUP_EXCLUDED_FILE_SUFFIXES: readonly string[];
40
+ /** Shell history files never captured, at any depth (they held typed-in API keys). */
41
+ export declare const BACKUP_EXCLUDED_FILE_NAMES: readonly string[];
23
42
  /** Archive path prefix for a project's source files: `projects/<id>/files/`. */
24
43
  export declare const PROJECT_FILES_ARCHIVE_DIR = "files";
25
44
  /** Above this estimated project-files size the CLI requires `--yes` (2 GiB). */
@@ -1 +1 @@
1
- {"version":3,"file":"backup.types.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/backup/backup.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"backup.types.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/backup/backup.types.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,25 @@ export const BACKUP_SCHEMA_VERSION = 1;
20
20
  * included); `.crewly` is captured separately under `projects/<id>/.crewly/`.
21
21
  */
22
22
  export const DEFAULT_PROJECT_FILE_EXCLUDES = ['node_modules', '.crewly', '.DS_Store'];
23
+ /**
24
+ * Directory names never captured, at ANY depth of CREWLY_HOME or a project's
25
+ * `.crewly/`. `logs` covers `~/.crewly/logs/sessions/*.log` — the raw agent
26
+ * PTY transcripts, which held API keys and Slack tokens before #806 (and are
27
+ * still only redacted best-effort) — plus service/skill-setup logs; `sessions`
28
+ * covers per-agent runtime transcripts. Logs are machine-local noise, not
29
+ * workspace state: excluded rather than redacted.
30
+ */
31
+ export const BACKUP_EXCLUDED_DIR_NAMES = ['sessions', 'logs', '.orchestrator-state'];
32
+ /**
33
+ * File-name suffixes never captured, at any depth: JSONL transcripts/event
34
+ * logs and stray `*.log` files outside a `logs/` directory (PTY output that
35
+ * landed elsewhere). Applies to CREWLY_HOME and each project's `.crewly/`,
36
+ * not to project source trees (`includeProjectFiles`), which are the user's
37
+ * own files.
38
+ */
39
+ export const BACKUP_EXCLUDED_FILE_SUFFIXES = ['.jsonl', '.log'];
40
+ /** Shell history files never captured, at any depth (they held typed-in API keys). */
41
+ export const BACKUP_EXCLUDED_FILE_NAMES = ['.bash_history', '.zsh_history', '.sh_history', '.history'];
23
42
  /** Archive path prefix for a project's source files: `projects/<id>/files/`. */
24
43
  export const PROJECT_FILES_ARCHIVE_DIR = 'files';
25
44
  /** Above this estimated project-files size the CLI requires `--yes` (2 GiB). */
@@ -1 +1 @@
1
- {"version":3,"file":"backup.types.js","sourceRoot":"","sources":["../../../../../../backend/src/services/backup/backup.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,0EAA0E;AAC1E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEvC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAsB,CAAC,cAAc,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAEzG,gFAAgF;AAChF,MAAM,CAAC,MAAM,yBAAyB,GAAG,OAAO,CAAC;AAEjD,gFAAgF;AAChF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,6BAA6B,CAAC"}
1
+ {"version":3,"file":"backup.types.js","sourceRoot":"","sources":["../../../../../../backend/src/services/backup/backup.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,0EAA0E;AAC1E,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAEvC;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAsB,CAAC,cAAc,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;AAEzG;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC;AAExG;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAsB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAEnF,sFAAsF;AACtF,MAAM,CAAC,MAAM,0BAA0B,GAAsB,CAAC,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,UAAU,CAAC,CAAC;AAE1H,gFAAgF;AAChF,MAAM,CAAC,MAAM,yBAAyB,GAAG,OAAO,CAAC;AAEjD,gFAAgF;AAChF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEpE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,6BAA6B,CAAC"}
@@ -0,0 +1,108 @@
1
+ /**
2
+ * One-time scrub of secrets already written to disk.
3
+ *
4
+ * Before #806 Crewly typed `export GEMINI_API_KEY=…` (and other keys) into
5
+ * agent shells, so keys sit in ~/.crewly/logs/sessions/*.log, in the gzipped
6
+ * rotations under ~/.crewly/logs/archive/, and in the user's shell history.
7
+ * This service runs every such file through the same redactor the live
8
+ * session-log writer uses (utils/secret-redactor).
9
+ *
10
+ * - Dry run by default: reports what WOULD be masked; nothing is written.
11
+ * - Reports counts only — never a secret value, never a matched line.
12
+ * - Idempotent: a second `apply` finds 0 (masks are never re-masked) and
13
+ * rewrites nothing.
14
+ * - Files are read and written as bytes (latin1): zsh stores history
15
+ * "metafied" (not valid UTF-8), so a UTF-8 round trip would corrupt it.
16
+ * Every pattern is ASCII, so byte-wise matching is exact.
17
+ * - Rewrites are atomic (temp file + rename) and keep the file mode.
18
+ *
19
+ * Used by `crewly security scrub-logs [--apply]`.
20
+ *
21
+ * @module services/security/secret-scrub.service
22
+ */
23
+ import { type SecretEnvValue } from '../../utils/secret-env.js';
24
+ /** Which kind of file a scrub target is. */
25
+ export type ScrubTargetKind = 'session-log' | 'session-log-archive' | 'shell-history';
26
+ /** Per-file outcome (path + counts only, never content). */
27
+ export interface ScrubFileResult {
28
+ /** Absolute path */
29
+ path: string;
30
+ /** Kind of file */
31
+ kind: ScrubTargetKind;
32
+ /** Secrets found (dry run) or masked (apply) */
33
+ secrets: number;
34
+ /** Whether the file was rewritten */
35
+ rewritten: boolean;
36
+ /** Error message when the file could not be read/written (no content) */
37
+ error?: string;
38
+ }
39
+ /** Totals for one scrub run. */
40
+ export interface ScrubSummary {
41
+ /** True when files were rewritten; false for a dry run */
42
+ applied: boolean;
43
+ /** Files examined */
44
+ filesScanned: number;
45
+ /** Files that contain (dry run) / contained (apply) at least one secret */
46
+ filesWithSecrets: number;
47
+ /** Files rewritten */
48
+ filesRewritten: number;
49
+ /** Total secrets found or masked */
50
+ secrets: number;
51
+ /** Files that could not be processed */
52
+ errors: number;
53
+ /** Per-file detail */
54
+ files: ScrubFileResult[];
55
+ }
56
+ /** Options for a scrub run. */
57
+ export interface ScrubOptions {
58
+ /** Rewrite files (default false: dry run) */
59
+ apply?: boolean;
60
+ /** CREWLY_HOME override (default getCrewlyHomePath()) */
61
+ crewlyHome?: string;
62
+ /** Home directory whose shell history is scrubbed (default os.homedir()) */
63
+ homeDir?: string;
64
+ /** Also scrub shell history files (default true) */
65
+ includeShellHistory?: boolean;
66
+ /** Env maps whose secret-named values are masked by exact value (default [process.env]) */
67
+ envs?: ReadonlyArray<Record<string, string | undefined>>;
68
+ }
69
+ /** A file to scrub. */
70
+ interface ScrubTarget {
71
+ path: string;
72
+ kind: ScrubTargetKind;
73
+ }
74
+ /**
75
+ * Collects exact secret values from settings.json `apiKeys` (every string
76
+ * leaf) so keys that were typed into shells are masked even when their
77
+ * shape is unknown. Read directly from the file: no settings service side
78
+ * effects (migrations) in a scrub.
79
+ *
80
+ * @param crewlyHome - CREWLY_HOME path
81
+ * @returns Secret values, labelled SETTINGS_<PATH>
82
+ */
83
+ export declare function collectSettingsSecretValues(crewlyHome: string): Promise<SecretEnvValue[]>;
84
+ /**
85
+ * Lists the files a scrub covers: session logs, their gzipped rotations and
86
+ * (optionally) the user's shell history files. Missing files are skipped.
87
+ *
88
+ * @param crewlyHome - CREWLY_HOME path
89
+ * @param homeDir - User home directory
90
+ * @param includeShellHistory - Include shell history files
91
+ * @returns Existing regular files to scrub
92
+ */
93
+ export declare function listScrubTargets(crewlyHome: string, homeDir: string, includeShellHistory: boolean): Promise<ScrubTarget[]>;
94
+ /**
95
+ * Runs the scrub (dry run unless `apply`).
96
+ *
97
+ * @param options - See ScrubOptions
98
+ * @returns Totals and per-file counts — no secret values
99
+ *
100
+ * @example
101
+ * ```ts
102
+ * const dry = await scrubSecretsOnDisk(); // what would change
103
+ * const done = await scrubSecretsOnDisk({ apply: true });
104
+ * ```
105
+ */
106
+ export declare function scrubSecretsOnDisk(options?: ScrubOptions): Promise<ScrubSummary>;
107
+ export {};
108
+ //# sourceMappingURL=secret-scrub.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-scrub.service.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/security/secret-scrub.service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAQH,OAAO,EAA0B,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAGxF,4CAA4C;AAC5C,MAAM,MAAM,eAAe,GAAG,aAAa,GAAG,qBAAqB,GAAG,eAAe,CAAC;AAEtF,4DAA4D;AAC5D,MAAM,WAAW,eAAe;IAC/B,oBAAoB;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,mBAAmB;IACnB,IAAI,EAAE,eAAe,CAAC;IACtB,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,yEAAyE;IACzE,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,gCAAgC;AAChC,MAAM,WAAW,YAAY;IAC5B,0DAA0D;IAC1D,OAAO,EAAE,OAAO,CAAC;IACjB,qBAAqB;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,2EAA2E;IAC3E,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,sBAAsB;IACtB,KAAK,EAAE,eAAe,EAAE,CAAC;CACzB;AAED,+BAA+B;AAC/B,MAAM,WAAW,YAAY;IAC5B,6CAA6C;IAC7C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oDAAoD;IACpD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,2FAA2F;IAC3F,IAAI,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;CACzD;AAED,uBAAuB;AACvB,UAAU,WAAW;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,eAAe,CAAC;CACtB;AAED;;;;;;;;GAQG;AACH,wBAAsB,2BAA2B,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,CAyB/F;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,mBAAmB,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAwBhI;AAoDD;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,GAAE,YAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CAsB1F"}
@@ -0,0 +1,200 @@
1
+ /**
2
+ * One-time scrub of secrets already written to disk.
3
+ *
4
+ * Before #806 Crewly typed `export GEMINI_API_KEY=…` (and other keys) into
5
+ * agent shells, so keys sit in ~/.crewly/logs/sessions/*.log, in the gzipped
6
+ * rotations under ~/.crewly/logs/archive/, and in the user's shell history.
7
+ * This service runs every such file through the same redactor the live
8
+ * session-log writer uses (utils/secret-redactor).
9
+ *
10
+ * - Dry run by default: reports what WOULD be masked; nothing is written.
11
+ * - Reports counts only — never a secret value, never a matched line.
12
+ * - Idempotent: a second `apply` finds 0 (masks are never re-masked) and
13
+ * rewrites nothing.
14
+ * - Files are read and written as bytes (latin1): zsh stores history
15
+ * "metafied" (not valid UTF-8), so a UTF-8 round trip would corrupt it.
16
+ * Every pattern is ASCII, so byte-wise matching is exact.
17
+ * - Rewrites are atomic (temp file + rename) and keep the file mode.
18
+ *
19
+ * Used by `crewly security scrub-logs [--apply]`.
20
+ *
21
+ * @module services/security/secret-scrub.service
22
+ */
23
+ import * as fs from 'fs/promises';
24
+ import * as os from 'os';
25
+ import * as path from 'path';
26
+ import { gunzipSync, gzipSync } from 'zlib';
27
+ import { LOG_ROTATION_CONSTANTS, SECRET_SCRUB_CONSTANTS } from '../../constants.js';
28
+ import { getCrewlyHomePath } from '../core/crewly-home.utils.js';
29
+ import { collectSecretEnvValues } from '../../utils/secret-env.js';
30
+ import { redactSecretsWithCount } from '../../utils/secret-redactor.js';
31
+ /**
32
+ * Collects exact secret values from settings.json `apiKeys` (every string
33
+ * leaf) so keys that were typed into shells are masked even when their
34
+ * shape is unknown. Read directly from the file: no settings service side
35
+ * effects (migrations) in a scrub.
36
+ *
37
+ * @param crewlyHome - CREWLY_HOME path
38
+ * @returns Secret values, labelled SETTINGS_<PATH>
39
+ */
40
+ export async function collectSettingsSecretValues(crewlyHome) {
41
+ let raw;
42
+ try {
43
+ raw = await fs.readFile(path.join(crewlyHome, SECRET_SCRUB_CONSTANTS.SETTINGS_FILE), 'utf8');
44
+ }
45
+ catch {
46
+ return [];
47
+ }
48
+ let parsed;
49
+ try {
50
+ parsed = JSON.parse(raw);
51
+ }
52
+ catch {
53
+ return [];
54
+ }
55
+ const apiKeys = parsed?.apiKeys;
56
+ const env = {};
57
+ const walk = (node, trail) => {
58
+ if (typeof node === 'string') {
59
+ // Name ends in _API_KEY so collectSecretEnvValues treats it as secret
60
+ env[`SETTINGS_${trail.join('_').replace(/[^A-Za-z0-9]+/g, '_').toUpperCase()}_API_KEY`] = node;
61
+ }
62
+ else if (node && typeof node === 'object') {
63
+ for (const [k, v] of Object.entries(node))
64
+ walk(v, [...trail, k]);
65
+ }
66
+ };
67
+ walk(apiKeys, []);
68
+ return collectSecretEnvValues(env);
69
+ }
70
+ /**
71
+ * Lists the files a scrub covers: session logs, their gzipped rotations and
72
+ * (optionally) the user's shell history files. Missing files are skipped.
73
+ *
74
+ * @param crewlyHome - CREWLY_HOME path
75
+ * @param homeDir - User home directory
76
+ * @param includeShellHistory - Include shell history files
77
+ * @returns Existing regular files to scrub
78
+ */
79
+ export async function listScrubTargets(crewlyHome, homeDir, includeShellHistory) {
80
+ const logsDir = path.join(crewlyHome, LOG_ROTATION_CONSTANTS.LOGS_DIR);
81
+ const targets = [];
82
+ const listDir = async (dir, kind, accept) => {
83
+ const entries = await fs.readdir(dir, { withFileTypes: true }).catch(() => []);
84
+ for (const e of entries) {
85
+ if (e.isFile() && accept(e.name))
86
+ targets.push({ path: path.join(dir, e.name), kind });
87
+ }
88
+ };
89
+ await listDir(path.join(logsDir, LOG_ROTATION_CONSTANTS.SESSIONS_LOG_DIR), 'session-log', () => true);
90
+ await listDir(path.join(logsDir, LOG_ROTATION_CONSTANTS.ARCHIVE_DIR), 'session-log-archive', (n) => n.endsWith('.gz'));
91
+ if (includeShellHistory) {
92
+ const seen = new Set();
93
+ const candidates = SECRET_SCRUB_CONSTANTS.SHELL_HISTORY_FILES.map((f) => path.join(homeDir, f));
94
+ for (const p of candidates) {
95
+ if (seen.has(p))
96
+ continue;
97
+ seen.add(p);
98
+ const stat = await fs.lstat(p).catch(() => null);
99
+ if (stat?.isFile())
100
+ targets.push({ path: p, kind: 'shell-history' });
101
+ }
102
+ }
103
+ return targets;
104
+ }
105
+ /**
106
+ * Writes a file atomically (temp file in the same directory + rename),
107
+ * keeping the original mode.
108
+ *
109
+ * @param filePath - Target path
110
+ * @param data - New content
111
+ * @param mode - File mode to keep
112
+ */
113
+ async function writeAtomic(filePath, data, mode) {
114
+ const tmp = path.join(path.dirname(filePath), `.${path.basename(filePath)}.scrub-${process.pid}-${Date.now()}`);
115
+ try {
116
+ await fs.writeFile(tmp, data, { mode });
117
+ await fs.chmod(tmp, mode);
118
+ await fs.rename(tmp, filePath);
119
+ }
120
+ catch (err) {
121
+ await fs.rm(tmp, { force: true }).catch(() => undefined);
122
+ throw err;
123
+ }
124
+ }
125
+ /**
126
+ * Scrubs one file: counts secrets and, when applying, rewrites it if any
127
+ * were found.
128
+ *
129
+ * @param target - File to scrub
130
+ * @param knownSecrets - Exact values to mask
131
+ * @param apply - Rewrite the file
132
+ * @returns Per-file result (counts only)
133
+ */
134
+ async function scrubFile(target, knownSecrets, apply) {
135
+ const result = { path: target.path, kind: target.kind, secrets: 0, rewritten: false };
136
+ try {
137
+ const stat = await fs.stat(target.path);
138
+ const raw = await fs.readFile(target.path);
139
+ const isGzip = target.kind === 'session-log-archive';
140
+ const bytes = isGzip ? gunzipSync(raw) : raw;
141
+ const { text, count } = redactSecretsWithCount(bytes.toString('latin1'), knownSecrets);
142
+ result.secrets = count;
143
+ if (apply && count > 0) {
144
+ const out = Buffer.from(text, 'latin1');
145
+ await writeAtomic(target.path, isGzip ? gzipSync(out) : out, stat.mode & 0o777);
146
+ result.rewritten = true;
147
+ }
148
+ }
149
+ catch (err) {
150
+ // The message names the failure only (ENOENT, EACCES, bad gzip…), never content
151
+ result.error = err instanceof Error ? err.code ?? err.message : String(err);
152
+ }
153
+ return result;
154
+ }
155
+ /**
156
+ * Runs the scrub (dry run unless `apply`).
157
+ *
158
+ * @param options - See ScrubOptions
159
+ * @returns Totals and per-file counts — no secret values
160
+ *
161
+ * @example
162
+ * ```ts
163
+ * const dry = await scrubSecretsOnDisk(); // what would change
164
+ * const done = await scrubSecretsOnDisk({ apply: true });
165
+ * ```
166
+ */
167
+ export async function scrubSecretsOnDisk(options = {}) {
168
+ const apply = options.apply === true;
169
+ const crewlyHome = options.crewlyHome ?? getCrewlyHomePath();
170
+ const homeDir = options.homeDir ?? os.homedir();
171
+ const knownSecrets = mergeSecretValues(collectSecretEnvValues(...(options.envs ?? [process.env])), await collectSettingsSecretValues(crewlyHome));
172
+ const targets = await listScrubTargets(crewlyHome, homeDir, options.includeShellHistory !== false);
173
+ const files = [];
174
+ for (const target of targets)
175
+ files.push(await scrubFile(target, knownSecrets, apply));
176
+ return {
177
+ applied: apply,
178
+ filesScanned: files.length,
179
+ filesWithSecrets: files.filter((f) => f.secrets > 0).length,
180
+ filesRewritten: files.filter((f) => f.rewritten).length,
181
+ secrets: files.reduce((n, f) => n + f.secrets, 0),
182
+ errors: files.filter((f) => f.error).length,
183
+ files,
184
+ };
185
+ }
186
+ /**
187
+ * Merges secret-value lists, de-duplicated by value, longest first.
188
+ *
189
+ * @param lists - Lists to merge
190
+ * @returns Merged list
191
+ */
192
+ function mergeSecretValues(...lists) {
193
+ const byValue = new Map();
194
+ for (const list of lists)
195
+ for (const s of list)
196
+ if (!byValue.has(s.value))
197
+ byValue.set(s.value, s);
198
+ return Array.from(byValue.values()).sort((a, b) => b.value.length - a.value.length);
199
+ }
200
+ //# sourceMappingURL=secret-scrub.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secret-scrub.service.js","sourceRoot":"","sources":["../../../../../../backend/src/services/security/secret-scrub.service.ts"],"names":[],"mappings":"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"}
@@ -77,10 +77,12 @@ export declare class PtySessionBackend implements ISessionBackend {
77
77
  */
78
78
  private sessionLogStreams;
79
79
  /**
80
- * Per session: the secret values (from the backend env and the session's
81
- * spawn env) masked by value before anything is written to its log.
80
+ * Per session: the streaming redactor every byte passes through before it
81
+ * is written to the session log. It masks secrets by name, by shape and by
82
+ * exact value (backend env + the session's spawn env), and holds back the
83
+ * tail of each chunk so a secret split across two chunks is still caught.
82
84
  */
83
- private sessionLogSecrets;
85
+ private sessionLogRedactors;
84
86
  /**
85
87
  * Directory for persistent session log files
86
88
  */
@@ -449,12 +451,14 @@ export declare class PtySessionBackend implements ISessionBackend {
449
451
  * Write ANSI-stripped, secret-redacted terminal data to a session's
450
452
  * persistent log file.
451
453
  *
452
- * Secrets matching SECRET_PATTERNS (Google `AIza…`, OpenAI/Anthropic `sk-…`,
453
- * GitHub/Slack tokens, …) are masked before writing, and so is the exact
454
- * value of every secret-named variable in the backend env or the session's
455
- * spawn env (which catches secrets no pattern recognises). This is a backstop:
456
- * keys are no longer typed into sessions at all, and a secret split across
457
- * two output chunks is not caught here.
454
+ * Everything goes through the session's StreamingSecretRedactor
455
+ * (utils/secret-redactor): `NAME=value` for secret names, raw token shapes
456
+ * (Google `AIza…`, OpenAI/Anthropic `sk-…`, Slack `xox…`/`xapp-…`, GitHub
457
+ * `ghp_…`/`github_pat_…`, …) and the exact value of every secret-named
458
+ * variable in the backend env or the session's spawn env. The redactor
459
+ * carries the unfinished last word into the next chunk, so a secret split
460
+ * across two output chunks is still masked; the carry is written when the
461
+ * log closes. This is a backstop: keys are no longer typed into sessions.
458
462
  *
459
463
  * @param sessionName - Name of the session
460
464
  * @param data - Raw terminal data (with ANSI codes)
@@ -1 +1 @@
1
- {"version":3,"file":"pty-session-backend.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/session/pty/pty-session-backend.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pty-session-backend.d.ts","sourceRoot":"","sources":["../../../../../../../backend/src/services/session/pty/pty-session-backend.ts"],"names":[],"mappings":"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"}