clitrigger 0.1.11 → 0.1.13
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/README.md +28 -22
- package/README_KR.md +29 -23
- package/dist/client/assets/index-BWNQgE_E.js +649 -0
- package/dist/client/assets/index-Ck_mmrzu.css +32 -0
- package/dist/client/index.html +2 -2
- package/dist/server/data/cli-models-registry.json +12 -1
- package/dist/server/db/queries.d.ts +83 -6
- package/dist/server/db/queries.d.ts.map +1 -1
- package/dist/server/db/queries.js +253 -9
- package/dist/server/db/queries.js.map +1 -1
- package/dist/server/db/schema.d.ts.map +1 -1
- package/dist/server/db/schema.js +100 -0
- package/dist/server/db/schema.js.map +1 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +6 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/lib/git.d.ts +1 -0
- package/dist/server/lib/git.d.ts.map +1 -1
- package/dist/server/lib/git.js +11 -0
- package/dist/server/lib/git.js.map +1 -1
- package/dist/server/plugins/harness/adapters/claude.d.ts +3 -0
- package/dist/server/plugins/harness/adapters/claude.d.ts.map +1 -0
- package/dist/server/plugins/harness/adapters/claude.js +98 -0
- package/dist/server/plugins/harness/adapters/claude.js.map +1 -0
- package/dist/server/plugins/harness/adapters/codex.d.ts +3 -0
- package/dist/server/plugins/harness/adapters/codex.d.ts.map +1 -0
- package/dist/server/plugins/harness/adapters/codex.js +136 -0
- package/dist/server/plugins/harness/adapters/codex.js.map +1 -0
- package/dist/server/plugins/harness/adapters/gemini.d.ts +3 -0
- package/dist/server/plugins/harness/adapters/gemini.d.ts.map +1 -0
- package/dist/server/plugins/harness/adapters/gemini.js +118 -0
- package/dist/server/plugins/harness/adapters/gemini.js.map +1 -0
- package/dist/server/plugins/harness/index.d.ts +3 -0
- package/dist/server/plugins/harness/index.d.ts.map +1 -0
- package/dist/server/plugins/harness/index.js +13 -0
- package/dist/server/plugins/harness/index.js.map +1 -0
- package/dist/server/plugins/harness/io.d.ts +12 -0
- package/dist/server/plugins/harness/io.d.ts.map +1 -0
- package/dist/server/plugins/harness/io.js +94 -0
- package/dist/server/plugins/harness/io.js.map +1 -0
- package/dist/server/plugins/harness/router.d.ts +4 -0
- package/dist/server/plugins/harness/router.d.ts.map +1 -0
- package/dist/server/plugins/harness/router.js +206 -0
- package/dist/server/plugins/harness/router.js.map +1 -0
- package/dist/server/plugins/harness/types.d.ts +40 -0
- package/dist/server/plugins/harness/types.d.ts.map +1 -0
- package/dist/server/plugins/harness/types.js +2 -0
- package/dist/server/plugins/harness/types.js.map +1 -0
- package/dist/server/routes/discussions.d.ts.map +1 -1
- package/dist/server/routes/discussions.js +116 -6
- package/dist/server/routes/discussions.js.map +1 -1
- package/dist/server/routes/favorites.d.ts +3 -0
- package/dist/server/routes/favorites.d.ts.map +1 -0
- package/dist/server/routes/favorites.js +201 -0
- package/dist/server/routes/favorites.js.map +1 -0
- package/dist/server/routes/logs.d.ts.map +1 -1
- package/dist/server/routes/logs.js +16 -5
- package/dist/server/routes/logs.js.map +1 -1
- package/dist/server/routes/memory.d.ts +3 -0
- package/dist/server/routes/memory.d.ts.map +1 -0
- package/dist/server/routes/memory.js +651 -0
- package/dist/server/routes/memory.js.map +1 -0
- package/dist/server/routes/projects.d.ts.map +1 -1
- package/dist/server/routes/projects.js +13 -4
- package/dist/server/routes/projects.js.map +1 -1
- package/dist/server/routes/review.d.ts.map +1 -1
- package/dist/server/routes/review.js +152 -1
- package/dist/server/routes/review.js.map +1 -1
- package/dist/server/routes/sessions.d.ts.map +1 -1
- package/dist/server/routes/sessions.js +24 -2
- package/dist/server/routes/sessions.js.map +1 -1
- package/dist/server/routes/todos.d.ts.map +1 -1
- package/dist/server/routes/todos.js +17 -3
- package/dist/server/routes/todos.js.map +1 -1
- package/dist/server/services/claude-manager.d.ts +18 -1
- package/dist/server/services/claude-manager.d.ts.map +1 -1
- package/dist/server/services/claude-manager.js +99 -5
- package/dist/server/services/claude-manager.js.map +1 -1
- package/dist/server/services/discussion-extractor.d.ts +7 -0
- package/dist/server/services/discussion-extractor.d.ts.map +1 -0
- package/dist/server/services/discussion-extractor.js +167 -0
- package/dist/server/services/discussion-extractor.js.map +1 -0
- package/dist/server/services/discussion-orchestrator.d.ts.map +1 -1
- package/dist/server/services/discussion-orchestrator.js +38 -1
- package/dist/server/services/discussion-orchestrator.js.map +1 -1
- package/dist/server/services/log-streamer.d.ts +20 -0
- package/dist/server/services/log-streamer.d.ts.map +1 -1
- package/dist/server/services/log-streamer.js +81 -3
- package/dist/server/services/log-streamer.js.map +1 -1
- package/dist/server/services/memory-ingest.d.ts +16 -0
- package/dist/server/services/memory-ingest.d.ts.map +1 -0
- package/dist/server/services/memory-ingest.js +488 -0
- package/dist/server/services/memory-ingest.js.map +1 -0
- package/dist/server/services/memory-inject-hook.d.ts +9 -0
- package/dist/server/services/memory-inject-hook.d.ts.map +1 -0
- package/dist/server/services/memory-inject-hook.js +17 -0
- package/dist/server/services/memory-inject-hook.js.map +1 -0
- package/dist/server/services/memory-injector.d.ts +15 -0
- package/dist/server/services/memory-injector.d.ts.map +1 -0
- package/dist/server/services/memory-injector.js +107 -0
- package/dist/server/services/memory-injector.js.map +1 -0
- package/dist/server/services/memory-wikilinks.d.ts +34 -0
- package/dist/server/services/memory-wikilinks.d.ts.map +1 -0
- package/dist/server/services/memory-wikilinks.js +86 -0
- package/dist/server/services/memory-wikilinks.js.map +1 -0
- package/dist/server/services/model-sync.js +1 -1
- package/dist/server/services/orchestrator.d.ts.map +1 -1
- package/dist/server/services/orchestrator.js +37 -0
- package/dist/server/services/orchestrator.js.map +1 -1
- package/dist/server/services/pty-output-filter.d.ts +12 -0
- package/dist/server/services/pty-output-filter.d.ts.map +1 -1
- package/dist/server/services/pty-output-filter.js +94 -1
- package/dist/server/services/pty-output-filter.js.map +1 -1
- package/dist/server/services/review-capture.d.ts +5 -3
- package/dist/server/services/review-capture.d.ts.map +1 -1
- package/dist/server/services/review-capture.js +29 -7
- package/dist/server/services/review-capture.js.map +1 -1
- package/dist/server/services/session-manager.d.ts +22 -1
- package/dist/server/services/session-manager.d.ts.map +1 -1
- package/dist/server/services/session-manager.js +82 -5
- package/dist/server/services/session-manager.js.map +1 -1
- package/dist/server/websocket/broadcaster.d.ts +11 -0
- package/dist/server/websocket/broadcaster.d.ts.map +1 -1
- package/dist/server/websocket/broadcaster.js +67 -0
- package/dist/server/websocket/broadcaster.js.map +1 -1
- package/dist/server/websocket/events.d.ts +3 -0
- package/dist/server/websocket/events.d.ts.map +1 -1
- package/dist/server/websocket/index.d.ts.map +1 -1
- package/dist/server/websocket/index.js +45 -2
- package/dist/server/websocket/index.js.map +1 -1
- package/package.json +3 -1
- package/dist/client/assets/index-D4Xur2yY.css +0 -1
- package/dist/client/assets/index-Dz1uDy_d.js +0 -567
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
import * as queries from '../db/queries.js';
|
|
2
|
+
import { parseWikilinks } from './memory-wikilinks.js';
|
|
3
|
+
export function buildMemoryBlock(req) {
|
|
4
|
+
if (req.mode === 'none')
|
|
5
|
+
return null;
|
|
6
|
+
let nodes;
|
|
7
|
+
if (req.mode === 'all') {
|
|
8
|
+
nodes = queries.getMemoryNodesByProjectId(req.projectId);
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
const ids = (req.nodeIds ?? []).filter(Boolean);
|
|
12
|
+
if (ids.length === 0)
|
|
13
|
+
return null;
|
|
14
|
+
nodes = queries.getMemoryNodesByIds(ids).filter(n => n.project_id === req.projectId);
|
|
15
|
+
}
|
|
16
|
+
if (nodes.length === 0)
|
|
17
|
+
return null;
|
|
18
|
+
const edges = req.includeEdges !== false
|
|
19
|
+
? queries.getMemoryEdgesForNodes(nodes.map(n => n.id))
|
|
20
|
+
: [];
|
|
21
|
+
return {
|
|
22
|
+
block: formatMemoryBlock(nodes, edges),
|
|
23
|
+
nodeCount: nodes.length,
|
|
24
|
+
edgeCount: edges.length,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
function formatMemoryBlock(nodes, edges) {
|
|
28
|
+
const lines = [];
|
|
29
|
+
lines.push('<long_term_memory>');
|
|
30
|
+
lines.push('You have access to the following long-term project memory. Treat each <memory_node> as authoritative reference material curated by the user. Apply it where relevant; you may quote IDs (e.g. "per memory_node:abc123") when explaining decisions, but do not echo entire bodies verbatim unless asked. Wikilinks in the form [[#nodeId:Title]] reference other nodes in this block; an unresolved [[Title]] indicates a node that has not been created yet.');
|
|
31
|
+
lines.push('');
|
|
32
|
+
// Build a project-wide title→id index so wikilinks can be normalized to [[#id:title]]
|
|
33
|
+
const projectId = nodes[0]?.project_id;
|
|
34
|
+
const projectNodes = projectId ? queries.getMemoryNodesByProjectId(projectId) : [];
|
|
35
|
+
const titleIndex = new Map();
|
|
36
|
+
for (const pn of projectNodes) {
|
|
37
|
+
titleIndex.set(pn.title.toLowerCase(), pn.id);
|
|
38
|
+
}
|
|
39
|
+
for (const n of nodes) {
|
|
40
|
+
const titleAttr = escapeAttr(n.title);
|
|
41
|
+
const tagsAttr = parseTagsList(n.tags);
|
|
42
|
+
const tagsAttrStr = tagsAttr.length > 0 ? ` tags="${escapeAttr(tagsAttr.join(','))}"` : '';
|
|
43
|
+
lines.push(`<memory_node id="${n.id}" title="${titleAttr}"${tagsAttrStr}>`);
|
|
44
|
+
if (n.body)
|
|
45
|
+
lines.push(normalizeWikilinks(n.body, titleIndex));
|
|
46
|
+
lines.push('</memory_node>');
|
|
47
|
+
}
|
|
48
|
+
if (edges.length > 0) {
|
|
49
|
+
lines.push('');
|
|
50
|
+
lines.push('<memory_relations>');
|
|
51
|
+
for (const e of edges) {
|
|
52
|
+
const labelPart = e.label ? `: ${e.label}` : '';
|
|
53
|
+
lines.push(`- ${e.from_node_id} --[${e.relation_type}${labelPart}]--> ${e.to_node_id}`);
|
|
54
|
+
}
|
|
55
|
+
lines.push('</memory_relations>');
|
|
56
|
+
}
|
|
57
|
+
lines.push('</long_term_memory>');
|
|
58
|
+
return lines.join('\n');
|
|
59
|
+
}
|
|
60
|
+
function escapeAttr(s) {
|
|
61
|
+
return s.replace(/"/g, '"').replace(/</g, '<').replace(/>/g, '>');
|
|
62
|
+
}
|
|
63
|
+
function normalizeWikilinks(body, titleIndex) {
|
|
64
|
+
const refs = parseWikilinks(body);
|
|
65
|
+
if (refs.length === 0)
|
|
66
|
+
return body;
|
|
67
|
+
// Walk the body in order, splicing each match with its resolved/unresolved replacement
|
|
68
|
+
const out = [];
|
|
69
|
+
let cursor = 0;
|
|
70
|
+
for (const ref of refs) {
|
|
71
|
+
out.push(body.slice(cursor, ref.start));
|
|
72
|
+
const id = titleIndex.get(ref.title.toLowerCase());
|
|
73
|
+
if (id) {
|
|
74
|
+
const aliasPart = ref.alias ? `|${ref.alias}` : '';
|
|
75
|
+
out.push(`[[#${id}:${ref.title}${aliasPart}]]`);
|
|
76
|
+
}
|
|
77
|
+
else {
|
|
78
|
+
out.push(ref.raw); // leave unresolved as-is (still readable to the LLM)
|
|
79
|
+
}
|
|
80
|
+
cursor = ref.end;
|
|
81
|
+
}
|
|
82
|
+
out.push(body.slice(cursor));
|
|
83
|
+
return out.join('');
|
|
84
|
+
}
|
|
85
|
+
function parseTagsList(tagsJson) {
|
|
86
|
+
if (!tagsJson)
|
|
87
|
+
return [];
|
|
88
|
+
try {
|
|
89
|
+
const parsed = JSON.parse(tagsJson);
|
|
90
|
+
return Array.isArray(parsed) ? parsed.map(String) : [];
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
return [];
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
export function parseMemoryNodeIds(raw) {
|
|
97
|
+
if (!raw)
|
|
98
|
+
return [];
|
|
99
|
+
try {
|
|
100
|
+
const parsed = JSON.parse(raw);
|
|
101
|
+
return Array.isArray(parsed) ? parsed.map(String).filter(Boolean) : [];
|
|
102
|
+
}
|
|
103
|
+
catch {
|
|
104
|
+
return [];
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
//# sourceMappingURL=memory-injector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-injector.js","sourceRoot":"","sources":["../../../src/server/services/memory-injector.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import type { MemoryNode } from '../db/queries.js';
|
|
2
|
+
export interface WikilinkRef {
|
|
3
|
+
raw: string;
|
|
4
|
+
title: string;
|
|
5
|
+
alias?: string;
|
|
6
|
+
start: number;
|
|
7
|
+
end: number;
|
|
8
|
+
}
|
|
9
|
+
export declare function parseWikilinks(body: string): WikilinkRef[];
|
|
10
|
+
export interface ResolvedWikilink {
|
|
11
|
+
title: string;
|
|
12
|
+
nodeId: string | null;
|
|
13
|
+
}
|
|
14
|
+
export declare function resolveWikilinks(projectId: string, titles: string[]): ResolvedWikilink[];
|
|
15
|
+
/**
|
|
16
|
+
* Replace `[[oldTitle]]` (case-insensitive title match) with `[[newTitle]]`,
|
|
17
|
+
* preserving any alias (`|alias`) or heading (`#section`) suffix the user wrote.
|
|
18
|
+
*/
|
|
19
|
+
export declare function replaceTitleInBody(body: string, oldTitle: string, newTitle: string): string;
|
|
20
|
+
/**
|
|
21
|
+
* Find every node whose body references `targetTitle` via `[[targetTitle]]`,
|
|
22
|
+
* returning the source node + a 60-char snippet around the first match.
|
|
23
|
+
*/
|
|
24
|
+
export interface BacklinkHit {
|
|
25
|
+
source: MemoryNode;
|
|
26
|
+
snippet: string;
|
|
27
|
+
}
|
|
28
|
+
export declare function findBacklinks(projectId: string, targetTitle: string, excludeNodeId?: string): BacklinkHit[];
|
|
29
|
+
/**
|
|
30
|
+
* Append `[[targetTitle]]` to the end of an existing body, separated by a blank line
|
|
31
|
+
* so it doesn't accidentally fuse with prior markdown. If the link already exists, no-op.
|
|
32
|
+
*/
|
|
33
|
+
export declare function appendWikilinkToBody(body: string, targetTitle: string): string;
|
|
34
|
+
//# sourceMappingURL=memory-wikilinks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-wikilinks.d.ts","sourceRoot":"","sources":["../../../src/server/services/memory-wikilinks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,WAAW,WAAW;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAID,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAiB1D;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,gBAAgB,EAAE,CAWxF;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAK3F;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,CAa3G;AAWD;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAO9E"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import * as queries from '../db/queries.js';
|
|
2
|
+
const WIKILINK_PATTERN = /\[\[([^\]\n|#]+)(?:#[^\]\n|]+)?(?:\|([^\]\n]+))?\]\]/g;
|
|
3
|
+
export function parseWikilinks(body) {
|
|
4
|
+
if (!body)
|
|
5
|
+
return [];
|
|
6
|
+
const refs = [];
|
|
7
|
+
WIKILINK_PATTERN.lastIndex = 0;
|
|
8
|
+
let match;
|
|
9
|
+
while ((match = WIKILINK_PATTERN.exec(body)) !== null) {
|
|
10
|
+
const title = match[1].trim();
|
|
11
|
+
if (!title)
|
|
12
|
+
continue;
|
|
13
|
+
refs.push({
|
|
14
|
+
raw: match[0],
|
|
15
|
+
title,
|
|
16
|
+
alias: match[2]?.trim() || undefined,
|
|
17
|
+
start: match.index,
|
|
18
|
+
end: match.index + match[0].length,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
return refs;
|
|
22
|
+
}
|
|
23
|
+
export function resolveWikilinks(projectId, titles) {
|
|
24
|
+
const seen = new Set();
|
|
25
|
+
const results = [];
|
|
26
|
+
for (const title of titles) {
|
|
27
|
+
const key = title.toLowerCase();
|
|
28
|
+
if (seen.has(key))
|
|
29
|
+
continue;
|
|
30
|
+
seen.add(key);
|
|
31
|
+
const node = queries.getMemoryNodeByTitle(projectId, title);
|
|
32
|
+
results.push({ title, nodeId: node?.id ?? null });
|
|
33
|
+
}
|
|
34
|
+
return results;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Replace `[[oldTitle]]` (case-insensitive title match) with `[[newTitle]]`,
|
|
38
|
+
* preserving any alias (`|alias`) or heading (`#section`) suffix the user wrote.
|
|
39
|
+
*/
|
|
40
|
+
export function replaceTitleInBody(body, oldTitle, newTitle) {
|
|
41
|
+
if (!body)
|
|
42
|
+
return body;
|
|
43
|
+
const escaped = oldTitle.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
44
|
+
const re = new RegExp(`\\[\\[\\s*${escaped}\\s*((?:#[^\\]\\n|]+)?(?:\\|[^\\]\\n]+)?)\\]\\]`, 'gi');
|
|
45
|
+
return body.replace(re, (_full, suffix) => `[[${newTitle}${suffix ?? ''}]]`);
|
|
46
|
+
}
|
|
47
|
+
export function findBacklinks(projectId, targetTitle, excludeNodeId) {
|
|
48
|
+
const all = queries.getMemoryNodesByProjectId(projectId);
|
|
49
|
+
const hits = [];
|
|
50
|
+
const lowerTarget = targetTitle.toLowerCase();
|
|
51
|
+
for (const node of all) {
|
|
52
|
+
if (node.id === excludeNodeId)
|
|
53
|
+
continue;
|
|
54
|
+
if (!node.body)
|
|
55
|
+
continue;
|
|
56
|
+
const refs = parseWikilinks(node.body);
|
|
57
|
+
const ref = refs.find(r => r.title.toLowerCase() === lowerTarget);
|
|
58
|
+
if (!ref)
|
|
59
|
+
continue;
|
|
60
|
+
hits.push({ source: node, snippet: buildSnippet(node.body, ref.start, ref.end) });
|
|
61
|
+
}
|
|
62
|
+
return hits;
|
|
63
|
+
}
|
|
64
|
+
function buildSnippet(body, start, end, radius = 30) {
|
|
65
|
+
const left = Math.max(0, start - radius);
|
|
66
|
+
const right = Math.min(body.length, end + radius);
|
|
67
|
+
const slice = body.slice(left, right).replace(/\s+/g, ' ').trim();
|
|
68
|
+
const prefix = left > 0 ? '…' : '';
|
|
69
|
+
const suffix = right < body.length ? '…' : '';
|
|
70
|
+
return `${prefix}${slice}${suffix}`;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Append `[[targetTitle]]` to the end of an existing body, separated by a blank line
|
|
74
|
+
* so it doesn't accidentally fuse with prior markdown. If the link already exists, no-op.
|
|
75
|
+
*/
|
|
76
|
+
export function appendWikilinkToBody(body, targetTitle) {
|
|
77
|
+
const refs = parseWikilinks(body);
|
|
78
|
+
const exists = refs.some(r => r.title.toLowerCase() === targetTitle.toLowerCase());
|
|
79
|
+
if (exists)
|
|
80
|
+
return body;
|
|
81
|
+
const link = `[[${targetTitle}]]`;
|
|
82
|
+
if (!body.trim())
|
|
83
|
+
return link;
|
|
84
|
+
return `${body.trimEnd()}\n\n${link}`;
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=memory-wikilinks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-wikilinks.js","sourceRoot":"","sources":["../../../src/server/services/memory-wikilinks.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,7 +12,7 @@ const REGISTRY_PATH = path.resolve(__dirname, '../data/cli-models-registry.json'
|
|
|
12
12
|
* as a prefix on cli_versions.last_version so a bump causes maybeTriggerSync
|
|
13
13
|
* to treat the current record as stale and resync on the next version probe.
|
|
14
14
|
*/
|
|
15
|
-
const SYNC_ALGORITHM_VERSION = '
|
|
15
|
+
const SYNC_ALGORITHM_VERSION = '5';
|
|
16
16
|
function encodeStoredVersion(version) {
|
|
17
17
|
return `${SYNC_ALGORITHM_VERSION}|${version}`;
|
|
18
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/server/services/orchestrator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/server/services/orchestrator.ts"],"names":[],"mappings":"AAGA,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAkBrE,qBAAa,YAAY;IACvB,OAAO,CAAC,eAAe,CAA+C;IAEtE;;;OAGG;IACH,wBAAwB,IAAI,IAAI;IAKhC,uBAAuB,IAAI,IAAI;IAO/B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,cAAc;IAStB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;;;;OAKG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAkBnB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAa9B;;;;OAIG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BpD;;;OAGG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IASnD;;;OAGG;IACG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,GAAE,UAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAsC7E;;;;OAIG;IACG,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,IAAI,GAAE,UAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAyCxG;;OAEG;IACG,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkB7C;;;;OAIG;YACW,eAAe;IAue7B;;;OAGG;YACW,kBAAkB;IAsDhC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAM7B;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAuBnC;;;;;;;;OAQG;YACW,sBAAsB;CAiCrC;AAED,eAAO,MAAM,YAAY,cAAqB,CAAC"}
|
|
@@ -6,10 +6,13 @@ import { getAdapter } from './cli-adapters.js';
|
|
|
6
6
|
import { logStreamer } from './log-streamer.js';
|
|
7
7
|
import { getTodoImagePaths } from '../routes/images.js';
|
|
8
8
|
import { getExecutionHookPlugins } from '../plugins/registry.js';
|
|
9
|
+
import { applyMemoryInjection } from './memory-inject-hook.js';
|
|
10
|
+
import { parseMemoryNodeIds } from './memory-injector.js';
|
|
9
11
|
import { broadcaster } from '../websocket/broadcaster.js';
|
|
10
12
|
import { validatePromptContent } from './prompt-guard.js';
|
|
11
13
|
import { debugLogger } from './debug-logger.js';
|
|
12
14
|
import { captureReviewMetadata } from './review-capture.js';
|
|
15
|
+
import { ingestSource, buildSourceTextFromTodo } from './memory-ingest.js';
|
|
13
16
|
import * as queries from '../db/queries.js';
|
|
14
17
|
const MAX_CONTEXT_SWITCHES = 3;
|
|
15
18
|
const STALE_CHECK_INTERVAL_MS = 30_000; // 30 seconds
|
|
@@ -516,6 +519,19 @@ Complete the task in the current directory.`;
|
|
|
516
519
|
queries.createTaskLog(todoId, 'error', `Plugin "${plugin.id}" hook failed: ${msg}`);
|
|
517
520
|
}
|
|
518
521
|
}
|
|
522
|
+
// Inject long-term memory if configured for this todo
|
|
523
|
+
const memMode = (todo.memory_inject_mode || 'none');
|
|
524
|
+
if (memMode !== 'none') {
|
|
525
|
+
const memBlock = applyMemoryInjection({
|
|
526
|
+
projectId: project.id,
|
|
527
|
+
mode: memMode,
|
|
528
|
+
nodeIds: parseMemoryNodeIds(todo.memory_node_ids),
|
|
529
|
+
log: (type, message) => queries.createTaskLog(todoId, type, message, roundNumber),
|
|
530
|
+
});
|
|
531
|
+
if (memBlock) {
|
|
532
|
+
prompt = `${memBlock}\n\n${prompt}`;
|
|
533
|
+
}
|
|
534
|
+
}
|
|
519
535
|
// Determine model: task-level overrides project-level
|
|
520
536
|
const claudeModel = todo.cli_model || project.claude_model || undefined;
|
|
521
537
|
const claudeOptions = project.claude_options ? project.claude_options : undefined;
|
|
@@ -679,6 +695,15 @@ Complete the task in the current directory.`;
|
|
|
679
695
|
catch { /* ignore */ }
|
|
680
696
|
}
|
|
681
697
|
captureReviewMetadata(todoId).catch(() => { });
|
|
698
|
+
if (project.memory_auto_ingest) {
|
|
699
|
+
const sourceText = buildSourceTextFromTodo(todoId);
|
|
700
|
+
if (sourceText) {
|
|
701
|
+
const todo = queries.getTodoById(todoId);
|
|
702
|
+
ingestSource(projectId, sourceText, 'todo', todoId, todo?.title ?? null).catch((err) => {
|
|
703
|
+
console.error('[memory-ingest] auto-ingest failed:', err);
|
|
704
|
+
});
|
|
705
|
+
}
|
|
706
|
+
}
|
|
682
707
|
broadcaster.broadcast({ type: 'todo:log', todoId, message: doneMsg, logType: 'output' });
|
|
683
708
|
broadcaster.broadcast({ type: 'todo:status-changed', todoId, status: 'completed' });
|
|
684
709
|
this.broadcastProjectStatus(projectId);
|
|
@@ -815,4 +840,16 @@ Complete the task in the current directory.`;
|
|
|
815
840
|
}
|
|
816
841
|
}
|
|
817
842
|
export const orchestrator = new Orchestrator();
|
|
843
|
+
// Quota-driven CLI fallback: when log-streamer detects repeated quota errors,
|
|
844
|
+
// kill the running CLI process so the existing exit-code fallback path triggers
|
|
845
|
+
// `getNextFallbackCli` and switches to the next CLI in the chain.
|
|
846
|
+
logStreamer.setQuotaKillCallback((todoId) => {
|
|
847
|
+
try {
|
|
848
|
+
const todo = queries.getTodoById(todoId);
|
|
849
|
+
if (todo?.process_pid && todo.process_pid > 0) {
|
|
850
|
+
claudeManager.stopClaude(todo.process_pid).catch(() => { });
|
|
851
|
+
}
|
|
852
|
+
}
|
|
853
|
+
catch { /* ignore */ }
|
|
854
|
+
});
|
|
818
855
|
//# sourceMappingURL=orchestrator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/server/services/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/server/services/orchestrator.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,15 @@
|
|
|
2
2
|
* Filters TUI chrome noise from Claude CLI interactive mode PTY output.
|
|
3
3
|
* Only active for interactive mode — headless/verbose use structured JSON.
|
|
4
4
|
*/
|
|
5
|
+
export type NoiseBlockKind = 'xterm-parse' | 'conpty-stack' | null;
|
|
5
6
|
export interface PtyFilterState {
|
|
6
7
|
lineBuffer: string;
|
|
7
8
|
recentLines: string[];
|
|
8
9
|
inResponseBlock: boolean;
|
|
10
|
+
/** Active multi-line noise block being skipped (e.g. xterm.js parser dump, node-pty conpty stack trace). */
|
|
11
|
+
activeBlock: NoiseBlockKind;
|
|
12
|
+
/** Number of lines consumed inside the active block — used as a runaway guard. */
|
|
13
|
+
blockLineCount: number;
|
|
9
14
|
}
|
|
10
15
|
export declare function createPtyFilterState(): PtyFilterState;
|
|
11
16
|
/** Returns true if the line is TUI noise that should be suppressed. */
|
|
@@ -15,4 +20,11 @@ export declare function isNoiseLine(line: string): boolean;
|
|
|
15
20
|
* and deduplicates. Returns cleaned text (may be empty string).
|
|
16
21
|
*/
|
|
17
22
|
export declare function filterInteractivePtyOutput(chunk: string, state: PtyFilterState): string;
|
|
23
|
+
/**
|
|
24
|
+
* Plain-text mode noise filter for headless Gemini/Codex runs whose stdout/stderr
|
|
25
|
+
* is consumed line-by-line outside the interactive PTY pipeline. Tracks the same
|
|
26
|
+
* multi-line noise blocks (xterm.js parser dumps, node-pty conpty stack traces)
|
|
27
|
+
* via the shared PtyFilterState. Returns true if the line should be dropped.
|
|
28
|
+
*/
|
|
29
|
+
export declare function isPlainTextNoise(line: string, state: PtyFilterState): boolean;
|
|
18
30
|
//# sourceMappingURL=pty-output-filter.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pty-output-filter.d.ts","sourceRoot":"","sources":["../../../src/server/services/pty-output-filter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"pty-output-filter.d.ts","sourceRoot":"","sources":["../../../src/server/services/pty-output-filter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,cAAc,GAAG,aAAa,GAAG,cAAc,GAAG,IAAI,CAAC;AAEnE,MAAM,WAAW,cAAc;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,EAAE,OAAO,CAAC;IACzB,4GAA4G;IAC5G,WAAW,EAAE,cAAc,CAAC;IAC5B,kFAAkF;IAClF,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAQrD;AA+KD,uEAAuE;AACvE,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CA6BjD;AAID;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,MAAM,CA2DvF;AAWD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAG7E"}
|
|
@@ -3,7 +3,60 @@
|
|
|
3
3
|
* Only active for interactive mode — headless/verbose use structured JSON.
|
|
4
4
|
*/
|
|
5
5
|
export function createPtyFilterState() {
|
|
6
|
-
return {
|
|
6
|
+
return {
|
|
7
|
+
lineBuffer: '',
|
|
8
|
+
recentLines: [],
|
|
9
|
+
inResponseBlock: false,
|
|
10
|
+
activeBlock: null,
|
|
11
|
+
blockLineCount: 0,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
/** Hard cap on lines absorbed by a single noise block before forcing exit. */
|
|
15
|
+
const MAX_BLOCK_LINES = 200;
|
|
16
|
+
function detectBlockStart(line) {
|
|
17
|
+
if (/^xterm\.js: Parsing error:/.test(line))
|
|
18
|
+
return 'xterm-parse';
|
|
19
|
+
if (/conpty_console_list_agent/.test(line))
|
|
20
|
+
return 'conpty-stack';
|
|
21
|
+
if (/^Error: AttachConsole failed/.test(line))
|
|
22
|
+
return 'conpty-stack';
|
|
23
|
+
if (/^var consoleProcessList = getConsoleProcessList/.test(line))
|
|
24
|
+
return 'conpty-stack';
|
|
25
|
+
return null;
|
|
26
|
+
}
|
|
27
|
+
function isBlockEnd(line, kind) {
|
|
28
|
+
if (kind === 'xterm-parse') {
|
|
29
|
+
// Outer closing brace at column 0 closes the dump. Inner braces inside the
|
|
30
|
+
// params: s3 { ... } object have indentation, so this matches only the outer one.
|
|
31
|
+
return /^\}\s*$/.test(line);
|
|
32
|
+
}
|
|
33
|
+
if (kind === 'conpty-stack') {
|
|
34
|
+
// Stack trace ends with the Node.js version banner.
|
|
35
|
+
return /^Node\.js v\d/.test(line);
|
|
36
|
+
}
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Advance the multi-line block state machine. Returns true if the line should
|
|
41
|
+
* be dropped because it starts/continues/ends a noise block. The end-marker
|
|
42
|
+
* line is dropped along with the rest of the block.
|
|
43
|
+
*/
|
|
44
|
+
function advanceBlockState(line, state) {
|
|
45
|
+
if (state.activeBlock) {
|
|
46
|
+
state.blockLineCount++;
|
|
47
|
+
if (isBlockEnd(line, state.activeBlock) || state.blockLineCount >= MAX_BLOCK_LINES) {
|
|
48
|
+
state.activeBlock = null;
|
|
49
|
+
state.blockLineCount = 0;
|
|
50
|
+
}
|
|
51
|
+
return true;
|
|
52
|
+
}
|
|
53
|
+
const start = detectBlockStart(line);
|
|
54
|
+
if (start) {
|
|
55
|
+
state.activeBlock = start;
|
|
56
|
+
state.blockLineCount = 1;
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
return false;
|
|
7
60
|
}
|
|
8
61
|
// ── Noise detection patterns ──
|
|
9
62
|
const SPINNER_CHARS = '✶✻✽✢✧✦✱·⊹◈⟡⋆✸✹✺⊛⊕⊗*++*✚✕✖';
|
|
@@ -63,6 +116,20 @@ const NOISE_PATTERNS = [
|
|
|
63
116
|
/^<\/?user_task>/,
|
|
64
117
|
/^After completing the task.*commit/,
|
|
65
118
|
/^IMPORTANT.*(?:working directory|Do NOT access)/i,
|
|
119
|
+
// Windows node-pty / ConPTY agent leakage (single-line fallback after block filter)
|
|
120
|
+
/^Node\.js v\d+\.\d+\.\d+\s*$/,
|
|
121
|
+
/^\s*at .*conpty_console_list_agent/,
|
|
122
|
+
/^\s*at (?:Object|Module|Function|TracingChannel)\.[^\s(]+ \(node:internal/,
|
|
123
|
+
/^\s*at node:internal\/main\/run_main_module/,
|
|
124
|
+
/^\s*at wrapModuleLoad \(node:internal/,
|
|
125
|
+
/^\s*\^\s*$/,
|
|
126
|
+
/\\node-pty\\conpty_console_list_agent\.js:\d+/,
|
|
127
|
+
// xterm.js parser-state dump field rows (fallback if block end fires early)
|
|
128
|
+
/^\s*(?:position|code|currentState|collect|params|length|maxLength|maxSubParamsLength|_subParams|_subParamsLength|_subParamsIdx|_rejectDigits|_rejectSubDigits|_digitIsSub|abort):\s/,
|
|
129
|
+
/^\s*Int32Array\(\d+\) \[/,
|
|
130
|
+
/^\s*Uint16Array\(\d+\) \[/,
|
|
131
|
+
/^\s*s3 \{\s*$/,
|
|
132
|
+
/^\s*\],?\s*$/,
|
|
66
133
|
];
|
|
67
134
|
/**
|
|
68
135
|
* Detects lines that are animation-frame collisions — typically produced when
|
|
@@ -125,6 +192,14 @@ export function isNoiseLine(line) {
|
|
|
125
192
|
// Empty / whitespace-only
|
|
126
193
|
if (trimmed.length === 0)
|
|
127
194
|
return true;
|
|
195
|
+
// Windows node-pty / xterm.js noise — drop BEFORE the generic Keep-signals guard,
|
|
196
|
+
// otherwise "Error: AttachConsole failed" would slip through the /^Error/ exception.
|
|
197
|
+
if (/^Error: AttachConsole failed/.test(trimmed))
|
|
198
|
+
return true;
|
|
199
|
+
if (/conpty_console_list_agent/.test(trimmed))
|
|
200
|
+
return true;
|
|
201
|
+
if (/^xterm\.js: Parsing error:/.test(trimmed))
|
|
202
|
+
return true;
|
|
128
203
|
// Keep signals — check BEFORE noise patterns
|
|
129
204
|
if (/^●\s/.test(trimmed))
|
|
130
205
|
return false;
|
|
@@ -169,6 +244,13 @@ export function filterInteractivePtyOutput(chunk, state) {
|
|
|
169
244
|
const line = raw.trim();
|
|
170
245
|
if (!line)
|
|
171
246
|
continue;
|
|
247
|
+
// Multi-line noise block (xterm.js parser dump, conpty stack trace) —
|
|
248
|
+
// drop the entire block including its end marker.
|
|
249
|
+
if (advanceBlockState(line, state)) {
|
|
250
|
+
if (state.inResponseBlock)
|
|
251
|
+
state.inResponseBlock = false;
|
|
252
|
+
continue;
|
|
253
|
+
}
|
|
172
254
|
// Apply noise filter
|
|
173
255
|
if (isNoiseLine(line)) {
|
|
174
256
|
// Noise breaks a response block
|
|
@@ -205,4 +287,15 @@ function isSpinnerOrThinking(line) {
|
|
|
205
287
|
return true;
|
|
206
288
|
return false;
|
|
207
289
|
}
|
|
290
|
+
/**
|
|
291
|
+
* Plain-text mode noise filter for headless Gemini/Codex runs whose stdout/stderr
|
|
292
|
+
* is consumed line-by-line outside the interactive PTY pipeline. Tracks the same
|
|
293
|
+
* multi-line noise blocks (xterm.js parser dumps, node-pty conpty stack traces)
|
|
294
|
+
* via the shared PtyFilterState. Returns true if the line should be dropped.
|
|
295
|
+
*/
|
|
296
|
+
export function isPlainTextNoise(line, state) {
|
|
297
|
+
if (advanceBlockState(line, state))
|
|
298
|
+
return true;
|
|
299
|
+
return isNoiseLine(line);
|
|
300
|
+
}
|
|
208
301
|
//# sourceMappingURL=pty-output-filter.js.map
|