@usejunior/docx-mcp 0.4.0 → 0.7.0
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/.tsbuildinfo +1 -1
- package/dist/cli/commands/grep.d.ts +15 -0
- package/dist/cli/commands/grep.d.ts.map +1 -0
- package/dist/cli/commands/grep.js +128 -0
- package/dist/cli/commands/grep.js.map +1 -0
- package/dist/cli/flag_parser.js +1 -1
- package/dist/cli/flag_parser.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +1 -0
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +7 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/conformance/harness.d.ts.map +1 -1
- package/dist/conformance/harness.js +10 -11
- package/dist/conformance/harness.js.map +1 -1
- package/dist/gdocs_loader.d.ts +2 -0
- package/dist/gdocs_loader.d.ts.map +1 -0
- package/dist/gdocs_loader.js +14 -0
- package/dist/gdocs_loader.js.map +1 -0
- package/dist/server.d.ts +2 -2
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +68 -7
- package/dist/server.js.map +1 -1
- package/dist/session/manager.d.ts +52 -16
- package/dist/session/manager.d.ts.map +1 -1
- package/dist/session/manager.js +140 -56
- package/dist/session/manager.js.map +1 -1
- package/dist/tool_catalog.d.ts +44 -55
- package/dist/tool_catalog.d.ts.map +1 -1
- package/dist/tool_catalog.js +56 -41
- package/dist/tool_catalog.js.map +1 -1
- package/dist/tools/accept_changes.d.ts +0 -1
- package/dist/tools/accept_changes.d.ts.map +1 -1
- package/dist/tools/accept_changes.js +1 -1
- package/dist/tools/accept_changes.js.map +1 -1
- package/dist/tools/add_comment.d.ts +0 -1
- package/dist/tools/add_comment.d.ts.map +1 -1
- package/dist/tools/add_comment.js +2 -2
- package/dist/tools/add_comment.js.map +1 -1
- package/dist/tools/add_footnote.d.ts +0 -1
- package/dist/tools/add_footnote.d.ts.map +1 -1
- package/dist/tools/add_footnote.js +1 -1
- package/dist/tools/add_footnote.js.map +1 -1
- package/dist/tools/apply_plan.d.ts +0 -1
- package/dist/tools/apply_plan.d.ts.map +1 -1
- package/dist/tools/apply_plan.js +6 -6
- package/dist/tools/apply_plan.js.map +1 -1
- package/dist/tools/clear_formatting.d.ts +0 -1
- package/dist/tools/clear_formatting.d.ts.map +1 -1
- package/dist/tools/clear_formatting.js +1 -1
- package/dist/tools/clear_formatting.js.map +1 -1
- package/dist/tools/{clear_session.d.ts → close_file.d.ts} +2 -3
- package/dist/tools/close_file.d.ts.map +1 -0
- package/dist/tools/close_file.js +46 -0
- package/dist/tools/close_file.js.map +1 -0
- package/dist/tools/compare_documents.d.ts +0 -1
- package/dist/tools/compare_documents.d.ts.map +1 -1
- package/dist/tools/compare_documents.js +4 -5
- package/dist/tools/compare_documents.js.map +1 -1
- package/dist/tools/delete_comment.d.ts +0 -1
- package/dist/tools/delete_comment.d.ts.map +1 -1
- package/dist/tools/delete_comment.js +1 -1
- package/dist/tools/delete_comment.js.map +1 -1
- package/dist/tools/delete_footnote.d.ts +0 -1
- package/dist/tools/delete_footnote.d.ts.map +1 -1
- package/dist/tools/delete_footnote.js +1 -1
- package/dist/tools/delete_footnote.js.map +1 -1
- package/dist/tools/extract_revisions.d.ts +0 -1
- package/dist/tools/extract_revisions.d.ts.map +1 -1
- package/dist/tools/extract_revisions.js +1 -1
- package/dist/tools/extract_revisions.js.map +1 -1
- package/dist/tools/format_layout.d.ts +0 -1
- package/dist/tools/format_layout.d.ts.map +1 -1
- package/dist/tools/format_layout.js +1 -1
- package/dist/tools/format_layout.js.map +1 -1
- package/dist/tools/gdocs/close_file.d.ts +4 -0
- package/dist/tools/gdocs/close_file.d.ts.map +1 -0
- package/dist/tools/gdocs/close_file.js +15 -0
- package/dist/tools/gdocs/close_file.js.map +1 -0
- package/dist/tools/gdocs/format_layout.d.ts +14 -0
- package/dist/tools/gdocs/format_layout.d.ts.map +1 -0
- package/dist/tools/gdocs/format_layout.js +88 -0
- package/dist/tools/gdocs/format_layout.js.map +1 -0
- package/dist/tools/gdocs/get_file_status.d.ts +4 -0
- package/dist/tools/gdocs/get_file_status.d.ts.map +1 -0
- package/dist/tools/gdocs/get_file_status.js +22 -0
- package/dist/tools/gdocs/get_file_status.js.map +1 -0
- package/dist/tools/gdocs/grep.d.ts +13 -0
- package/dist/tools/gdocs/grep.d.ts.map +1 -0
- package/dist/tools/gdocs/grep.js +113 -0
- package/dist/tools/gdocs/grep.js.map +1 -0
- package/dist/tools/gdocs/insert_paragraph.d.ts +9 -0
- package/dist/tools/gdocs/insert_paragraph.d.ts.map +1 -0
- package/dist/tools/gdocs/insert_paragraph.js +35 -0
- package/dist/tools/gdocs/insert_paragraph.js.map +1 -0
- package/dist/tools/gdocs/read_file.d.ts +9 -0
- package/dist/tools/gdocs/read_file.d.ts.map +1 -0
- package/dist/tools/gdocs/read_file.js +116 -0
- package/dist/tools/gdocs/read_file.js.map +1 -0
- package/dist/tools/gdocs/replace_text.d.ts +9 -0
- package/dist/tools/gdocs/replace_text.d.ts.map +1 -0
- package/dist/tools/gdocs/replace_text.js +35 -0
- package/dist/tools/gdocs/replace_text.js.map +1 -0
- package/dist/tools/gdocs/save.d.ts +7 -0
- package/dist/tools/gdocs/save.d.ts.map +1 -0
- package/dist/tools/gdocs/save.js +46 -0
- package/dist/tools/gdocs/save.js.map +1 -0
- package/dist/tools/get_comments.d.ts +0 -1
- package/dist/tools/get_comments.d.ts.map +1 -1
- package/dist/tools/get_comments.js +1 -1
- package/dist/tools/get_comments.js.map +1 -1
- package/dist/tools/get_file_status.d.ts +6 -0
- package/dist/tools/get_file_status.d.ts.map +1 -0
- package/dist/tools/get_file_status.js +40 -0
- package/dist/tools/get_file_status.js.map +1 -0
- package/dist/tools/get_footnotes.d.ts +0 -1
- package/dist/tools/get_footnotes.d.ts.map +1 -1
- package/dist/tools/get_footnotes.js +1 -1
- package/dist/tools/get_footnotes.js.map +1 -1
- package/dist/tools/grep.d.ts +5 -2
- package/dist/tools/grep.d.ts.map +1 -1
- package/dist/tools/grep.js +236 -90
- package/dist/tools/grep.js.map +1 -1
- package/dist/tools/has_tracked_changes.d.ts +0 -1
- package/dist/tools/has_tracked_changes.d.ts.map +1 -1
- package/dist/tools/has_tracked_changes.js +1 -1
- package/dist/tools/has_tracked_changes.js.map +1 -1
- package/dist/tools/init_plan.d.ts +0 -1
- package/dist/tools/init_plan.d.ts.map +1 -1
- package/dist/tools/init_plan.js +2 -1
- package/dist/tools/init_plan.js.map +1 -1
- package/dist/tools/insert_paragraph.d.ts +0 -1
- package/dist/tools/insert_paragraph.d.ts.map +1 -1
- package/dist/tools/insert_paragraph.js +1 -1
- package/dist/tools/insert_paragraph.js.map +1 -1
- package/dist/tools/open_document.d.ts.map +1 -1
- package/dist/tools/open_document.js +1 -2
- package/dist/tools/open_document.js.map +1 -1
- package/dist/tools/provider_guard.d.ts +3 -0
- package/dist/tools/provider_guard.d.ts.map +1 -0
- package/dist/tools/provider_guard.js +12 -0
- package/dist/tools/provider_guard.js.map +1 -0
- package/dist/tools/read_file.d.ts +0 -1
- package/dist/tools/read_file.d.ts.map +1 -1
- package/dist/tools/read_file.js +1 -1
- package/dist/tools/read_file.js.map +1 -1
- package/dist/tools/replace_text.d.ts +0 -1
- package/dist/tools/replace_text.d.ts.map +1 -1
- package/dist/tools/replace_text.js +1 -1
- package/dist/tools/replace_text.js.map +1 -1
- package/dist/tools/save.d.ts +0 -1
- package/dist/tools/save.d.ts.map +1 -1
- package/dist/tools/save.js +3 -4
- package/dist/tools/save.js.map +1 -1
- package/dist/tools/session_resolution.d.ts +16 -4
- package/dist/tools/session_resolution.d.ts.map +1 -1
- package/dist/tools/session_resolution.js +132 -67
- package/dist/tools/session_resolution.js.map +1 -1
- package/dist/tools/update_footnote.d.ts +0 -1
- package/dist/tools/update_footnote.d.ts.map +1 -1
- package/dist/tools/update_footnote.js +1 -1
- package/dist/tools/update_footnote.js.map +1 -1
- package/package.json +11 -3
- package/dist/tools/clear_session.d.ts.map +0 -1
- package/dist/tools/clear_session.js +0 -66
- package/dist/tools/clear_session.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract_revisions.js","sourceRoot":"","sources":["../../src/tools/extract_revisions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAa,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAChG,OAAO,EAAE,EAAE,EAAE,GAAG,EAAqB,MAAM,YAAY,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAuB,EACvB,
|
|
1
|
+
{"version":3,"file":"extract_revisions.js","sourceRoot":"","sources":["../../src/tools/extract_revisions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAa,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,qBAAqB,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AAChG,OAAO,EAAE,EAAE,EAAE,GAAG,EAAqB,MAAM,YAAY,CAAC;AAExD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,OAAuB,EACvB,MAIC;IAED,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,QAAQ,EAAE,mBAAmB,EAAE,CAAC,CAAC;IACjG,IAAI,CAAC,QAAQ,CAAC,EAAE;QAAE,OAAO,QAAQ,CAAC,QAAQ,CAAC;IAC3C,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,QAAQ,CAAC;IAEvC,iBAAiB;IACjB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,GAAG,EAAE,CAAC;QAC1D,OAAO,GAAG,CAAC,eAAe,EAAE,wCAAwC,KAAK,EAAE,EAAE,qCAAqC,CAAC,CAAC;IACtH,CAAC;IAED,kBAAkB;IAClB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;IAClC,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,OAAO,GAAG,CAAC,gBAAgB,EAAE,4BAA4B,MAAM,EAAE,EAAE,gCAAgC,CAAC,CAAC;IACvG,CAAC;IAED,IAAI,CAAC;QACH,yBAAyB;QACzB,MAAM,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACnD,IAAI,UAAU,CAAC;QAEf,IAAI,MAAM,EAAE,CAAC;YACX,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,CAAC;aAAM,CAAC;YACN,qCAAqC;YACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;YACnD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACpD,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;YAC5B,uCAAuC;YACvC,OAAO,CAAC,kBAAkB,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAClD,CAAC;QAED,mBAAmB;QACnB,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC;QACvC,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,KAAK,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,YAAY,CAAC;QAE9C,OAAO,EAAE,CAAC,8BAA8B,CAAC;YACvC,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,YAAY;YAC3B,QAAQ,EAAE,OAAO;YACjB,aAAa,EAAE,OAAO,CAAC,YAAY;YACnC,SAAS,EAAE,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC;SACvD,EAAE,QAAQ,CAAC,CAAC,CAAC;IAChB,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format_layout.d.ts","sourceRoot":"","sources":["../../src/tools/format_layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAWxD,KAAK,qBAAqB,GAAG;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,
|
|
1
|
+
{"version":3,"file":"format_layout.d.ts","sourceRoot":"","sources":["../../src/tools/format_layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,YAAY,CAAC;AAWxD,KAAK,qBAAqB,GAAG;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,KAAK,gBAAgB,GAAG;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,KAAK,kBAAkB,GAAG;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;IAC1C,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,YAAY,CAAC,EAAE,gBAAgB,CAAC;CACjC,CAAC;AA6MF,wBAAsB,YAAY,CAChC,OAAO,EAAE,cAAc,EACvB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,YAAY,CAAC,CAgMvB"}
|
|
@@ -305,7 +305,7 @@ export async function formatLayout(manager, params) {
|
|
|
305
305
|
}
|
|
306
306
|
manager.touch(session);
|
|
307
307
|
return ok(mergeSessionResolutionMetadata({
|
|
308
|
-
|
|
308
|
+
file_path: manager.normalizePath(session.originalPath),
|
|
309
309
|
strict,
|
|
310
310
|
mutation_summary: {
|
|
311
311
|
affected_paragraphs: affectedParagraphs,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"format_layout.js","sourceRoot":"","sources":["../../src/tools/format_layout.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"format_layout.js","sourceRoot":"","sources":["../../src/tools/format_layout.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type GDocsSession, SessionManager } from '../../session/manager.js';
|
|
2
|
+
import { type ToolResponse } from '../types.js';
|
|
3
|
+
export declare function gdocsCloseFile(manager: SessionManager, session: GDocsSession, _params: Record<string, unknown>, _metadata: Record<string, unknown>): Promise<ToolResponse>;
|
|
4
|
+
//# sourceMappingURL=close_file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"close_file.d.ts","sourceRoot":"","sources":["../../../src/tools/gdocs/close_file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEzD,wBAAsB,cAAc,CAClC,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAAC,YAAY,CAAC,CAWvB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { err, ok } from '../types.js';
|
|
2
|
+
export async function gdocsCloseFile(manager, session, _params, _metadata) {
|
|
3
|
+
try {
|
|
4
|
+
const cleared = await manager.clearSessionByPath(`gdocs:${session.docId}`);
|
|
5
|
+
return ok({
|
|
6
|
+
clear_mode: 'google_doc_id',
|
|
7
|
+
google_doc_id: session.docId,
|
|
8
|
+
cleared_count: cleared ? 1 : 0,
|
|
9
|
+
});
|
|
10
|
+
}
|
|
11
|
+
catch (e) {
|
|
12
|
+
return err('CLOSE_FILE_ERROR', `Failed to close Google Doc session: ${e instanceof Error ? e.message : String(e)}`);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=close_file.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"close_file.js","sourceRoot":"","sources":["../../../src/tools/gdocs/close_file.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAqB,MAAM,aAAa,CAAC;AAEzD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAuB,EACvB,OAAqB,EACrB,OAAgC,EAChC,SAAkC;IAElC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,SAAS,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3E,OAAO,EAAE,CAAC;YACR,UAAU,EAAE,eAAe;YAC3B,aAAa,EAAE,OAAO,CAAC,KAAK;YAC5B,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC/B,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC,kBAAkB,EAAE,uCAAuC,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACtH,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type GDocsSession, SessionManager } from '../../session/manager.js';
|
|
2
|
+
import { type ToolResponse } from '../types.js';
|
|
3
|
+
export declare function gdocsFormatLayout(manager: SessionManager, session: GDocsSession, params: {
|
|
4
|
+
paragraph_spacing?: {
|
|
5
|
+
paragraph_ids?: string[];
|
|
6
|
+
before_twips?: number;
|
|
7
|
+
after_twips?: number;
|
|
8
|
+
line_twips?: number;
|
|
9
|
+
line_rule?: string;
|
|
10
|
+
};
|
|
11
|
+
row_height?: unknown;
|
|
12
|
+
cell_padding?: unknown;
|
|
13
|
+
}, metadata: Record<string, unknown>): Promise<ToolResponse>;
|
|
14
|
+
//# sourceMappingURL=format_layout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format_layout.d.ts","sourceRoot":"","sources":["../../../src/tools/gdocs/format_layout.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEzD,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE;IACN,iBAAiB,CAAC,EAAE;QAClB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,SAAS,CAAC,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB,EACD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,YAAY,CAAC,CAgGvB"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { buildParagraphStyleRequest } from '@usejunior/google-docs-core';
|
|
2
|
+
import { err, ok } from '../types.js';
|
|
3
|
+
export async function gdocsFormatLayout(manager, session, params, metadata) {
|
|
4
|
+
try {
|
|
5
|
+
if (params.row_height) {
|
|
6
|
+
return err('UNSUPPORTED_FOR_PROVIDER', 'row_height is not supported for Google Docs.', 'This parameter is only available for DOCX files.');
|
|
7
|
+
}
|
|
8
|
+
if (params.cell_padding) {
|
|
9
|
+
return err('UNSUPPORTED_FOR_PROVIDER', 'cell_padding is not supported for Google Docs.', 'This parameter is only available for DOCX files.');
|
|
10
|
+
}
|
|
11
|
+
const spacing = params.paragraph_spacing;
|
|
12
|
+
if (!spacing) {
|
|
13
|
+
return err('VALIDATION_ERROR', 'No layout operation was provided.', 'Provide paragraph_spacing.');
|
|
14
|
+
}
|
|
15
|
+
const paragraphIds = spacing.paragraph_ids;
|
|
16
|
+
if (!paragraphIds || paragraphIds.length === 0) {
|
|
17
|
+
return err('VALIDATION_ERROR', 'paragraph_spacing.paragraph_ids must be a non-empty array.', 'Pass one or more paragraph anchor IDs.');
|
|
18
|
+
}
|
|
19
|
+
// Build style updates for each paragraph
|
|
20
|
+
const requests = [];
|
|
21
|
+
const missing = [];
|
|
22
|
+
for (const pid of paragraphIds) {
|
|
23
|
+
const para = session.doc.getParagraphByAnchorId(pid);
|
|
24
|
+
if (!para) {
|
|
25
|
+
missing.push(pid);
|
|
26
|
+
continue;
|
|
27
|
+
}
|
|
28
|
+
// Google Docs paragraph style supports alignment and indent via updateParagraphStyle
|
|
29
|
+
const style = {};
|
|
30
|
+
// Convert twips to points for indent-related properties
|
|
31
|
+
// Note: paragraph_spacing before/after/line are not directly supported via
|
|
32
|
+
// updateParagraphStyle in the same way, but we can set spacing via the API
|
|
33
|
+
if (spacing.before_twips !== undefined || spacing.after_twips !== undefined) {
|
|
34
|
+
// Use raw updateParagraphStyle for spacing
|
|
35
|
+
const fields = [];
|
|
36
|
+
const paragraphStyle = {};
|
|
37
|
+
if (spacing.before_twips !== undefined) {
|
|
38
|
+
fields.push('spaceAbove');
|
|
39
|
+
paragraphStyle.spaceAbove = { magnitude: spacing.before_twips / 20, unit: 'PT' };
|
|
40
|
+
}
|
|
41
|
+
if (spacing.after_twips !== undefined) {
|
|
42
|
+
fields.push('spaceBelow');
|
|
43
|
+
paragraphStyle.spaceBelow = { magnitude: spacing.after_twips / 20, unit: 'PT' };
|
|
44
|
+
}
|
|
45
|
+
if (spacing.line_twips !== undefined) {
|
|
46
|
+
fields.push('lineSpacing');
|
|
47
|
+
// Google Docs lineSpacing is in percentage of default (100 = single)
|
|
48
|
+
// 240 twips = single space in OOXML, so convert:
|
|
49
|
+
paragraphStyle.lineSpacing = (spacing.line_twips / 240) * 100;
|
|
50
|
+
}
|
|
51
|
+
requests.push({
|
|
52
|
+
updateParagraphStyle: {
|
|
53
|
+
range: {
|
|
54
|
+
startIndex: para.startIndex,
|
|
55
|
+
endIndex: para.endIndex,
|
|
56
|
+
...(para.tabId ? { tabId: para.tabId } : {}),
|
|
57
|
+
},
|
|
58
|
+
paragraphStyle,
|
|
59
|
+
fields: fields.join(','),
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
if (Object.keys(style).length > 0) {
|
|
65
|
+
requests.push(buildParagraphStyleRequest(para.startIndex, para.endIndex, style, para.tabId));
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (missing.length > 0) {
|
|
69
|
+
return err('INVALID_SELECTOR', `paragraph_spacing references missing paragraph IDs: ${missing.join(', ')}`);
|
|
70
|
+
}
|
|
71
|
+
if (requests.length > 0) {
|
|
72
|
+
await session.doc.executeBatchUpdate(requests);
|
|
73
|
+
manager.markEdited(session);
|
|
74
|
+
}
|
|
75
|
+
manager.touch(session);
|
|
76
|
+
return ok({
|
|
77
|
+
google_doc_id: session.docId,
|
|
78
|
+
affected_paragraphs: paragraphIds.length - missing.length,
|
|
79
|
+
warnings: missing.length > 0 ? [`Skipped missing IDs: ${missing.join(', ')}`] : [],
|
|
80
|
+
message: 'Layout formatting applied.',
|
|
81
|
+
...metadata,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
catch (e) {
|
|
85
|
+
return err('FORMAT_LAYOUT_ERROR', `Failed to apply layout: ${e instanceof Error ? e.message : String(e)}`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=format_layout.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"format_layout.js","sourceRoot":"","sources":["../../../src/tools/gdocs/format_layout.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type GDocsSession, SessionManager } from '../../session/manager.js';
|
|
2
|
+
import { type ToolResponse } from '../types.js';
|
|
3
|
+
export declare function gdocsGetFileStatus(_manager: SessionManager, session: GDocsSession, _params: Record<string, unknown>, metadata: Record<string, unknown>): Promise<ToolResponse>;
|
|
4
|
+
//# sourceMappingURL=get_file_status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get_file_status.d.ts","sourceRoot":"","sources":["../../../src/tools/gdocs/get_file_status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAEzD,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,YAAY,EACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,YAAY,CAAC,CAkBvB"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { err, ok } from '../types.js';
|
|
2
|
+
export async function gdocsGetFileStatus(_manager, session, _params, metadata) {
|
|
3
|
+
try {
|
|
4
|
+
return ok({
|
|
5
|
+
google_doc_id: session.docId,
|
|
6
|
+
provider: 'gdocs',
|
|
7
|
+
created_at: session.createdAt.toISOString(),
|
|
8
|
+
expires_at: session.expiresAt.toISOString(),
|
|
9
|
+
last_activity: session.lastAccessedAt.toISOString(),
|
|
10
|
+
edit_count: session.editCount,
|
|
11
|
+
edit_revision: session.editRevision,
|
|
12
|
+
revision_id: session.doc.getRevisionId(),
|
|
13
|
+
is_revision_fresh: session.doc.isRevisionFresh(),
|
|
14
|
+
tabs: session.doc.getTabs(),
|
|
15
|
+
...metadata,
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
catch (e) {
|
|
19
|
+
return err('STATUS_ERROR', e instanceof Error ? e.message : String(e));
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=get_file_status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get_file_status.js","sourceRoot":"","sources":["../../../src/tools/gdocs/get_file_status.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAqB,MAAM,aAAa,CAAC;AAEzD,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,QAAwB,EACxB,OAAqB,EACrB,OAAgC,EAChC,QAAiC;IAEjC,IAAI,CAAC;QACH,OAAO,EAAE,CAAC;YACR,aAAa,EAAE,OAAO,CAAC,KAAK;YAC5B,QAAQ,EAAE,OAAO;YACjB,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;YAC3C,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE;YAC3C,aAAa,EAAE,OAAO,CAAC,cAAc,CAAC,WAAW,EAAE;YACnD,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,aAAa,EAAE,OAAO,CAAC,YAAY;YACnC,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE;YACxC,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE;YAChD,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE;YAC3B,GAAG,QAAQ;SACZ,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC,cAAc,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { type GDocsSession, SessionManager } from '../../session/manager.js';
|
|
2
|
+
import { type ToolResponse } from '../types.js';
|
|
3
|
+
export declare function gdocsGrep(manager: SessionManager, session: GDocsSession, params: {
|
|
4
|
+
patterns?: string[];
|
|
5
|
+
pattern?: string;
|
|
6
|
+
case_sensitive?: boolean;
|
|
7
|
+
whole_word?: boolean;
|
|
8
|
+
max_results?: number;
|
|
9
|
+
context_chars?: number;
|
|
10
|
+
dedupe_by_paragraph?: boolean;
|
|
11
|
+
search_xml?: boolean;
|
|
12
|
+
}, metadata: Record<string, unknown>): Promise<ToolResponse>;
|
|
13
|
+
//# sourceMappingURL=grep.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grep.d.ts","sourceRoot":"","sources":["../../../src/tools/gdocs/grep.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAE7E,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAYzD,wBAAsB,SAAS,CAC7B,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE;IACN,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,EACD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,YAAY,CAAC,CAiHvB"}
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { errorMessage } from '../../error_utils.js';
|
|
2
|
+
import { err, ok } from '../types.js';
|
|
3
|
+
export async function gdocsGrep(manager, session, params, metadata) {
|
|
4
|
+
try {
|
|
5
|
+
if (params.search_xml) {
|
|
6
|
+
return err('UNSUPPORTED_FOR_PROVIDER', 'search_xml is not supported for Google Docs.', 'Remove search_xml or use a DOCX file.');
|
|
7
|
+
}
|
|
8
|
+
let patterns = params.patterns ?? [];
|
|
9
|
+
if (patterns.length === 0 && typeof params.pattern === 'string') {
|
|
10
|
+
patterns = [params.pattern];
|
|
11
|
+
}
|
|
12
|
+
if (patterns.length === 0) {
|
|
13
|
+
return err('MISSING_PATTERN', 'No search patterns provided.', 'Pass patterns: ["your search term"].');
|
|
14
|
+
}
|
|
15
|
+
const caseSensitive = params.case_sensitive ?? false;
|
|
16
|
+
const wholeWord = params.whole_word ?? false;
|
|
17
|
+
const maxResults = params.max_results ?? 100;
|
|
18
|
+
const contextChars = params.context_chars ?? 50;
|
|
19
|
+
const dedupeByParagraph = params.dedupe_by_paragraph ?? true;
|
|
20
|
+
const patternStr = wholeWord ? `\\b(${patterns.join('|')})\\b` : `(${patterns.join('|')})`;
|
|
21
|
+
let re;
|
|
22
|
+
try {
|
|
23
|
+
re = new RegExp(patternStr, caseSensitive ? 'g' : 'gi');
|
|
24
|
+
}
|
|
25
|
+
catch (e) {
|
|
26
|
+
return ok({ patterns, total_matches: 0, matches: [], error: `Invalid regex pattern: ${errorMessage(e)}` });
|
|
27
|
+
}
|
|
28
|
+
const paragraphs = session.doc.getParagraphs();
|
|
29
|
+
const matches = [];
|
|
30
|
+
const paragraphsWithMatchesSet = new Set();
|
|
31
|
+
let totalMatches = 0;
|
|
32
|
+
let matchesTruncated = false;
|
|
33
|
+
for (let i = 0; i < paragraphs.length; i++) {
|
|
34
|
+
const p = paragraphs[i];
|
|
35
|
+
const paraId = p.anchorId || p.anchorName || `para_${i}`;
|
|
36
|
+
const text = p.text;
|
|
37
|
+
re.lastIndex = 0;
|
|
38
|
+
let m;
|
|
39
|
+
let paragraphMatchCount = 0;
|
|
40
|
+
let firstMatchText = '';
|
|
41
|
+
let firstMatchIndex = -1;
|
|
42
|
+
while ((m = re.exec(text)) !== null) {
|
|
43
|
+
totalMatches++;
|
|
44
|
+
paragraphMatchCount++;
|
|
45
|
+
if (firstMatchIndex === -1) {
|
|
46
|
+
firstMatchText = m[0];
|
|
47
|
+
firstMatchIndex = m.index;
|
|
48
|
+
}
|
|
49
|
+
if (!dedupeByParagraph) {
|
|
50
|
+
if (matches.length < maxResults) {
|
|
51
|
+
const start = Math.max(0, m.index - contextChars);
|
|
52
|
+
const end = Math.min(text.length, m.index + m[0].length + contextChars);
|
|
53
|
+
const before = text.slice(start, m.index);
|
|
54
|
+
const after = text.slice(m.index + m[0].length, end);
|
|
55
|
+
matches.push({
|
|
56
|
+
para_id: paraId,
|
|
57
|
+
para_index_1based: i + 1,
|
|
58
|
+
list_label: '',
|
|
59
|
+
header: '',
|
|
60
|
+
match_count_in_paragraph: 1,
|
|
61
|
+
match_text: m[0],
|
|
62
|
+
context: `...${before}>>>${m[0]}<<<${after}...`,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
matchesTruncated = true;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (m[0].length === 0)
|
|
70
|
+
break;
|
|
71
|
+
}
|
|
72
|
+
if (paragraphMatchCount > 0) {
|
|
73
|
+
paragraphsWithMatchesSet.add(paraId);
|
|
74
|
+
if (dedupeByParagraph) {
|
|
75
|
+
if (matches.length < maxResults) {
|
|
76
|
+
const start = Math.max(0, firstMatchIndex - contextChars);
|
|
77
|
+
const end = Math.min(text.length, firstMatchIndex + firstMatchText.length + contextChars);
|
|
78
|
+
const before = text.slice(start, firstMatchIndex);
|
|
79
|
+
const after = text.slice(firstMatchIndex + firstMatchText.length, end);
|
|
80
|
+
matches.push({
|
|
81
|
+
para_id: paraId,
|
|
82
|
+
para_index_1based: i + 1,
|
|
83
|
+
list_label: '',
|
|
84
|
+
header: '',
|
|
85
|
+
match_count_in_paragraph: paragraphMatchCount,
|
|
86
|
+
match_text: firstMatchText,
|
|
87
|
+
context: `...${before}>>>${firstMatchText}<<<${after}...`,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
matchesTruncated = true;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
return ok({
|
|
97
|
+
google_doc_id: session.docId,
|
|
98
|
+
patterns,
|
|
99
|
+
dedupe_by_paragraph: dedupeByParagraph,
|
|
100
|
+
total_matches: totalMatches,
|
|
101
|
+
paragraphs_with_matches: paragraphsWithMatchesSet.size,
|
|
102
|
+
matches,
|
|
103
|
+
matches_returned: matches.length,
|
|
104
|
+
max_results_applied: maxResults,
|
|
105
|
+
matches_truncated: matchesTruncated,
|
|
106
|
+
...metadata,
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
catch (e) {
|
|
110
|
+
return err('SEARCH_ERROR', `Failed to search document: ${errorMessage(e)}`, 'Check patterns are valid regex and try again.');
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=grep.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grep.js","sourceRoot":"","sources":["../../../src/tools/gdocs/grep.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type GDocsSession, SessionManager } from '../../session/manager.js';
|
|
2
|
+
import { type ToolResponse } from '../types.js';
|
|
3
|
+
export declare function gdocsInsertParagraph(manager: SessionManager, session: GDocsSession, params: {
|
|
4
|
+
positional_anchor_node_id: string;
|
|
5
|
+
new_string: string;
|
|
6
|
+
instruction: string;
|
|
7
|
+
position?: string;
|
|
8
|
+
}, metadata: Record<string, unknown>): Promise<ToolResponse>;
|
|
9
|
+
//# sourceMappingURL=insert_paragraph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insert_paragraph.d.ts","sourceRoot":"","sources":["../../../src/tools/gdocs/insert_paragraph.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAIzD,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE;IAAE,yBAAyB,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EACzG,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,YAAY,CAAC,CA+BvB"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { err, ok } from '../types.js';
|
|
2
|
+
import { RESULT_PREVIEW_CHARS, previewText } from '../preview.js';
|
|
3
|
+
import { stripAllInlineTags } from '@usejunior/docx-core';
|
|
4
|
+
export async function gdocsInsertParagraph(manager, session, params, metadata) {
|
|
5
|
+
try {
|
|
6
|
+
const anchorId = params.positional_anchor_node_id;
|
|
7
|
+
const positionUpper = (params.position ?? 'AFTER').toUpperCase();
|
|
8
|
+
if (positionUpper !== 'BEFORE' && positionUpper !== 'AFTER') {
|
|
9
|
+
return err('INVALID_POSITION', `Invalid position: ${params.position}. Must be 'BEFORE' or 'AFTER'.`);
|
|
10
|
+
}
|
|
11
|
+
const anchorText = session.doc.getParagraphTextById(anchorId);
|
|
12
|
+
if (anchorText === null) {
|
|
13
|
+
return err('ANCHOR_NOT_FOUND', `Paragraph ID ${anchorId} not found in document`);
|
|
14
|
+
}
|
|
15
|
+
const plainText = stripAllInlineTags(params.new_string);
|
|
16
|
+
const result = await session.doc.insertParagraph(anchorId, positionUpper, plainText);
|
|
17
|
+
manager.markEdited(session);
|
|
18
|
+
return ok({
|
|
19
|
+
google_doc_id: session.docId,
|
|
20
|
+
edit_count: session.editCount,
|
|
21
|
+
anchor_paragraph_id: anchorId,
|
|
22
|
+
new_paragraph_id: result.newAnchorId,
|
|
23
|
+
position: positionUpper,
|
|
24
|
+
inserted_text: previewText(plainText, RESULT_PREVIEW_CHARS),
|
|
25
|
+
...metadata,
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
catch (e) {
|
|
29
|
+
const msg = e instanceof Error ? e.message : String(e);
|
|
30
|
+
if (msg.includes('ANCHOR_NOT_FOUND'))
|
|
31
|
+
return err('ANCHOR_NOT_FOUND', msg);
|
|
32
|
+
return err('INSERT_ERROR', `Failed to insert paragraph: ${msg}`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=insert_paragraph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insert_paragraph.js","sourceRoot":"","sources":["../../../src/tools/gdocs/insert_paragraph.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,EAAE,EAAqB,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAE1D,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAuB,EACvB,OAAqB,EACrB,MAAyG,EACzG,QAAiC;IAEjC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,CAAC,yBAAyB,CAAC;QAClD,MAAM,aAAa,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;QACjE,IAAI,aAAa,KAAK,QAAQ,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;YAC5D,OAAO,GAAG,CAAC,kBAAkB,EAAE,qBAAqB,MAAM,CAAC,QAAQ,gCAAgC,CAAC,CAAC;QACvG,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;YACxB,OAAO,GAAG,CAAC,kBAAkB,EAAE,gBAAgB,QAAQ,wBAAwB,CAAC,CAAC;QACnF,CAAC;QAED,MAAM,SAAS,GAAG,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACxD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,EAAE,aAAmC,EAAE,SAAS,CAAC,CAAC;QAC3G,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAE5B,OAAO,EAAE,CAAC;YACR,aAAa,EAAE,OAAO,CAAC,KAAK;YAC5B,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,mBAAmB,EAAE,QAAQ;YAC7B,gBAAgB,EAAE,MAAM,CAAC,WAAW;YACpC,QAAQ,EAAE,aAAa;YACvB,aAAa,EAAE,WAAW,CAAC,SAAS,EAAE,oBAAoB,CAAC;YAC3D,GAAG,QAAQ;SACZ,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACvD,IAAI,GAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC;YAAE,OAAO,GAAG,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;QAC1E,OAAO,GAAG,CAAC,cAAc,EAAE,+BAA+B,GAAG,EAAE,CAAC,CAAC;IACnE,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type GDocsSession, SessionManager } from '../../session/manager.js';
|
|
2
|
+
import { type ToolResponse } from '../types.js';
|
|
3
|
+
export declare function gdocsReadFile(manager: SessionManager, session: GDocsSession, params: {
|
|
4
|
+
offset?: number;
|
|
5
|
+
limit?: number;
|
|
6
|
+
node_ids?: string[];
|
|
7
|
+
format?: string;
|
|
8
|
+
}, metadata: Record<string, unknown>): Promise<ToolResponse>;
|
|
9
|
+
//# sourceMappingURL=read_file.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read_file.d.ts","sourceRoot":"","sources":["../../../src/tools/gdocs/read_file.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,YAAY,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC7E,OAAO,EAAW,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAIzD,wBAAsB,aAAa,CACjC,OAAO,EAAE,cAAc,EACvB,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,EACjF,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,YAAY,CAAC,CAgEvB"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { buildDocumentViewNodes } from '@usejunior/google-docs-core';
|
|
2
|
+
import { renderToon, formatToonDataLine, collectTableMarkerInfo, formatTableMarker } from '@usejunior/docx-core';
|
|
3
|
+
import { err, ok } from '../types.js';
|
|
4
|
+
import { estimateTokens, DEFAULT_CONTENT_TOKEN_BUDGET, buildPaginationMeta } from '../pagination.js';
|
|
5
|
+
import { READ_SIMPLE_PREVIEW_CHARS, previewText } from '../preview.js';
|
|
6
|
+
export async function gdocsReadFile(manager, session, params, metadata) {
|
|
7
|
+
try {
|
|
8
|
+
const format = (params.format ?? 'toon').toLowerCase();
|
|
9
|
+
if (format !== 'toon' && format !== 'json' && format !== 'simple') {
|
|
10
|
+
return err('INVALID_FORMAT', `Invalid format: ${params.format}`, "Use 'toon' (default), 'json', or 'simple'.");
|
|
11
|
+
}
|
|
12
|
+
const paragraphs = session.doc.getParagraphs();
|
|
13
|
+
const gdocsNodes = buildDocumentViewNodes(paragraphs);
|
|
14
|
+
// Cast to docx-core DocumentViewNode — structurally compatible
|
|
15
|
+
const nodes = gdocsNodes;
|
|
16
|
+
const totalParagraphs = nodes.length;
|
|
17
|
+
const hasExplicitLimit = typeof params.limit === 'number';
|
|
18
|
+
const hasExplicitOffset = typeof params.offset === 'number';
|
|
19
|
+
const hasNodeIds = params.node_ids != null && params.node_ids.length > 0;
|
|
20
|
+
const budgetActive = !hasExplicitLimit && !hasExplicitOffset && !hasNodeIds;
|
|
21
|
+
let filtered = nodes;
|
|
22
|
+
let startIdx = 0;
|
|
23
|
+
if (hasNodeIds) {
|
|
24
|
+
const set = new Set(params.node_ids);
|
|
25
|
+
filtered = nodes.filter((n) => set.has(n.id));
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
if (hasExplicitOffset) {
|
|
29
|
+
if (params.offset > 0)
|
|
30
|
+
startIdx = Math.max(0, params.offset - 1);
|
|
31
|
+
if (params.offset < 0)
|
|
32
|
+
startIdx = Math.max(0, totalParagraphs + params.offset);
|
|
33
|
+
}
|
|
34
|
+
const endIdx = hasExplicitLimit ? Math.min(totalParagraphs, startIdx + params.limit) : totalParagraphs;
|
|
35
|
+
filtered = nodes.slice(startIdx, endIdx);
|
|
36
|
+
}
|
|
37
|
+
let content;
|
|
38
|
+
let paragraphsReturned;
|
|
39
|
+
if (!budgetActive) {
|
|
40
|
+
if (format === 'json') {
|
|
41
|
+
content = JSON.stringify(filtered, null, 2);
|
|
42
|
+
}
|
|
43
|
+
else if (format === 'simple') {
|
|
44
|
+
content = renderSimpleGDocs(filtered);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
content = renderToon(filtered);
|
|
48
|
+
}
|
|
49
|
+
paragraphsReturned = filtered.length;
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
const budget = DEFAULT_CONTENT_TOKEN_BUDGET;
|
|
53
|
+
const result = renderToonWithBudgetGDocs(filtered, budget);
|
|
54
|
+
content = result.content;
|
|
55
|
+
paragraphsReturned = result.count;
|
|
56
|
+
}
|
|
57
|
+
const paginationMeta = buildPaginationMeta(totalParagraphs, paragraphsReturned, startIdx);
|
|
58
|
+
return ok({
|
|
59
|
+
google_doc_id: session.docId,
|
|
60
|
+
content,
|
|
61
|
+
total_paragraphs: totalParagraphs,
|
|
62
|
+
paragraphs_returned: paragraphsReturned,
|
|
63
|
+
...paginationMeta,
|
|
64
|
+
...metadata,
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
catch (e) {
|
|
68
|
+
return err('READ_ERROR', e instanceof Error ? e.message : String(e), 'Check session status and try again.');
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
function renderSimpleGDocs(nodes) {
|
|
72
|
+
const lines = ['#TOON id | text'];
|
|
73
|
+
for (const n of nodes) {
|
|
74
|
+
lines.push(`${n.id} | ${previewText(n.clean_text, READ_SIMPLE_PREVIEW_CHARS)}`);
|
|
75
|
+
}
|
|
76
|
+
return lines.join('\n');
|
|
77
|
+
}
|
|
78
|
+
function renderToonWithBudgetGDocs(nodes, budget) {
|
|
79
|
+
const headerLine = '#SCHEMA id | list_label | header | style | text';
|
|
80
|
+
let accumulated = headerLine;
|
|
81
|
+
let count = 0;
|
|
82
|
+
let currentTableIndex = null;
|
|
83
|
+
const tableInfo = collectTableMarkerInfo(nodes);
|
|
84
|
+
for (const node of nodes) {
|
|
85
|
+
const tc = node.table_context;
|
|
86
|
+
const nodeTableIndex = tc ? tc.table_index : null;
|
|
87
|
+
if (currentTableIndex !== null && nodeTableIndex !== currentTableIndex) {
|
|
88
|
+
accumulated += '\n#END_TABLE';
|
|
89
|
+
currentTableIndex = null;
|
|
90
|
+
}
|
|
91
|
+
if (nodeTableIndex !== null && currentTableIndex === null) {
|
|
92
|
+
const info = tableInfo.get(nodeTableIndex);
|
|
93
|
+
if (info) {
|
|
94
|
+
const marker = formatTableMarker(info);
|
|
95
|
+
const candidateWithMarker = accumulated + '\n' + marker;
|
|
96
|
+
if (count > 0 && estimateTokens(candidateWithMarker) > budget)
|
|
97
|
+
break;
|
|
98
|
+
accumulated = candidateWithMarker;
|
|
99
|
+
}
|
|
100
|
+
currentTableIndex = nodeTableIndex;
|
|
101
|
+
}
|
|
102
|
+
const dataLine = formatToonDataLine(node);
|
|
103
|
+
const candidate = accumulated + '\n' + dataLine;
|
|
104
|
+
if (count > 0 && estimateTokens(candidate) > budget) {
|
|
105
|
+
if (currentTableIndex !== null)
|
|
106
|
+
accumulated += '\n#END_TABLE';
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
accumulated = candidate;
|
|
110
|
+
count++;
|
|
111
|
+
}
|
|
112
|
+
if (currentTableIndex !== null)
|
|
113
|
+
accumulated += '\n#END_TABLE';
|
|
114
|
+
return { content: accumulated, count };
|
|
115
|
+
}
|
|
116
|
+
//# sourceMappingURL=read_file.js.map
|