claude-cognitive 0.2.9 → 0.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/commands/install.d.ts.map +1 -1
- package/dist/cli/commands/install.js +73 -31
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/sync-session.d.ts.map +1 -1
- package/dist/cli/commands/sync-session.js.map +1 -1
- package/dist/cli/commands/uninstall.d.ts.map +1 -1
- package/dist/cli/commands/uninstall.js +70 -1
- package/dist/cli/commands/uninstall.js.map +1 -1
- package/dist/cli/commands/update-bank.d.ts.map +1 -1
- package/dist/cli/commands/update-bank.js +9 -9
- package/dist/cli/commands/update-bank.js.map +1 -1
- package/dist/cli/commands/update.d.ts.map +1 -1
- package/dist/cli/commands/update.js +40 -28
- package/dist/cli/commands/update.js.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/utils/errors.d.ts +1 -0
- package/dist/cli/utils/errors.d.ts.map +1 -1
- package/dist/cli/utils/errors.js +1 -0
- package/dist/cli/utils/errors.js.map +1 -1
- package/dist/config.d.ts +6 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +30 -0
- package/dist/config.js.map +1 -1
- package/dist/hooks/process-session.d.ts +25 -0
- package/dist/hooks/process-session.d.ts.map +1 -1
- package/dist/hooks/process-session.js +200 -1
- package/dist/hooks/process-session.js.map +1 -1
- package/dist/learn/analyzers/source.d.ts.map +1 -1
- package/dist/learn/analyzers/source.js +9 -2
- package/dist/learn/analyzers/source.js.map +1 -1
- package/dist/learn/index.d.ts.map +1 -1
- package/dist/learn/index.js +16 -5
- package/dist/learn/index.js.map +1 -1
- package/dist/mcp/server.d.ts +3 -0
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +50 -12
- package/dist/mcp/server.js.map +1 -1
- package/dist/mind.d.ts +12 -1
- package/dist/mind.d.ts.map +1 -1
- package/dist/mind.js +119 -78
- package/dist/mind.js.map +1 -1
- package/dist/semantic.d.ts +1 -1
- package/dist/semantic.d.ts.map +1 -1
- package/dist/semantic.js +18 -11
- package/dist/semantic.js.map +1 -1
- package/dist/types.d.ts +24 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/cli/index.js
CHANGED
|
@@ -9,7 +9,7 @@ import { registerInjectContextCommand } from "../hooks/inject-context.js";
|
|
|
9
9
|
import { registerProcessSessionCommand } from "../hooks/process-session.js";
|
|
10
10
|
import { registerBufferMessageCommand } from "../hooks/buffer-message.js";
|
|
11
11
|
// Get version from package.json
|
|
12
|
-
const VERSION = "0.2
|
|
12
|
+
const VERSION = "0.3.2";
|
|
13
13
|
/**
|
|
14
14
|
* Create and configure the CLI.
|
|
15
15
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;GAEG;AACH,eAAO,MAAM,QAAQ
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/cli/utils/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;GAEG;AACH,eAAO,MAAM,QAAQ;;;;;;CAMX,CAAC;AAEX,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,QAAQ,CAAC,CAAC,MAAM,OAAO,QAAQ,CAAC,CAAC;AAMhE;;GAEG;AACH,qBAAa,QAAS,SAAQ,KAAK;aAGf,IAAI,EAAE,QAAQ;aACd,IAAI,CAAC,EAAE,MAAM;gBAF7B,OAAO,EAAE,MAAM,EACC,IAAI,GAAE,QAAiC,EACvC,IAAI,CAAC,EAAE,MAAM,YAAA;CAKhC;AAMD;;;;;GAKG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,OAAO,EACd,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/B,KAAK,CAyBP;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,OAAO,EAAE,EAAE,CAAC,EACtD,EAAE,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAC9B,OAAO,GAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAO,GAC/B,CAAC,GAAG,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC,CAQpC"}
|
package/dist/cli/utils/errors.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/cli/utils/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,+CAA+C;AAC/C,aAAa;AACb,+CAA+C;AAE/C;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IACf,gBAAgB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/cli/utils/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,+CAA+C;AAC/C,aAAa;AACb,+CAA+C;AAE/C;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,OAAO,EAAE,CAAC;IACV,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,CAAC;IACf,gBAAgB,EAAE,CAAC;IACnB,SAAS,EAAE,CAAC;CACJ,CAAC;AAIX,+CAA+C;AAC/C,kBAAkB;AAClB,+CAA+C;AAE/C;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,KAAK;IAGf;IACA;IAHlB,YACE,OAAe,EACC,OAAiB,QAAQ,CAAC,aAAa,EACvC,IAAa;QAE7B,KAAK,CAAC,OAAO,CAAC,CAAC;QAHC,SAAI,GAAJ,IAAI,CAAmC;QACvC,SAAI,GAAJ,IAAI,CAAS;QAG7B,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;IACzB,CAAC;CACF;AAED,+CAA+C;AAC/C,gBAAgB;AAChB,+CAA+C;AAE/C;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CACzB,KAAc,EACd,UAA8B,EAAE;IAEhC,MAAM,QAAQ,GACZ,KAAK,YAAY,QAAQ;QACvB,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,IAAI,QAAQ,CACV,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,QAAQ,CAAC,aAAa,CACvB,CAAC;IAER,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CACX,IAAI,CAAC,SAAS,CAAC;YACb,KAAK,EAAE,QAAQ,CAAC,OAAO;YACvB,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,IAAI,EAAE,QAAQ,CAAC,IAAI;SACpB,CAAC,CACH,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,KAAK,CAAC,UAAU,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAC5C,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,SAAS,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AAC9B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAC/B,EAA8B,EAC9B,UAA8B,EAAE;IAEhC,OAAO,KAAK,EAAE,GAAG,IAAO,EAAE,EAAE;QAC1B,IAAI,CAAC;YACH,OAAO,MAAM,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;QAC3B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9B,CAAC;IACH,CAAC,CAAC;AACJ,CAAC"}
|
package/dist/config.d.ts
CHANGED
|
@@ -2,7 +2,12 @@
|
|
|
2
2
|
* Configuration loading for claude-cognitive.
|
|
3
3
|
* @module config
|
|
4
4
|
*/
|
|
5
|
-
import type { ClaudeMindConfig } from "./types.js";
|
|
5
|
+
import type { ClaudeMindConfig, RetainFilterConfig } from "./types.js";
|
|
6
|
+
/**
|
|
7
|
+
* Default retain filter configuration.
|
|
8
|
+
* Controls what transcript content gets filtered before retention.
|
|
9
|
+
*/
|
|
10
|
+
export declare const DEFAULT_RETAIN_FILTER: RetainFilterConfig;
|
|
6
11
|
/**
|
|
7
12
|
* Partial configuration for merging.
|
|
8
13
|
*/
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,KAAK,EACV,gBAAgB,EAEhB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB;;;GAGG;AACH,eAAO,MAAM,qBAAqB,EAAE,kBAQnC,CAAC;AAiBF;;GAEG;AACH,KAAK,WAAW,CAAC,CAAC,IAAI;KACnB,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAChE,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,gBAAgB,CAAC,CAAC;AAwP1D;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAsB,UAAU,CAC9B,WAAW,GAAE,MAAsB,EACnC,SAAS,CAAC,EAAE,aAAa,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAgC3B;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI,gBAAgB,CAEnD"}
|
package/dist/config.js
CHANGED
|
@@ -4,6 +4,19 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { readFile } from "node:fs/promises";
|
|
6
6
|
import { join } from "node:path";
|
|
7
|
+
/**
|
|
8
|
+
* Default retain filter configuration.
|
|
9
|
+
* Controls what transcript content gets filtered before retention.
|
|
10
|
+
*/
|
|
11
|
+
export const DEFAULT_RETAIN_FILTER = {
|
|
12
|
+
maxTranscriptLength: 25000,
|
|
13
|
+
filterToolResults: true,
|
|
14
|
+
filterFileContents: true,
|
|
15
|
+
maxCodeBlockLines: 30,
|
|
16
|
+
maxLineLength: 1000,
|
|
17
|
+
minSessionLength: 500,
|
|
18
|
+
skipToolOnlySessions: true,
|
|
19
|
+
};
|
|
7
20
|
/**
|
|
8
21
|
* Default configuration values.
|
|
9
22
|
*/
|
|
@@ -16,6 +29,7 @@ const DEFAULT_CONFIG = {
|
|
|
16
29
|
semantic: {
|
|
17
30
|
path: ".claude/memory.md",
|
|
18
31
|
},
|
|
32
|
+
retainFilter: DEFAULT_RETAIN_FILTER,
|
|
19
33
|
};
|
|
20
34
|
/**
|
|
21
35
|
* Check if a value is a plain object (not array, null, etc.).
|
|
@@ -45,6 +59,9 @@ function mergeConfig(target, source) {
|
|
|
45
59
|
if (target.background !== undefined) {
|
|
46
60
|
result.background = target.background;
|
|
47
61
|
}
|
|
62
|
+
if (target.retainFilter !== undefined) {
|
|
63
|
+
result.retainFilter = { ...target.retainFilter };
|
|
64
|
+
}
|
|
48
65
|
// Merge hindsight settings
|
|
49
66
|
if (source.hindsight) {
|
|
50
67
|
if (source.hindsight.host !== undefined) {
|
|
@@ -85,6 +102,13 @@ function mergeConfig(target, source) {
|
|
|
85
102
|
if (source.background !== undefined) {
|
|
86
103
|
result.background = source.background;
|
|
87
104
|
}
|
|
105
|
+
// Merge retainFilter settings
|
|
106
|
+
if (source.retainFilter !== undefined) {
|
|
107
|
+
result.retainFilter = {
|
|
108
|
+
...result.retainFilter,
|
|
109
|
+
...source.retainFilter,
|
|
110
|
+
};
|
|
111
|
+
}
|
|
88
112
|
return result;
|
|
89
113
|
}
|
|
90
114
|
/**
|
|
@@ -146,6 +170,9 @@ function applyEnvConfig(config) {
|
|
|
146
170
|
if (config.background !== undefined) {
|
|
147
171
|
result.background = config.background;
|
|
148
172
|
}
|
|
173
|
+
if (config.retainFilter !== undefined) {
|
|
174
|
+
result.retainFilter = { ...config.retainFilter };
|
|
175
|
+
}
|
|
149
176
|
// Hindsight connection settings
|
|
150
177
|
const host = process.env["HINDSIGHT_HOST"];
|
|
151
178
|
if (host) {
|
|
@@ -209,6 +236,9 @@ function cloneConfig(config) {
|
|
|
209
236
|
if (config.background !== undefined) {
|
|
210
237
|
result.background = config.background;
|
|
211
238
|
}
|
|
239
|
+
if (config.retainFilter !== undefined) {
|
|
240
|
+
result.retainFilter = { ...config.retainFilter };
|
|
241
|
+
}
|
|
212
242
|
return result;
|
|
213
243
|
}
|
|
214
244
|
/**
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,32 @@
|
|
|
5
5
|
* Safety filters:
|
|
6
6
|
* - Only processes projects with .claudemindrc
|
|
7
7
|
* - The stop hook script also filters agent sessions by filename
|
|
8
|
+
* - Content filtering removes noise (tool results, file contents, long code blocks)
|
|
9
|
+
* - Session skip logic filters low-value sessions
|
|
8
10
|
*/
|
|
9
11
|
import type { CAC } from "cac";
|
|
12
|
+
import type { RetainFilterConfig } from "../types.js";
|
|
13
|
+
/**
|
|
14
|
+
* Summarize long code blocks while preserving shorter ones.
|
|
15
|
+
* Replaces code blocks exceeding maxLines with a placeholder showing language and line count.
|
|
16
|
+
*/
|
|
17
|
+
declare function summarizeLongCodeBlocks(content: string, maxLines: number): string;
|
|
18
|
+
/**
|
|
19
|
+
* Truncate lines that exceed the maximum length.
|
|
20
|
+
*/
|
|
21
|
+
declare function truncateLongLines(content: string, maxLength: number): string;
|
|
22
|
+
/**
|
|
23
|
+
* Apply content filters to transcript based on configuration.
|
|
24
|
+
*/
|
|
25
|
+
declare function applyFilters(content: string, config: RetainFilterConfig): string;
|
|
26
|
+
/**
|
|
27
|
+
* Determine if a session should be skipped based on content analysis.
|
|
28
|
+
* Skips sessions that are too short or mostly tool outputs.
|
|
29
|
+
*/
|
|
30
|
+
declare function shouldSkipSession(transcript: string, config: RetainFilterConfig): {
|
|
31
|
+
skip: boolean;
|
|
32
|
+
reason?: string;
|
|
33
|
+
};
|
|
10
34
|
export declare function registerProcessSessionCommand(cli: CAC): void;
|
|
35
|
+
export { summarizeLongCodeBlocks as _summarizeLongCodeBlocks, truncateLongLines as _truncateLongLines, applyFilters as _applyFilters, shouldSkipSession as _shouldSkipSession, };
|
|
11
36
|
//# sourceMappingURL=process-session.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-session.d.ts","sourceRoot":"","sources":["../../src/hooks/process-session.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"process-session.d.ts","sourceRoot":"","sources":["../../src/hooks/process-session.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG/B,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AA8GtD;;;GAGG;AACH,iBAAS,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAS1E;AAED;;GAEG;AACH,iBAAS,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAUrE;AAED;;GAEG;AACH,iBAAS,YAAY,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,GAAG,MAAM,CAsCzE;AAMD;;;GAGG;AACH,iBAAS,iBAAiB,CACxB,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,kBAAkB,GACzB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAyCpC;AAqJD,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,GAAG,GAAG,IAAI,CAwF5D;AAoBD,OAAO,EACL,uBAAuB,IAAI,wBAAwB,EACnD,iBAAiB,IAAI,kBAAkB,EACvC,YAAY,IAAI,aAAa,EAC7B,iBAAiB,IAAI,kBAAkB,GACxC,CAAC"}
|
|
@@ -5,11 +5,190 @@
|
|
|
5
5
|
* Safety filters:
|
|
6
6
|
* - Only processes projects with .claudemindrc
|
|
7
7
|
* - The stop hook script also filters agent sessions by filename
|
|
8
|
+
* - Content filtering removes noise (tool results, file contents, long code blocks)
|
|
9
|
+
* - Session skip logic filters low-value sessions
|
|
8
10
|
*/
|
|
9
11
|
import { readFile, access } from "node:fs/promises";
|
|
10
12
|
import { createInterface } from "node:readline";
|
|
11
13
|
import { join } from "node:path";
|
|
12
14
|
import { Mind } from "../mind.js";
|
|
15
|
+
import { loadConfig, DEFAULT_RETAIN_FILTER } from "../config.js";
|
|
16
|
+
const TOOL_RESULT_PATTERNS = [
|
|
17
|
+
{
|
|
18
|
+
pattern: /<tool-result>[\s\S]*?<\/tool-result>/g,
|
|
19
|
+
replacement: "[Tool result filtered]",
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
pattern: /<read-file-result>[\s\S]*?<\/read-file-result>/g,
|
|
23
|
+
replacement: "[File read filtered]",
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
pattern: /<glob-result>[\s\S]*?<\/glob-result>/g,
|
|
27
|
+
replacement: "[Glob result filtered]",
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
pattern: /<grep-result>[\s\S]*?<\/grep-result>/g,
|
|
31
|
+
replacement: "[Grep result filtered]",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
pattern: /<bash-stdout>[\s\S]*?<\/bash-stdout>/g,
|
|
35
|
+
replacement: "[Command output filtered]",
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
const FILE_CONTENT_PATTERNS = [
|
|
39
|
+
{
|
|
40
|
+
pattern: /<file-contents[^>]*>[\s\S]*?<\/file-contents>/g,
|
|
41
|
+
replacement: "[File contents filtered]",
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
pattern: /<file-content[^>]*>[\s\S]*?<\/file-content>/g,
|
|
45
|
+
replacement: "[File content filtered]",
|
|
46
|
+
},
|
|
47
|
+
];
|
|
48
|
+
/**
|
|
49
|
+
* Additional noise patterns to filter.
|
|
50
|
+
*/
|
|
51
|
+
const NOISE_PATTERNS = [
|
|
52
|
+
// System reminders injected by Claude Code
|
|
53
|
+
{
|
|
54
|
+
pattern: /<system-reminder>[\s\S]*?<\/system-reminder>/g,
|
|
55
|
+
replacement: "",
|
|
56
|
+
},
|
|
57
|
+
// Base64 encoded content (images, binaries)
|
|
58
|
+
{
|
|
59
|
+
pattern: /data:[a-z]+\/[a-z+.-]+;base64,[A-Za-z0-9+/=]{100,}/g,
|
|
60
|
+
replacement: "[Base64 data filtered]",
|
|
61
|
+
},
|
|
62
|
+
// Long JSON objects (more than 500 chars)
|
|
63
|
+
{
|
|
64
|
+
pattern: /\{(?:[^{}]|\{[^{}]*\}){500,}\}/g,
|
|
65
|
+
replacement: "[Large JSON filtered]",
|
|
66
|
+
},
|
|
67
|
+
// Diff/patch content
|
|
68
|
+
{
|
|
69
|
+
pattern: /^[-+]{3} [ab]\/.*$[\s\S]*?(?=^[-+]{3} |$(?![\s\S]))/gm,
|
|
70
|
+
replacement: "[Diff filtered]",
|
|
71
|
+
},
|
|
72
|
+
// Stack traces (keep first line, filter rest)
|
|
73
|
+
{
|
|
74
|
+
pattern: /((?:Error|Exception|TypeError|ReferenceError|SyntaxError)[^\n]*)\n(?:\s+at [^\n]+\n?)+/g,
|
|
75
|
+
replacement: "$1 [stack trace filtered]",
|
|
76
|
+
},
|
|
77
|
+
// XML/HTML blocks (more than 500 chars)
|
|
78
|
+
{
|
|
79
|
+
pattern: /<[a-z][a-z0-9-]*(?:\s[^>]*)?>[\s\S]{500,}?<\/[a-z][a-z0-9-]*>/gi,
|
|
80
|
+
replacement: "[Large XML/HTML filtered]",
|
|
81
|
+
},
|
|
82
|
+
];
|
|
83
|
+
/**
|
|
84
|
+
* Summarize long code blocks while preserving shorter ones.
|
|
85
|
+
* Replaces code blocks exceeding maxLines with a placeholder showing language and line count.
|
|
86
|
+
*/
|
|
87
|
+
function summarizeLongCodeBlocks(content, maxLines) {
|
|
88
|
+
return content.replace(/```(\w*)\n([\s\S]*?)```/g, (match, lang, code) => {
|
|
89
|
+
const lines = code.split("\n").length;
|
|
90
|
+
if (lines > maxLines) {
|
|
91
|
+
const language = lang || "code";
|
|
92
|
+
return `[Code block: ${lines} lines of ${language}]`;
|
|
93
|
+
}
|
|
94
|
+
return match;
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Truncate lines that exceed the maximum length.
|
|
99
|
+
*/
|
|
100
|
+
function truncateLongLines(content, maxLength) {
|
|
101
|
+
return content
|
|
102
|
+
.split("\n")
|
|
103
|
+
.map((line) => {
|
|
104
|
+
if (line.length > maxLength) {
|
|
105
|
+
return line.slice(0, maxLength) + "... [truncated]";
|
|
106
|
+
}
|
|
107
|
+
return line;
|
|
108
|
+
})
|
|
109
|
+
.join("\n");
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Apply content filters to transcript based on configuration.
|
|
113
|
+
*/
|
|
114
|
+
function applyFilters(content, config) {
|
|
115
|
+
let filtered = content;
|
|
116
|
+
// Filter tool results
|
|
117
|
+
if (config.filterToolResults !== false) {
|
|
118
|
+
for (const { pattern, replacement } of TOOL_RESULT_PATTERNS) {
|
|
119
|
+
filtered = filtered.replace(pattern, replacement);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
// Filter file contents
|
|
123
|
+
if (config.filterFileContents !== false) {
|
|
124
|
+
for (const { pattern, replacement } of FILE_CONTENT_PATTERNS) {
|
|
125
|
+
filtered = filtered.replace(pattern, replacement);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
// Filter noise patterns (system reminders, base64, large JSON, etc.)
|
|
129
|
+
for (const { pattern, replacement } of NOISE_PATTERNS) {
|
|
130
|
+
filtered = filtered.replace(pattern, replacement);
|
|
131
|
+
}
|
|
132
|
+
// Summarize long code blocks
|
|
133
|
+
const maxCodeBlockLines = config.maxCodeBlockLines ?? 30;
|
|
134
|
+
if (maxCodeBlockLines > 0) {
|
|
135
|
+
filtered = summarizeLongCodeBlocks(filtered, maxCodeBlockLines);
|
|
136
|
+
}
|
|
137
|
+
// Truncate long lines
|
|
138
|
+
const maxLineLength = config.maxLineLength ?? 1000;
|
|
139
|
+
if (maxLineLength > 0) {
|
|
140
|
+
filtered = truncateLongLines(filtered, maxLineLength);
|
|
141
|
+
}
|
|
142
|
+
// Clean up excessive whitespace
|
|
143
|
+
filtered = filtered.replace(/\n{4,}/g, "\n\n\n");
|
|
144
|
+
return filtered;
|
|
145
|
+
}
|
|
146
|
+
// ============================================
|
|
147
|
+
// Session Skip Logic
|
|
148
|
+
// ============================================
|
|
149
|
+
/**
|
|
150
|
+
* Determine if a session should be skipped based on content analysis.
|
|
151
|
+
* Skips sessions that are too short or mostly tool outputs.
|
|
152
|
+
*/
|
|
153
|
+
function shouldSkipSession(transcript, config) {
|
|
154
|
+
// Skip if too short
|
|
155
|
+
const minLength = config.minSessionLength ?? 200;
|
|
156
|
+
if (transcript.length < minLength) {
|
|
157
|
+
return {
|
|
158
|
+
skip: true,
|
|
159
|
+
reason: `Session too short (${transcript.length} < ${minLength} chars)`,
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
// Skip if mostly tool outputs (heuristic check)
|
|
163
|
+
if (config.skipToolOnlySessions !== false) {
|
|
164
|
+
const filterPlaceholders = [
|
|
165
|
+
"[Tool result filtered]",
|
|
166
|
+
"[File read filtered]",
|
|
167
|
+
"[File contents filtered]",
|
|
168
|
+
"[File content filtered]",
|
|
169
|
+
"[Glob result filtered]",
|
|
170
|
+
"[Grep result filtered]",
|
|
171
|
+
"[Command output filtered]",
|
|
172
|
+
"[Code block:",
|
|
173
|
+
];
|
|
174
|
+
let placeholderCount = 0;
|
|
175
|
+
for (const placeholder of filterPlaceholders) {
|
|
176
|
+
const regex = new RegExp(placeholder.replace(/[[\]]/g, "\\$&"), "g");
|
|
177
|
+
const matches = transcript.match(regex);
|
|
178
|
+
placeholderCount += matches?.length ?? 0;
|
|
179
|
+
}
|
|
180
|
+
// If more than 80% of content is filtered placeholders, skip
|
|
181
|
+
const estimatedFilteredChars = placeholderCount * 50;
|
|
182
|
+
if (transcript.length > 0 &&
|
|
183
|
+
estimatedFilteredChars / transcript.length > 0.8) {
|
|
184
|
+
return { skip: true, reason: "Session is mostly tool outputs" };
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
return { skip: false };
|
|
188
|
+
}
|
|
189
|
+
// ============================================
|
|
190
|
+
// Transcript Parsing
|
|
191
|
+
// ============================================
|
|
13
192
|
/**
|
|
14
193
|
* Parse JSONL transcript and extract meaningful conversation content.
|
|
15
194
|
* Filters out metadata and extracts only user messages and assistant responses.
|
|
@@ -170,14 +349,32 @@ export function registerProcessSessionCommand(cli) {
|
|
|
170
349
|
process.exit(0);
|
|
171
350
|
return;
|
|
172
351
|
}
|
|
352
|
+
// Load configuration
|
|
353
|
+
const config = await loadConfig(projectPath);
|
|
354
|
+
const filterConfig = config.retainFilter ?? DEFAULT_RETAIN_FILTER;
|
|
173
355
|
// Read transcript
|
|
174
|
-
|
|
356
|
+
let transcript = await readTranscript(options.transcript);
|
|
175
357
|
if (!transcript || transcript.trim().length === 0) {
|
|
176
358
|
result.error = "No transcript provided";
|
|
177
359
|
outputResult(result, options.json);
|
|
178
360
|
process.exit(0);
|
|
179
361
|
return;
|
|
180
362
|
}
|
|
363
|
+
// Step 1: Apply content filters
|
|
364
|
+
transcript = applyFilters(transcript, filterConfig);
|
|
365
|
+
// Step 2: Check if session should be skipped
|
|
366
|
+
const skipResult = shouldSkipSession(transcript, filterConfig);
|
|
367
|
+
if (skipResult.skip) {
|
|
368
|
+
result.error = `Session skipped: ${skipResult.reason}`;
|
|
369
|
+
outputResult(result, options.json);
|
|
370
|
+
process.exit(0);
|
|
371
|
+
return;
|
|
372
|
+
}
|
|
373
|
+
// Step 3: Truncate if too long
|
|
374
|
+
const maxLength = filterConfig.maxTranscriptLength ?? 25000;
|
|
375
|
+
if (transcript.length > maxLength) {
|
|
376
|
+
transcript = transcript.slice(0, maxLength) + "\n[Truncated]";
|
|
377
|
+
}
|
|
181
378
|
result.transcriptLength = transcript.length;
|
|
182
379
|
// Initialize Mind
|
|
183
380
|
const mind = new Mind({ projectPath });
|
|
@@ -219,4 +416,6 @@ function outputResult(result, json) {
|
|
|
219
416
|
}
|
|
220
417
|
}
|
|
221
418
|
}
|
|
419
|
+
// Export filtering functions for testing
|
|
420
|
+
export { summarizeLongCodeBlocks as _summarizeLongCodeBlocks, truncateLongLines as _truncateLongLines, applyFilters as _applyFilters, shouldSkipSession as _shouldSkipSession, };
|
|
222
421
|
//# sourceMappingURL=process-session.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-session.js","sourceRoot":"","sources":["../../src/hooks/process-session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"process-session.js","sourceRoot":"","sources":["../../src/hooks/process-session.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../src/learn/analyzers/source.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,uBAAuB;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,WAAW,EAAE,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,OAAO,CAAC;IACjE,8BAA8B;IAC9B,WAAW,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;IAC3C,8BAA8B;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6BAA6B;IAC7B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,yBAAyB;IACzB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,yBAAyB;IACzB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAkBD;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"source.d.ts","sourceRoot":"","sources":["../../../src/learn/analyzers/source.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,yDAAyD;IACzD,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,uBAAuB;IACvB,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,WAAW,EAAE,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,OAAO,CAAC;IACjE,8BAA8B;IAC9B,WAAW,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;IAC3C,8BAA8B;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,uCAAuC;IACvC,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,6BAA6B;IAC7B,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,yBAAyB;IACzB,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,yBAAyB;IACzB,WAAW,EAAE,iBAAiB,CAAC;IAC/B,qBAAqB;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAkBD;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,cAAc,CAAC,CA+EzB;AAsLD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAajE"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* @module learn/analyzers/source
|
|
4
4
|
*/
|
|
5
5
|
import { readFile } from "node:fs/promises";
|
|
6
|
-
import { extname } from "node:path";
|
|
6
|
+
import { extname, resolve } from "node:path";
|
|
7
7
|
/**
|
|
8
8
|
* Analyze source files in a project.
|
|
9
9
|
*
|
|
@@ -26,9 +26,16 @@ export async function analyzeSource(projectPath, filePaths) {
|
|
|
26
26
|
promiseCount: 0,
|
|
27
27
|
};
|
|
28
28
|
let filesAnalyzed = 0;
|
|
29
|
+
const normalizedProject = resolve(projectPath);
|
|
29
30
|
for (const filePath of filePaths) {
|
|
30
31
|
try {
|
|
31
|
-
|
|
32
|
+
// Safely resolve the path and validate it's within the project
|
|
33
|
+
const fullPath = resolve(projectPath, filePath);
|
|
34
|
+
if (!fullPath.startsWith(normalizedProject + "/") &&
|
|
35
|
+
fullPath !== normalizedProject) {
|
|
36
|
+
// Skip files outside the project directory (path traversal protection)
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
32
39
|
const content = await readFile(fullPath, "utf-8");
|
|
33
40
|
const ext = extname(filePath).toLowerCase();
|
|
34
41
|
// Only analyze JS/TS files
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source.js","sourceRoot":"","sources":["../../../src/learn/analyzers/source.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"source.js","sourceRoot":"","sources":["../../../src/learn/analyzers/source.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/learn/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAU,YAAY,EAAE,WAAW,EAAW,MAAM,aAAa,CAAC;AAoB9E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,KAAK,CACzB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/learn/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,KAAK,EAAU,YAAY,EAAE,WAAW,EAAW,MAAM,aAAa,CAAC;AAoB9E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,KAAK,CACzB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,YAAiB,GACzB,OAAO,CAAC,WAAW,CAAC,CAoFtB"}
|
package/dist/learn/index.js
CHANGED
|
@@ -62,6 +62,7 @@ export async function learn(client, bankId, projectPath, options = {}) {
|
|
|
62
62
|
const opinions = [];
|
|
63
63
|
const entities = [];
|
|
64
64
|
const entitySet = new Set();
|
|
65
|
+
const reflectionFailures = [];
|
|
65
66
|
const reflectionQueries = getReflectionQueries(opts.depth);
|
|
66
67
|
for (const query of reflectionQueries) {
|
|
67
68
|
try {
|
|
@@ -82,19 +83,26 @@ export async function learn(client, bankId, projectPath, options = {}) {
|
|
|
82
83
|
}
|
|
83
84
|
}
|
|
84
85
|
}
|
|
85
|
-
catch {
|
|
86
|
-
//
|
|
86
|
+
catch (error) {
|
|
87
|
+
// Track reflection failures for visibility
|
|
88
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
89
|
+
reflectionFailures.push(`${query}: ${msg}`);
|
|
87
90
|
}
|
|
88
91
|
}
|
|
89
92
|
const duration = Date.now() - startTime;
|
|
90
|
-
|
|
91
|
-
summary: generateSummary(worldFacts, opinions, analysis.filesAnalyzed, duration, failedFacts),
|
|
93
|
+
const result = {
|
|
94
|
+
summary: generateSummary(worldFacts, opinions, analysis.filesAnalyzed, duration, failedFacts, reflectionFailures),
|
|
92
95
|
worldFacts,
|
|
93
96
|
opinions,
|
|
94
97
|
entities,
|
|
95
98
|
filesAnalyzed: analysis.filesAnalyzed,
|
|
96
99
|
duration,
|
|
97
100
|
};
|
|
101
|
+
// Only add reflectionFailures if there are any (exactOptionalPropertyTypes compliance)
|
|
102
|
+
if (reflectionFailures.length > 0) {
|
|
103
|
+
result.reflectionFailures = reflectionFailures;
|
|
104
|
+
}
|
|
105
|
+
return result;
|
|
98
106
|
}
|
|
99
107
|
/**
|
|
100
108
|
* Run analysis based on depth.
|
|
@@ -149,7 +157,7 @@ function getReflectionQueries(depth) {
|
|
|
149
157
|
* Generate human-readable summary.
|
|
150
158
|
* @internal
|
|
151
159
|
*/
|
|
152
|
-
function generateSummary(worldFacts, opinions, filesAnalyzed, duration, failedFacts) {
|
|
160
|
+
function generateSummary(worldFacts, opinions, filesAnalyzed, duration, failedFacts, reflectionFailures) {
|
|
153
161
|
const parts = [];
|
|
154
162
|
parts.push(`Learned ${worldFacts} world facts from ${filesAnalyzed} files`);
|
|
155
163
|
if (opinions.length > 0) {
|
|
@@ -160,6 +168,9 @@ function generateSummary(worldFacts, opinions, filesAnalyzed, duration, failedFa
|
|
|
160
168
|
if (failedFacts.length > 0) {
|
|
161
169
|
parts.push(`(${failedFacts.length} facts failed to store)`);
|
|
162
170
|
}
|
|
171
|
+
if (reflectionFailures.length > 0) {
|
|
172
|
+
parts.push(`(${reflectionFailures.length} reflection queries failed)`);
|
|
173
|
+
}
|
|
163
174
|
return parts.join("; ");
|
|
164
175
|
}
|
|
165
176
|
//# sourceMappingURL=index.js.map
|