@usejunior/docx-mcp 0.0.1 → 0.1.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/LICENSE +21 -0
- package/README.md +208 -28
- package/dist/.tsbuildinfo +1 -0
- package/dist/cli/commands/compare.d.ts +20 -0
- package/dist/cli/commands/compare.d.ts.map +1 -0
- package/dist/cli/commands/compare.js +54 -0
- package/dist/cli/commands/compare.js.map +1 -0
- package/dist/cli/commands/serve.d.ts +2 -0
- package/dist/cli/commands/serve.d.ts.map +1 -0
- package/dist/cli/commands/serve.js +5 -0
- package/dist/cli/commands/serve.js.map +1 -0
- package/dist/cli/index.d.ts +13 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +145 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +8 -0
- package/dist/cli.js.map +1 -0
- package/dist/conformance/harness.d.ts +73 -0
- package/dist/conformance/harness.d.ts.map +1 -0
- package/dist/conformance/harness.js +609 -0
- package/dist/conformance/harness.js.map +1 -0
- package/dist/error_utils.d.ts +3 -0
- package/dist/error_utils.d.ts.map +1 -0
- package/dist/error_utils.js +19 -0
- package/dist/error_utils.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/server.d.ts +80 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +112 -0
- package/dist/server.js.map +1 -0
- package/dist/session/manager.d.ts +84 -0
- package/dist/session/manager.d.ts.map +1 -0
- package/dist/session/manager.js +155 -0
- package/dist/session/manager.js.map +1 -0
- package/dist/tool_catalog.d.ts +439 -0
- package/dist/tool_catalog.d.ts.map +1 -0
- package/dist/tool_catalog.js +314 -0
- package/dist/tool_catalog.js.map +1 -0
- package/dist/tools/accept_changes.d.ts +7 -0
- package/dist/tools/accept_changes.d.ts.map +1 -0
- package/dist/tools/accept_changes.js +21 -0
- package/dist/tools/accept_changes.js.map +1 -0
- package/dist/tools/add_comment.d.ts +13 -0
- package/dist/tools/add_comment.d.ts.map +1 -0
- package/dist/tools/add_comment.js +77 -0
- package/dist/tools/add_comment.js.map +1 -0
- package/dist/tools/add_footnote.d.ts +10 -0
- package/dist/tools/add_footnote.d.ts.map +1 -0
- package/dist/tools/add_footnote.js +45 -0
- package/dist/tools/add_footnote.js.map +1 -0
- package/dist/tools/apply_plan.d.ts +9 -0
- package/dist/tools/apply_plan.d.ts.map +1 -0
- package/dist/tools/apply_plan.js +346 -0
- package/dist/tools/apply_plan.js.map +1 -0
- package/dist/tools/clear_session.d.ts +9 -0
- package/dist/tools/clear_session.d.ts.map +1 -0
- package/dist/tools/clear_session.js +66 -0
- package/dist/tools/clear_session.js.map +1 -0
- package/dist/tools/compare_documents.d.ts +12 -0
- package/dist/tools/compare_documents.d.ts.map +1 -0
- package/dist/tools/compare_documents.js +121 -0
- package/dist/tools/compare_documents.js.map +1 -0
- package/dist/tools/comparison_defaults.d.ts +9 -0
- package/dist/tools/comparison_defaults.d.ts.map +1 -0
- package/dist/tools/comparison_defaults.js +8 -0
- package/dist/tools/comparison_defaults.js.map +1 -0
- package/dist/tools/delete_comment.d.ts +8 -0
- package/dist/tools/delete_comment.d.ts.map +1 -0
- package/dist/tools/delete_comment.js +28 -0
- package/dist/tools/delete_comment.js.map +1 -0
- package/dist/tools/delete_footnote.d.ts +8 -0
- package/dist/tools/delete_footnote.d.ts.map +1 -0
- package/dist/tools/delete_footnote.js +34 -0
- package/dist/tools/delete_footnote.js.map +1 -0
- package/dist/tools/docx_archive_guard.d.ts +9 -0
- package/dist/tools/docx_archive_guard.d.ts.map +1 -0
- package/dist/tools/docx_archive_guard.js +64 -0
- package/dist/tools/docx_archive_guard.js.map +1 -0
- package/dist/tools/download.d.ts +20 -0
- package/dist/tools/download.d.ts.map +1 -0
- package/dist/tools/download.js +252 -0
- package/dist/tools/download.js.map +1 -0
- package/dist/tools/duplicate_document.d.ts +8 -0
- package/dist/tools/duplicate_document.d.ts.map +1 -0
- package/dist/tools/duplicate_document.js +90 -0
- package/dist/tools/duplicate_document.js.map +1 -0
- package/dist/tools/extract_revisions.d.ts +9 -0
- package/dist/tools/extract_revisions.d.ts.map +1 -0
- package/dist/tools/extract_revisions.js +52 -0
- package/dist/tools/extract_revisions.js.map +1 -0
- package/dist/tools/format_layout.d.ts +35 -0
- package/dist/tools/format_layout.d.ts.map +1 -0
- package/dist/tools/format_layout.js +332 -0
- package/dist/tools/format_layout.js.map +1 -0
- package/dist/tools/get_comments.d.ts +7 -0
- package/dist/tools/get_comments.d.ts.map +1 -0
- package/dist/tools/get_comments.js +32 -0
- package/dist/tools/get_comments.js.map +1 -0
- package/dist/tools/get_footnotes.d.ts +7 -0
- package/dist/tools/get_footnotes.d.ts.map +1 -0
- package/dist/tools/get_footnotes.js +25 -0
- package/dist/tools/get_footnotes.js.map +1 -0
- package/dist/tools/get_session_status.d.ts +7 -0
- package/dist/tools/get_session_status.d.ts.map +1 -0
- package/dist/tools/get_session_status.js +41 -0
- package/dist/tools/get_session_status.js.map +1 -0
- package/dist/tools/grep.d.ts +13 -0
- package/dist/tools/grep.d.ts.map +1 -0
- package/dist/tools/grep.js +129 -0
- package/dist/tools/grep.js.map +1 -0
- package/dist/tools/has_tracked_changes.d.ts +7 -0
- package/dist/tools/has_tracked_changes.d.ts.map +1 -0
- package/dist/tools/has_tracked_changes.js +74 -0
- package/dist/tools/has_tracked_changes.js.map +1 -0
- package/dist/tools/init_plan.d.ts +9 -0
- package/dist/tools/init_plan.d.ts.map +1 -0
- package/dist/tools/init_plan.js +44 -0
- package/dist/tools/init_plan.js.map +1 -0
- package/dist/tools/insert_paragraph.d.ts +12 -0
- package/dist/tools/insert_paragraph.d.ts.map +1 -0
- package/dist/tools/insert_paragraph.js +514 -0
- package/dist/tools/insert_paragraph.js.map +1 -0
- package/dist/tools/merge_plans.d.ts +7 -0
- package/dist/tools/merge_plans.d.ts.map +1 -0
- package/dist/tools/merge_plans.js +408 -0
- package/dist/tools/merge_plans.js.map +1 -0
- package/dist/tools/open_document.d.ts +7 -0
- package/dist/tools/open_document.d.ts.map +1 -0
- package/dist/tools/open_document.js +102 -0
- package/dist/tools/open_document.js.map +1 -0
- package/dist/tools/path_policy.d.ts +13 -0
- package/dist/tools/path_policy.d.ts.map +1 -0
- package/dist/tools/path_policy.js +109 -0
- package/dist/tools/path_policy.js.map +1 -0
- package/dist/tools/preview.d.ts +5 -0
- package/dist/tools/preview.d.ts.map +1 -0
- package/dist/tools/preview.js +11 -0
- package/dist/tools/preview.js.map +1 -0
- package/dist/tools/read_file.d.ts +12 -0
- package/dist/tools/read_file.d.ts.map +1 -0
- package/dist/tools/read_file.js +113 -0
- package/dist/tools/read_file.js.map +1 -0
- package/dist/tools/replace_text.d.ts +13 -0
- package/dist/tools/replace_text.d.ts.map +1 -0
- package/dist/tools/replace_text.js +628 -0
- package/dist/tools/replace_text.js.map +1 -0
- package/dist/tools/session_resolution.d.ts +29 -0
- package/dist/tools/session_resolution.d.ts.map +1 -0
- package/dist/tools/session_resolution.js +158 -0
- package/dist/tools/session_resolution.js.map +1 -0
- package/dist/tools/types.d.ts +15 -0
- package/dist/tools/types.d.ts.map +1 -0
- package/dist/tools/types.js +7 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/tools/update_footnote.d.ts +9 -0
- package/dist/tools/update_footnote.d.ts.map +1 -0
- package/dist/tools/update_footnote.js +39 -0
- package/dist/tools/update_footnote.js.map +1 -0
- package/package.json +74 -6
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { errorMessage } from "../error_utils.js";
|
|
2
|
+
import { err, ok } from './types.js';
|
|
3
|
+
import { mergeSessionResolutionMetadata, resolveSessionForTool } from './session_resolution.js';
|
|
4
|
+
export async function grep(manager, params) {
|
|
5
|
+
try {
|
|
6
|
+
const resolved = await resolveSessionForTool(manager, params, { toolName: 'grep' });
|
|
7
|
+
if (!resolved.ok)
|
|
8
|
+
return resolved.response;
|
|
9
|
+
const { session, metadata } = resolved;
|
|
10
|
+
const patterns = params.patterns ?? [];
|
|
11
|
+
const caseSensitive = params.case_sensitive ?? false;
|
|
12
|
+
const wholeWord = params.whole_word ?? false;
|
|
13
|
+
const maxResults = params.max_results ?? 100;
|
|
14
|
+
const contextChars = params.context_chars ?? 50;
|
|
15
|
+
const dedupeByParagraph = params.dedupe_by_paragraph ?? true;
|
|
16
|
+
const patternStr = wholeWord ? `\\b(${patterns.join('|')})\\b` : `(${patterns.join('|')})`;
|
|
17
|
+
let re;
|
|
18
|
+
try {
|
|
19
|
+
re = new RegExp(patternStr, caseSensitive ? 'g' : 'gi');
|
|
20
|
+
}
|
|
21
|
+
catch (e) {
|
|
22
|
+
// Mirror Python behavior: return success but include an error in payload.
|
|
23
|
+
return ok(mergeSessionResolutionMetadata({
|
|
24
|
+
session_id: session.sessionId,
|
|
25
|
+
patterns,
|
|
26
|
+
dedupe_by_paragraph: dedupeByParagraph,
|
|
27
|
+
total_matches: 0,
|
|
28
|
+
paragraphs_with_matches: 0,
|
|
29
|
+
matches: [],
|
|
30
|
+
error: `Invalid regex pattern: ${errorMessage(e)}`,
|
|
31
|
+
}, metadata));
|
|
32
|
+
}
|
|
33
|
+
const { paragraphs } = session.doc.readParagraphs();
|
|
34
|
+
const typed = paragraphs;
|
|
35
|
+
const { nodes } = session.doc.buildDocumentView({ includeSemanticTags: true });
|
|
36
|
+
const locatorById = new Map(nodes.map((n) => [n.id, { list_label: n.list_label ?? '', header: n.header ?? '' }]));
|
|
37
|
+
const matches = [];
|
|
38
|
+
const paragraphsWithMatches = new Set();
|
|
39
|
+
let totalMatches = 0;
|
|
40
|
+
let matchesTruncated = false;
|
|
41
|
+
for (let paraIndex = 0; paraIndex < typed.length; paraIndex += 1) {
|
|
42
|
+
const p = typed[paraIndex];
|
|
43
|
+
re.lastIndex = 0;
|
|
44
|
+
const text = p.text;
|
|
45
|
+
let m;
|
|
46
|
+
let paragraphMatchCount = 0;
|
|
47
|
+
let firstMatchText = '';
|
|
48
|
+
let firstMatchIndex = -1;
|
|
49
|
+
// eslint-disable-next-line no-cond-assign
|
|
50
|
+
while ((m = re.exec(text)) !== null) {
|
|
51
|
+
totalMatches += 1;
|
|
52
|
+
paragraphMatchCount += 1;
|
|
53
|
+
if (firstMatchIndex === -1) {
|
|
54
|
+
firstMatchText = m[0];
|
|
55
|
+
firstMatchIndex = m.index;
|
|
56
|
+
}
|
|
57
|
+
if (!dedupeByParagraph) {
|
|
58
|
+
if (matches.length < maxResults) {
|
|
59
|
+
const start = Math.max(0, m.index - contextChars);
|
|
60
|
+
const end = Math.min(text.length, m.index + m[0].length + contextChars);
|
|
61
|
+
const before = text.slice(start, m.index);
|
|
62
|
+
const after = text.slice(m.index + m[0].length, end);
|
|
63
|
+
const locator = locatorById.get(p.id) ?? { list_label: '', header: '' };
|
|
64
|
+
matches.push({
|
|
65
|
+
para_id: p.id,
|
|
66
|
+
para_index_1based: paraIndex + 1,
|
|
67
|
+
list_label: locator.list_label,
|
|
68
|
+
header: locator.header,
|
|
69
|
+
match_count_in_paragraph: 1,
|
|
70
|
+
match_text: m[0],
|
|
71
|
+
context: `...${before}>>>${m[0]}<<<${after}...`,
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
matchesTruncated = true;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (m[0].length === 0)
|
|
79
|
+
break; // safety for zero-length regex
|
|
80
|
+
}
|
|
81
|
+
if (paragraphMatchCount > 0) {
|
|
82
|
+
paragraphsWithMatches.add(p.id);
|
|
83
|
+
if (dedupeByParagraph) {
|
|
84
|
+
if (matches.length < maxResults) {
|
|
85
|
+
const start = Math.max(0, firstMatchIndex - contextChars);
|
|
86
|
+
const end = Math.min(text.length, firstMatchIndex + firstMatchText.length + contextChars);
|
|
87
|
+
const before = text.slice(start, firstMatchIndex);
|
|
88
|
+
const after = text.slice(firstMatchIndex + firstMatchText.length, end);
|
|
89
|
+
const locator = locatorById.get(p.id) ?? { list_label: '', header: '' };
|
|
90
|
+
matches.push({
|
|
91
|
+
para_id: p.id,
|
|
92
|
+
para_index_1based: paraIndex + 1,
|
|
93
|
+
list_label: locator.list_label,
|
|
94
|
+
header: locator.header,
|
|
95
|
+
match_count_in_paragraph: paragraphMatchCount,
|
|
96
|
+
match_text: firstMatchText,
|
|
97
|
+
context: `...${before}>>>${firstMatchText}<<<${after}...`,
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
matchesTruncated = true;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
const response = mergeSessionResolutionMetadata({
|
|
107
|
+
session_id: session.sessionId,
|
|
108
|
+
patterns,
|
|
109
|
+
dedupe_by_paragraph: dedupeByParagraph,
|
|
110
|
+
total_matches: totalMatches,
|
|
111
|
+
paragraphs_with_matches: paragraphsWithMatches.size,
|
|
112
|
+
matches,
|
|
113
|
+
matches_returned: matches.length,
|
|
114
|
+
max_results_applied: maxResults,
|
|
115
|
+
matches_truncated: matchesTruncated,
|
|
116
|
+
}, metadata);
|
|
117
|
+
if (matchesTruncated) {
|
|
118
|
+
response.truncation_note = dedupeByParagraph
|
|
119
|
+
? 'max_results limits returned rows to matching paragraphs while total_matches counts all regex hits. Increase max_results or set dedupe_by_paragraph=false for per-match rows.'
|
|
120
|
+
: 'max_results limits returned rows to individual matches while total_matches counts all regex hits. Increase max_results to see more matches.';
|
|
121
|
+
}
|
|
122
|
+
return ok(response);
|
|
123
|
+
}
|
|
124
|
+
catch (e) {
|
|
125
|
+
const msg = errorMessage(e);
|
|
126
|
+
return err('SEARCH_ERROR', `Failed to search document: ${msg}`, 'Check patterns are valid regex and try again.');
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
//# sourceMappingURL=grep.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grep.js","sourceRoot":"","sources":["../../src/tools/grep.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SessionManager } from '../session/manager.js';
|
|
2
|
+
import { type ToolResponse } from './types.js';
|
|
3
|
+
export declare function hasTrackedChanges_tool(manager: SessionManager, params: {
|
|
4
|
+
session_id?: string;
|
|
5
|
+
file_path?: string;
|
|
6
|
+
}): Promise<ToolResponse>;
|
|
7
|
+
//# sourceMappingURL=has_tracked_changes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"has_tracked_changes.d.ts","sourceRoot":"","sources":["../../src/tools/has_tracked_changes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AA4ExD,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAClD,OAAO,CAAC,YAAY,CAAC,CAmBvB"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { errorMessage } from "../error_utils.js";
|
|
2
|
+
import { mergeSessionResolutionMetadata, resolveSessionForTool } from './session_resolution.js';
|
|
3
|
+
import { err, ok } from './types.js';
|
|
4
|
+
const W_NS = 'http://schemas.openxmlformats.org/wordprocessingml/2006/main';
|
|
5
|
+
const TRACKED_CHANGE_LOCALS = ['ins', 'del', 'moveFrom', 'moveTo'];
|
|
6
|
+
const PROPERTY_CHANGE_LOCALS = [
|
|
7
|
+
'rPrChange', 'pPrChange', 'sectPrChange',
|
|
8
|
+
'tblPrChange', 'trPrChange', 'tcPrChange',
|
|
9
|
+
];
|
|
10
|
+
function countMarkers(doc) {
|
|
11
|
+
const body = doc.getElementsByTagNameNS(W_NS, 'body').item(0);
|
|
12
|
+
if (!body) {
|
|
13
|
+
return {
|
|
14
|
+
total_markers: 0,
|
|
15
|
+
content_markers: 0,
|
|
16
|
+
property_markers: 0,
|
|
17
|
+
insertions: 0,
|
|
18
|
+
deletions: 0,
|
|
19
|
+
move_from: 0,
|
|
20
|
+
move_to: 0,
|
|
21
|
+
rpr_changes: 0,
|
|
22
|
+
ppr_changes: 0,
|
|
23
|
+
sectpr_changes: 0,
|
|
24
|
+
tblpr_changes: 0,
|
|
25
|
+
trpr_changes: 0,
|
|
26
|
+
tcpr_changes: 0,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
const countByLocal = (localName) => body.getElementsByTagNameNS(W_NS, localName).length;
|
|
30
|
+
const contentCounts = {
|
|
31
|
+
insertions: countByLocal(TRACKED_CHANGE_LOCALS[0]),
|
|
32
|
+
deletions: countByLocal(TRACKED_CHANGE_LOCALS[1]),
|
|
33
|
+
move_from: countByLocal(TRACKED_CHANGE_LOCALS[2]),
|
|
34
|
+
move_to: countByLocal(TRACKED_CHANGE_LOCALS[3]),
|
|
35
|
+
};
|
|
36
|
+
const propertyCounts = {
|
|
37
|
+
rpr_changes: countByLocal(PROPERTY_CHANGE_LOCALS[0]),
|
|
38
|
+
ppr_changes: countByLocal(PROPERTY_CHANGE_LOCALS[1]),
|
|
39
|
+
sectpr_changes: countByLocal(PROPERTY_CHANGE_LOCALS[2]),
|
|
40
|
+
tblpr_changes: countByLocal(PROPERTY_CHANGE_LOCALS[3]),
|
|
41
|
+
trpr_changes: countByLocal(PROPERTY_CHANGE_LOCALS[4]),
|
|
42
|
+
tcpr_changes: countByLocal(PROPERTY_CHANGE_LOCALS[5]),
|
|
43
|
+
};
|
|
44
|
+
const content_markers = Object.values(contentCounts).reduce((sum, value) => sum + value, 0);
|
|
45
|
+
const property_markers = Object.values(propertyCounts).reduce((sum, value) => sum + value, 0);
|
|
46
|
+
return {
|
|
47
|
+
total_markers: content_markers + property_markers,
|
|
48
|
+
content_markers,
|
|
49
|
+
property_markers,
|
|
50
|
+
...contentCounts,
|
|
51
|
+
...propertyCounts,
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
export async function hasTrackedChanges_tool(manager, params) {
|
|
55
|
+
try {
|
|
56
|
+
const resolved = await resolveSessionForTool(manager, params, { toolName: 'has_tracked_changes' });
|
|
57
|
+
if (!resolved.ok)
|
|
58
|
+
return resolved.response;
|
|
59
|
+
const { session, metadata } = resolved;
|
|
60
|
+
const docClone = session.doc.getDocumentXmlClone();
|
|
61
|
+
const marker_stats = countMarkers(docClone);
|
|
62
|
+
return ok(mergeSessionResolutionMetadata({
|
|
63
|
+
session_id: session.sessionId,
|
|
64
|
+
edit_revision: session.editRevision,
|
|
65
|
+
has_tracked_changes: marker_stats.total_markers > 0,
|
|
66
|
+
scope: 'document_body',
|
|
67
|
+
marker_stats,
|
|
68
|
+
}, metadata));
|
|
69
|
+
}
|
|
70
|
+
catch (e) {
|
|
71
|
+
return err('TRACKED_CHANGES_CHECK_ERROR', errorMessage(e));
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=has_tracked_changes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"has_tracked_changes.js","sourceRoot":"","sources":["../../src/tools/has_tracked_changes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SessionManager } from '../session/manager.js';
|
|
2
|
+
import { type ToolResponse } from './types.js';
|
|
3
|
+
export declare function initPlan(manager: SessionManager, params: {
|
|
4
|
+
session_id?: string;
|
|
5
|
+
file_path?: string;
|
|
6
|
+
plan_name?: string;
|
|
7
|
+
orchestrator_id?: string;
|
|
8
|
+
}): Promise<ToolResponse>;
|
|
9
|
+
//# sourceMappingURL=init_plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init_plan.d.ts","sourceRoot":"","sources":["../../src/tools/init_plan.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAmBxD,wBAAsB,QAAQ,CAC5B,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE;IACN,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GACA,OAAO,CAAC,YAAY,CAAC,CAsBvB"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { randomBytes } from 'node:crypto';
|
|
2
|
+
import { errorMessage } from "../error_utils.js";
|
|
3
|
+
import { err, ok } from './types.js';
|
|
4
|
+
import { mergeSessionResolutionMetadata, resolveSessionForTool } from './session_resolution.js';
|
|
5
|
+
function createPlanContextId() {
|
|
6
|
+
const alphabet = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
|
|
7
|
+
const bytes = randomBytes(12);
|
|
8
|
+
let suffix = '';
|
|
9
|
+
for (let i = 0; i < 12; i += 1) {
|
|
10
|
+
suffix += alphabet[bytes[i] % alphabet.length];
|
|
11
|
+
}
|
|
12
|
+
return `plctx_${suffix}`;
|
|
13
|
+
}
|
|
14
|
+
function optionalString(value) {
|
|
15
|
+
if (typeof value !== 'string')
|
|
16
|
+
return undefined;
|
|
17
|
+
const trimmed = value.trim();
|
|
18
|
+
return trimmed.length > 0 ? trimmed : undefined;
|
|
19
|
+
}
|
|
20
|
+
export async function initPlan(manager, params) {
|
|
21
|
+
try {
|
|
22
|
+
const resolved = await resolveSessionForTool(manager, params, { toolName: 'init_plan' });
|
|
23
|
+
if (!resolved.ok)
|
|
24
|
+
return resolved.response;
|
|
25
|
+
const { session, metadata } = resolved;
|
|
26
|
+
return ok(mergeSessionResolutionMetadata({
|
|
27
|
+
plan_context_id: createPlanContextId(),
|
|
28
|
+
session_id: session.sessionId,
|
|
29
|
+
base_revision: session.editRevision,
|
|
30
|
+
edit_count: session.editCount,
|
|
31
|
+
created_at: new Date().toISOString(),
|
|
32
|
+
plan_context: {
|
|
33
|
+
plan_name: optionalString(params.plan_name) ?? null,
|
|
34
|
+
orchestrator_id: optionalString(params.orchestrator_id) ?? null,
|
|
35
|
+
document_filename: session.filename,
|
|
36
|
+
},
|
|
37
|
+
}, metadata));
|
|
38
|
+
}
|
|
39
|
+
catch (e) {
|
|
40
|
+
const msg = errorMessage(e);
|
|
41
|
+
return err('PLAN_INIT_ERROR', `Failed to initialize plan context: ${msg}`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=init_plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init_plan.js","sourceRoot":"","sources":["../../src/tools/init_plan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAa,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,GAAG,EAAE,EAAE,EAAqB,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,8BAA8B,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhG,SAAS,mBAAmB;IAC1B,MAAM,QAAQ,GAAG,gEAAgE,CAAC;IAClF,MAAM,KAAK,GAAG,WAAW,CAAC,EAAE,CAAC,CAAC;IAC9B,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IACD,OAAO,SAAS,MAAM,EAAE,CAAC;AAC3B,CAAC;AAED,SAAS,cAAc,CAAC,KAAc;IACpC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAChD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,QAAQ,CAC5B,OAAuB,EACvB,MAKC;IAED,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC,CAAC;QACzF,IAAI,CAAC,QAAQ,CAAC,EAAE;YAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC;QAC3C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;QAEvC,OAAO,EAAE,CAAC,8BAA8B,CAAC;YACvC,eAAe,EAAE,mBAAmB,EAAE;YACtC,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,aAAa,EAAE,OAAO,CAAC,YAAY;YACnC,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,YAAY,EAAE;gBACZ,SAAS,EAAE,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,IAAI;gBACnD,eAAe,EAAE,cAAc,CAAC,MAAM,CAAC,eAAe,CAAC,IAAI,IAAI;gBAC/D,iBAAiB,EAAE,OAAO,CAAC,QAAQ;aACpC;SACF,EAAE,QAAQ,CAAC,CAAC,CAAC;IAChB,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;QAC5B,OAAO,GAAG,CAAC,iBAAiB,EAAE,sCAAsC,GAAG,EAAE,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { SessionManager } from '../session/manager.js';
|
|
2
|
+
import { type ToolResponse } from './types.js';
|
|
3
|
+
export declare function insertParagraph(manager: SessionManager, params: {
|
|
4
|
+
session_id?: string;
|
|
5
|
+
file_path?: string;
|
|
6
|
+
positional_anchor_node_id: string;
|
|
7
|
+
new_string: string;
|
|
8
|
+
instruction: string;
|
|
9
|
+
position?: string;
|
|
10
|
+
style_source_id?: string;
|
|
11
|
+
}): Promise<ToolResponse>;
|
|
12
|
+
//# sourceMappingURL=insert_paragraph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insert_paragraph.d.ts","sourceRoot":"","sources":["../../src/tools/insert_paragraph.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,cAAc,EAAgB,MAAM,uBAAuB,CAAC;AAErE,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAidxD,wBAAsB,eAAe,CACnC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE;IACN,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yBAAyB,EAAE,MAAM,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GACA,OAAO,CAAC,YAAY,CAAC,CAoGvB"}
|