document360-writer 0.3.0 → 0.4.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/cli.js +23 -0
- package/dist/cli.js.map +1 -1
- package/dist/commands/help.js +1 -0
- package/dist/commands/help.js.map +1 -1
- package/dist/commands/index.js +2 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/logsCli.d.ts +2 -0
- package/dist/commands/logsCli.js +31 -0
- package/dist/commands/logsCli.js.map +1 -0
- package/dist/commands/workspace.d.ts +3 -0
- package/dist/commands/workspace.js +8 -0
- package/dist/commands/workspace.js.map +1 -0
- package/dist/d360/authCli.js +16 -1
- package/dist/d360/authCli.js.map +1 -1
- package/dist/d360/portalLink.d.ts +18 -0
- package/dist/d360/portalLink.js +43 -0
- package/dist/d360/portalLink.js.map +1 -0
- package/dist/d360/workspaceCli.d.ts +15 -0
- package/dist/d360/workspaceCli.js +72 -0
- package/dist/d360/workspaceCli.js.map +1 -0
- package/dist/lib/mdRender.d.ts +7 -0
- package/dist/lib/mdRender.js +172 -0
- package/dist/lib/mdRender.js.map +1 -0
- package/dist/lib/streaming.d.ts +23 -0
- package/dist/lib/streaming.js +51 -0
- package/dist/lib/streaming.js.map +1 -0
- package/dist/lib/toolFormat.d.ts +26 -0
- package/dist/lib/toolFormat.js +115 -0
- package/dist/lib/toolFormat.js.map +1 -0
- package/dist/repl.js +49 -6
- package/dist/repl.js.map +1 -1
- package/dist/tui/App.js +257 -63
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/catalog.js +2 -0
- package/dist/tui/catalog.js.map +1 -1
- package/dist/tui/itemRender.d.ts +56 -0
- package/dist/tui/itemRender.js +72 -0
- package/dist/tui/itemRender.js.map +1 -0
- package/package.json +5 -3
- package/dist/tui/markdown.d.ts +0 -4
- package/dist/tui/markdown.js +0 -139
- package/dist/tui/markdown.js.map +0 -1
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Streaming-markdown flush support. While the agent streams, completed paragraphs are
|
|
3
|
+
* flushed into the static (markdown-rendered) transcript so what scrolls out of the
|
|
4
|
+
* viewport is already pretty — Ink can only repaint what's still on screen, so raw
|
|
5
|
+
* streamed text left in scrollback stays raw forever (Claude Code flushes the same way).
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Cut position after the last blank line that lies outside any ``` fence, or 0 when
|
|
9
|
+
* there's no safe cut yet. Text before the cut is a complete run of markdown blocks
|
|
10
|
+
* (a fence keeps code blocks intact; tables/lists have no internal blank lines).
|
|
11
|
+
*/
|
|
12
|
+
/**
|
|
13
|
+
* Tail of the live streaming buffer, capped to ~maxRows visual rows so the dynamic
|
|
14
|
+
* region can never outgrow the viewport — Ink erases the live area by line count, and
|
|
15
|
+
* anything that scrolls off-screen leaves un-repaintable raw frames in scrollback.
|
|
16
|
+
* Row usage is estimated as ceil(len/width) per source line (Ink word-wraps, so this
|
|
17
|
+
* is approximate — callers should leave headroom when picking maxRows).
|
|
18
|
+
*/
|
|
19
|
+
export function liveTail(text, maxRows, width) {
|
|
20
|
+
const w = Math.max(1, width);
|
|
21
|
+
const lines = text.split('\n');
|
|
22
|
+
let rows = 0;
|
|
23
|
+
for (let i = lines.length - 1; i >= 0; i--) {
|
|
24
|
+
const line = lines[i];
|
|
25
|
+
rows += Math.max(1, Math.ceil(line.length / w));
|
|
26
|
+
if (rows >= maxRows) {
|
|
27
|
+
const over = rows - maxRows;
|
|
28
|
+
// A single over-tall line: drop its leading rows so the tail fits.
|
|
29
|
+
const head = over > 0 ? line.slice(over * w) : line;
|
|
30
|
+
return { text: [head, ...lines.slice(i + 1)].join('\n'), truncated: i > 0 || over > 0 };
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return { text, truncated: false };
|
|
34
|
+
}
|
|
35
|
+
export function streamCut(text) {
|
|
36
|
+
let fence = false;
|
|
37
|
+
let cut = 0;
|
|
38
|
+
let offset = 0;
|
|
39
|
+
for (const line of text.split('\n')) {
|
|
40
|
+
const end = offset + line.length;
|
|
41
|
+
if (/^\s*```/.test(line))
|
|
42
|
+
fence = !fence;
|
|
43
|
+
// `end < length` ⇒ the newline after the blank line has arrived, so the blank
|
|
44
|
+
// line is complete and everything before it is final.
|
|
45
|
+
else if (!fence && line.trim() === '' && end < text.length)
|
|
46
|
+
cut = end + 1;
|
|
47
|
+
offset = end + 1;
|
|
48
|
+
}
|
|
49
|
+
return cut;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=streaming.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"streaming.js","sourceRoot":"","sources":["../../src/lib/streaming.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;;GAIG;AACH;;;;;;GAMG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAY,EAAE,OAAe,EAAE,KAAa;IACnE,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAC7B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC;QACvB,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;QAChD,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC;YAC5B,mEAAmE;YACnE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACpD,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,EAAE,CAAC;QAC1F,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,MAAM,GAAG,CAAC,CAAC;IACf,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,MAAM,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QACjC,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,KAAK,GAAG,CAAC,KAAK,CAAC;QACzC,8EAA8E;QAC9E,sDAAsD;aACjD,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM;YAAE,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;QAC1E,MAAM,GAAG,GAAG,GAAG,CAAC,CAAC;IACnB,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Code-style formatting of tool calls and results for terminal display.
|
|
3
|
+
* Pure functions — shared by the Ink TUI and the plain REPL renderer.
|
|
4
|
+
*
|
|
5
|
+
* ● Bash(npm run build)
|
|
6
|
+
* ⎿ first lines of output…
|
|
7
|
+
* … +12 lines
|
|
8
|
+
*/
|
|
9
|
+
/** `sep` goes between title and `(arg)`: built-ins are tight (`Bash(…)`, Claude Code
|
|
10
|
+
* style); MCP titles read as words, so they get a space (`Document360: get article (…)`). */
|
|
11
|
+
export type ToolHeader = {
|
|
12
|
+
title: string;
|
|
13
|
+
sep: '' | ' ';
|
|
14
|
+
arg: string | null;
|
|
15
|
+
};
|
|
16
|
+
export type ToolResultView = {
|
|
17
|
+
lines: string[];
|
|
18
|
+
hidden: number;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Header line for a tool call: display title + inline argument summary.
|
|
22
|
+
* Returns null for internal tools that should stay hidden.
|
|
23
|
+
*/
|
|
24
|
+
export declare function formatToolUse(name: string, input: Record<string, unknown>): ToolHeader | null;
|
|
25
|
+
/** Preview of a tool result: first `maxLines` lines + how many were held back. */
|
|
26
|
+
export declare function formatToolResult(output: string, maxLines?: number): ToolResultView;
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Claude Code-style formatting of tool calls and results for terminal display.
|
|
3
|
+
* Pure functions — shared by the Ink TUI and the plain REPL renderer.
|
|
4
|
+
*
|
|
5
|
+
* ● Bash(npm run build)
|
|
6
|
+
* ⎿ first lines of output…
|
|
7
|
+
* … +12 lines
|
|
8
|
+
*/
|
|
9
|
+
/** The one input field worth showing inline for each built-in tool. */
|
|
10
|
+
const PRIMARY_ARG = {
|
|
11
|
+
Bash: 'command',
|
|
12
|
+
PowerShell: 'command',
|
|
13
|
+
Read: 'file_path',
|
|
14
|
+
Write: 'file_path',
|
|
15
|
+
Edit: 'file_path',
|
|
16
|
+
NotebookEdit: 'notebook_path',
|
|
17
|
+
Glob: 'pattern',
|
|
18
|
+
Grep: 'pattern',
|
|
19
|
+
WebFetch: 'url',
|
|
20
|
+
WebSearch: 'query',
|
|
21
|
+
Agent: 'description',
|
|
22
|
+
Task: 'description',
|
|
23
|
+
Skill: 'skill',
|
|
24
|
+
};
|
|
25
|
+
const HEADER_MAX = 160;
|
|
26
|
+
const LINE_MAX = 200;
|
|
27
|
+
const VALUE_MAX = 40;
|
|
28
|
+
/** Collapse whitespace and cap length with a trailing ellipsis. */
|
|
29
|
+
function squeeze(s, max) {
|
|
30
|
+
const flat = s.replace(/\s+/g, ' ').trim();
|
|
31
|
+
return flat.length <= max ? flat : flat.slice(0, max - 1) + '…';
|
|
32
|
+
}
|
|
33
|
+
/** Compact `key: value` pairs of the supplied inputs (for MCP tools and fallbacks). */
|
|
34
|
+
function compactPairs(input) {
|
|
35
|
+
const entries = Object.entries(input).filter(([, v]) => v !== undefined && v !== null && v !== '');
|
|
36
|
+
if (entries.length === 0)
|
|
37
|
+
return null;
|
|
38
|
+
const parts = entries.slice(0, 4).map(([k, v]) => `${k}: ${squeeze(typeof v === 'string' ? v : JSON.stringify(v), VALUE_MAX)}`);
|
|
39
|
+
if (entries.length > 4)
|
|
40
|
+
parts.push('…');
|
|
41
|
+
return squeeze(parts.join(', '), HEADER_MAX);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Header line for a tool call: display title + inline argument summary.
|
|
45
|
+
* Returns null for internal tools that should stay hidden.
|
|
46
|
+
*/
|
|
47
|
+
export function formatToolUse(name, input) {
|
|
48
|
+
if (name === 'ToolSearch')
|
|
49
|
+
return null; // deferred-tool search — internal noise
|
|
50
|
+
if (name.startsWith('mcp__')) {
|
|
51
|
+
const [, server = '', ...rest] = name.split('__');
|
|
52
|
+
const tool = rest.join('__').replace(/^d360_/, '').replace(/_/g, ' ');
|
|
53
|
+
const serverPretty = server === 'document360' ? 'Document360' : server.charAt(0).toUpperCase() + server.slice(1);
|
|
54
|
+
return { title: `${serverPretty}: ${tool}`, sep: ' ', arg: compactPairs(input) };
|
|
55
|
+
}
|
|
56
|
+
const primary = PRIMARY_ARG[name];
|
|
57
|
+
const value = primary ? input[primary] : undefined;
|
|
58
|
+
if (typeof value === 'string' && value)
|
|
59
|
+
return { title: name, sep: '', arg: squeeze(value, HEADER_MAX) };
|
|
60
|
+
return { title: name, sep: '', arg: compactPairs(input) };
|
|
61
|
+
}
|
|
62
|
+
/** Pull a human label out of a list item (D360 payloads carry name/title/id). */
|
|
63
|
+
function itemLabel(item) {
|
|
64
|
+
if (item === null || typeof item !== 'object')
|
|
65
|
+
return typeof item === 'string' ? item : null;
|
|
66
|
+
const o = item;
|
|
67
|
+
for (const key of ['name', 'title', 'slug', 'id']) {
|
|
68
|
+
if (typeof o[key] === 'string' && o[key])
|
|
69
|
+
return o[key];
|
|
70
|
+
}
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Tool-aware summary for JSON payloads (our D360 tools return pretty-printed JSON):
|
|
75
|
+
* arrays → "N items" + one label per line; objects → one compact line of scalar fields.
|
|
76
|
+
* Returns null when the output isn't JSON (callers fall back to raw lines).
|
|
77
|
+
*/
|
|
78
|
+
function summarizeJson(text) {
|
|
79
|
+
if (!/^[[{]/.test(text))
|
|
80
|
+
return null;
|
|
81
|
+
let data;
|
|
82
|
+
try {
|
|
83
|
+
data = JSON.parse(text);
|
|
84
|
+
}
|
|
85
|
+
catch {
|
|
86
|
+
return null;
|
|
87
|
+
}
|
|
88
|
+
if (Array.isArray(data)) {
|
|
89
|
+
const labels = data.map(itemLabel).filter((s) => s !== null);
|
|
90
|
+
const head = `${data.length} item${data.length === 1 ? '' : 's'}`;
|
|
91
|
+
if (labels.length === 0)
|
|
92
|
+
return [head];
|
|
93
|
+
return [head, ...labels.map(l => squeeze(l, LINE_MAX))];
|
|
94
|
+
}
|
|
95
|
+
if (data !== null && typeof data === 'object') {
|
|
96
|
+
const pairs = Object.entries(data)
|
|
97
|
+
.filter(([, v]) => v !== null && (typeof v === 'string' || typeof v === 'number' || typeof v === 'boolean'))
|
|
98
|
+
.slice(0, 6)
|
|
99
|
+
.map(([k, v]) => `${k}: ${squeeze(String(v), VALUE_MAX)}`);
|
|
100
|
+
return pairs.length > 0 ? [squeeze(pairs.join(' · '), LINE_MAX)] : null;
|
|
101
|
+
}
|
|
102
|
+
return null;
|
|
103
|
+
}
|
|
104
|
+
/** Preview of a tool result: first `maxLines` lines + how many were held back. */
|
|
105
|
+
export function formatToolResult(output, maxLines = 4) {
|
|
106
|
+
const text = output.replace(/\r\n/g, '\n').trimEnd();
|
|
107
|
+
if (!text)
|
|
108
|
+
return { lines: ['(no output)'], hidden: 0 };
|
|
109
|
+
const all = summarizeJson(text) ?? text.split('\n');
|
|
110
|
+
return {
|
|
111
|
+
lines: all.slice(0, maxLines).map(l => squeeze(l, LINE_MAX)),
|
|
112
|
+
hidden: Math.max(0, all.length - maxLines),
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
//# sourceMappingURL=toolFormat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"toolFormat.js","sourceRoot":"","sources":["../../src/lib/toolFormat.ts"],"names":[],"mappings":"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"}
|
package/dist/repl.js
CHANGED
|
@@ -1,7 +1,30 @@
|
|
|
1
1
|
import { createInterface } from 'node:readline/promises';
|
|
2
2
|
import { createSession, resolveAuth, getSession, setTitle, slugify, touchSession, upsertSession, generateTitle, resolveActiveProfile, decodeJwtClaims, isExpired, loadTokens, } from 'document360-engine';
|
|
3
3
|
import { slashCommands, parseSlash } from './commands/index.js';
|
|
4
|
-
import { accent, banner, dim, error, muted, ok, warn } from './lib/colors.js';
|
|
4
|
+
import { accent, banner, bold, dim, error, muted, ok, warn } from './lib/colors.js';
|
|
5
|
+
import { formatToolResult, formatToolUse } from './lib/toolFormat.js';
|
|
6
|
+
import { articleEditorUrl, extractArticleId, extractPublicUrl } from './d360/portalLink.js';
|
|
7
|
+
/** D360 write tools whose results deserve a portal/live link. (unpublish excluded.) */
|
|
8
|
+
const ARTICLE_WRITE_TOOLS = /^mcp__document360__d360_(create_article|update_article|fork_article|publish_article)$/;
|
|
9
|
+
/** After a successful article write, print where to see the outcome. */
|
|
10
|
+
function printArticleLinks(toolName, input, output, cwd) {
|
|
11
|
+
if (!ARTICLE_WRITE_TOOLS.test(toolName))
|
|
12
|
+
return;
|
|
13
|
+
try {
|
|
14
|
+
const active = resolveActiveProfile(cwd);
|
|
15
|
+
const projectId = (typeof input['project_id'] === 'string' && input['project_id']) || active.project.projectId;
|
|
16
|
+
const articleId = extractArticleId(input, output);
|
|
17
|
+
const publicUrl = extractPublicUrl(output);
|
|
18
|
+
if (toolName.endsWith('publish_article') && publicUrl)
|
|
19
|
+
console.log(accent(` ⮕ Live: ${publicUrl}`));
|
|
20
|
+
if (articleId && projectId) {
|
|
21
|
+
console.log(accent(` ⮕ Preview in Document360: ${articleEditorUrl(active.connection.portalUrl, projectId, articleId, active.project.languageCode ?? 'en')}`));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
catch {
|
|
25
|
+
/* no/invalid profile — skip the links */
|
|
26
|
+
}
|
|
27
|
+
}
|
|
5
28
|
export async function runRepl(cwd = process.cwd(), authMode = 'auto', profileName) {
|
|
6
29
|
const auth = resolveAuth(authMode);
|
|
7
30
|
if (auth.kind === 'none') {
|
|
@@ -206,11 +229,12 @@ function fireTitleGeneration(tracker, cwd) {
|
|
|
206
229
|
}
|
|
207
230
|
/** Drive one user turn through the engine, rendering EngineEvents to the terminal. */
|
|
208
231
|
async function runTurn(session, text, auth, tracker, cwd) {
|
|
232
|
+
const shownTools = new Map(); // tool_use ids whose header we rendered
|
|
209
233
|
for await (const ev of session.send(text)) {
|
|
210
|
-
renderEvent(ev, tracker, cwd, auth);
|
|
234
|
+
renderEvent(ev, tracker, cwd, auth, shownTools);
|
|
211
235
|
}
|
|
212
236
|
}
|
|
213
|
-
function renderEvent(ev, tracker, cwd, auth) {
|
|
237
|
+
function renderEvent(ev, tracker, cwd, auth, shownTools) {
|
|
214
238
|
switch (ev.type) {
|
|
215
239
|
case 'session':
|
|
216
240
|
if (!tracker.uuid)
|
|
@@ -219,10 +243,29 @@ function renderEvent(ev, tracker, cwd, auth) {
|
|
|
219
243
|
case 'text':
|
|
220
244
|
process.stdout.write(ev.delta);
|
|
221
245
|
break;
|
|
222
|
-
case 'tool':
|
|
223
|
-
|
|
224
|
-
|
|
246
|
+
case 'tool': {
|
|
247
|
+
const header = formatToolUse(ev.name, ev.input);
|
|
248
|
+
if (header) {
|
|
249
|
+
process.stdout.write('\n\n');
|
|
250
|
+
console.log(`${ok('●')} ${bold(header.title)}${header.arg !== null ? muted(`${header.sep}(${header.arg})`) : ''}`);
|
|
251
|
+
shownTools.set(ev.id, { name: ev.name, input: ev.input });
|
|
252
|
+
}
|
|
225
253
|
break;
|
|
254
|
+
}
|
|
255
|
+
case 'tool_result': {
|
|
256
|
+
const pending = shownTools.get(ev.id);
|
|
257
|
+
if (!pending)
|
|
258
|
+
break; // hidden tools stay hidden
|
|
259
|
+
shownTools.delete(ev.id);
|
|
260
|
+
const view = formatToolResult(ev.output);
|
|
261
|
+
const paint = ev.isError ? error : muted;
|
|
262
|
+
view.lines.forEach((line, i) => console.log(paint((i === 0 ? ' ⎿ ' : ' ') + line)));
|
|
263
|
+
if (view.hidden > 0)
|
|
264
|
+
console.log(dim(` … +${view.hidden} lines`));
|
|
265
|
+
if (!ev.isError)
|
|
266
|
+
printArticleLinks(pending.name, pending.input, ev.output, cwd);
|
|
267
|
+
break;
|
|
268
|
+
}
|
|
226
269
|
case 'result':
|
|
227
270
|
process.stdout.write('\n');
|
|
228
271
|
console.log(dim(` (${ev.inputTokens}→${ev.outputTokens} tokens)`));
|
package/dist/repl.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"repl.js","sourceRoot":"","sources":["../src/repl.ts"],"names":[],"mappings":"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"}
|