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.
Files changed (42) hide show
  1. package/dist/cli.js +23 -0
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/help.js +1 -0
  4. package/dist/commands/help.js.map +1 -1
  5. package/dist/commands/index.js +2 -0
  6. package/dist/commands/index.js.map +1 -1
  7. package/dist/commands/logsCli.d.ts +2 -0
  8. package/dist/commands/logsCli.js +31 -0
  9. package/dist/commands/logsCli.js.map +1 -0
  10. package/dist/commands/workspace.d.ts +3 -0
  11. package/dist/commands/workspace.js +8 -0
  12. package/dist/commands/workspace.js.map +1 -0
  13. package/dist/d360/authCli.js +16 -1
  14. package/dist/d360/authCli.js.map +1 -1
  15. package/dist/d360/portalLink.d.ts +18 -0
  16. package/dist/d360/portalLink.js +43 -0
  17. package/dist/d360/portalLink.js.map +1 -0
  18. package/dist/d360/workspaceCli.d.ts +15 -0
  19. package/dist/d360/workspaceCli.js +72 -0
  20. package/dist/d360/workspaceCli.js.map +1 -0
  21. package/dist/lib/mdRender.d.ts +7 -0
  22. package/dist/lib/mdRender.js +172 -0
  23. package/dist/lib/mdRender.js.map +1 -0
  24. package/dist/lib/streaming.d.ts +23 -0
  25. package/dist/lib/streaming.js +51 -0
  26. package/dist/lib/streaming.js.map +1 -0
  27. package/dist/lib/toolFormat.d.ts +26 -0
  28. package/dist/lib/toolFormat.js +115 -0
  29. package/dist/lib/toolFormat.js.map +1 -0
  30. package/dist/repl.js +49 -6
  31. package/dist/repl.js.map +1 -1
  32. package/dist/tui/App.js +257 -63
  33. package/dist/tui/App.js.map +1 -1
  34. package/dist/tui/catalog.js +2 -0
  35. package/dist/tui/catalog.js.map +1 -1
  36. package/dist/tui/itemRender.d.ts +56 -0
  37. package/dist/tui/itemRender.js +72 -0
  38. package/dist/tui/itemRender.js.map +1 -0
  39. package/package.json +5 -3
  40. package/dist/tui/markdown.d.ts +0 -4
  41. package/dist/tui/markdown.js +0 -139
  42. package/dist/tui/markdown.js.map +0 -1
package/dist/tui/App.js CHANGED
@@ -1,12 +1,18 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
3
- import { Box, Static, Text, useApp, useInput, useStdout } from 'ink';
4
- import { createSession, resolveActiveProfile, decodeJwtClaims, isExpired, loadTokens, setTitle, slugify, touchSession, upsertSession, generateTitle, findByName, listSessions, renameSession, readProjectConfig, writeProjectConfig, } from 'document360-engine';
3
+ import { Box, Text, useApp, useInput, useStdout } from 'ink';
4
+ import { existsSync, readFileSync } from 'node:fs';
5
+ import { basename, isAbsolute, join } from 'node:path';
6
+ import { createSession, resolveActiveProfile, resolveProjectId, getArticle, decodeJwtClaims, isExpired, loadTokens, setTitle, slugify, touchSession, upsertSession, generateTitle, findByName, listSessions, renameSession, suggestNextAction, readProjectConfig, writeProjectConfig, } from 'document360-engine';
5
7
  import { publishCommand } from '../commands/publish.js';
6
8
  import { auditCommand } from '../commands/audit.js';
7
9
  import { screenshotCommand } from '../commands/screenshot.js';
8
10
  import { COMMANDS, filterCommands } from './catalog.js';
9
- import { Markdown } from './markdown.js';
11
+ import { renderItem, renderTranscript } from './itemRender.js';
12
+ import { formatToolResult, formatToolUse } from '../lib/toolFormat.js';
13
+ import { liveTail, streamCut } from '../lib/streaming.js';
14
+ import { articleEditorUrl, extractArticleId, extractPublicUrl } from '../d360/portalLink.js';
15
+ import { fetchWorkspaces, matchWorkspace, setWorkspace } from '../d360/workspaceCli.js';
10
16
  function computeBanner(cwd, version, auth, profileName) {
11
17
  const claude = auth.kind === 'api' ? 'API key' : auth.kind === 'subscription' ? 'subscription' : 'not configured';
12
18
  const info = { version, claude, who: null, profile: '—', apiUrl: '—', project: '—', cwd, prod: false, loggedOut: true };
@@ -50,21 +56,26 @@ const GERUNDS = [
50
56
  'Polishing', 'Synthesizing', 'Curating', 'Distilling', 'Weaving', 'Wrangling', 'Pondering',
51
57
  ];
52
58
  const SPINNER = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
53
- /** Prettify a tool name for display; returns null for internal tools that should be hidden. */
54
- function prettyTool(name) {
55
- if (name === 'ToolSearch')
56
- return null; // deferred-tool search internal noise
57
- if (name.startsWith('mcp__')) {
58
- const tool = name.split('__').slice(2).join('__'); // mcp__<server>__<tool>
59
- return 'Document360: ' + tool.replace(/^d360_/, '').replace(/_/g, ' ');
60
- }
61
- return name; // built-in tools (Read, Write, Bash, ) shown as-is
59
+ const PLACEHOLDER = 'Ask me to write or update an article…';
60
+ /**
61
+ * Claude Code-style blinking block cursor: inverse-video over `ch` (the first
62
+ * placeholder character when the input is empty, a space at the end while typing).
63
+ */
64
+ function Cursor({ ch, dim }) {
65
+ const [on, setOn] = useState(true);
66
+ useEffect(() => {
67
+ const id = setInterval(() => setOn(o => !o), 530);
68
+ return () => clearInterval(id);
69
+ }, []);
70
+ return (_jsx(Text, { inverse: on, color: dim && !on ? 'gray' : undefined, children: ch }));
62
71
  }
63
- function formatDuration(seconds) {
64
- if (seconds < 60)
65
- return `${seconds}s`;
66
- return `${Math.floor(seconds / 60)}m ${seconds % 60}s`;
72
+ /** D360 write tools whose results deserve a portal/live link. (unpublish excluded.) */
73
+ const ARTICLE_WRITE_TOOLS = /^mcp__document360__d360_(create_article|update_article|fork_article|publish_article)$/;
74
+ function stripFrontmatter(md) {
75
+ const m = md.match(/^---\r?\n[\s\S]*?\r?\n---\r?\n/);
76
+ return m ? md.slice(m[0].length) : md;
67
77
  }
78
+ const ARTICLE_ID_RE = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
68
79
  /** Animated "working" line: spinner + rotating verb + live timer + ~token estimate. */
69
80
  function Working({ startTime, chars }) {
70
81
  const [tick, setTick] = useState(0);
@@ -80,15 +91,26 @@ function Working({ startTime, chars }) {
80
91
  }
81
92
  export function App({ cwd, auth, profileName, version }) {
82
93
  const { exit } = useApp();
83
- const [items, setItems] = useState(() => [{ id: 0, kind: 'banner', info: computeBanner(cwd, version, auth, profileName) }]);
84
94
  const [live, setLive] = useState(null);
85
95
  const [input, setInput] = useState('');
86
96
  const [busy, setBusy] = useState(false);
97
+ /** Ghost-text suggestion for the next prompt (Claude Code-style: tab to accept). */
98
+ const [ghost, setGhost] = useState(null);
99
+ /** Bumped on every turn/accept — late suggestion responses for old turns are dropped. */
100
+ const ghostSeqRef = useRef(0);
101
+ // The placeholder is a first-run affordance — once a prompt has been sent the input
102
+ // is just a cursor (matches Claude Code). After /clear it returns.
103
+ const [started, setStarted] = useState(false);
87
104
  const [turnChars, setTurnChars] = useState(0);
88
105
  const turnStartRef = useRef(0);
89
106
  const [paletteIndex, setPaletteIndex] = useState(0);
90
107
  const [historyIndex, setHistoryIndex] = useState(null);
91
- const idRef = useRef(0);
108
+ /** The transcript model. Items are printed (markdown-rendered to ANSI) through Ink's
109
+ console patch the moment they're pushed — console.log inside an Ink app atomically
110
+ erases the dynamic frame, writes, and repaints it. Kept here so the WHOLE
111
+ transcript can be re-rendered at the new width on resize (which <Static> cannot
112
+ do safely — see .claude/docs/gotchas-writer-tui.md). */
113
+ const itemsRef = useRef([]);
92
114
  // LAZY init — `useRef(createSession(...))` would call createSession on EVERY render
93
115
  // (useRef keeps only the first value but still evaluates the argument each time), and
94
116
  // createSession spawns an Agent SDK subprocess → a new subprocess per keystroke →
@@ -98,20 +120,72 @@ export function App({ cwd, auth, profileName, version }) {
98
120
  sessionRef.current = createSession({ cwd, profileName, allowProdWrites: false });
99
121
  }
100
122
  const trackerRef = useRef({ uuid: null, firstPrompt: null, titleFired: false });
123
+ /** tool_use ids whose header we rendered (with their call details, for result
124
+ pairing + article-link extraction) — the rest stay hidden. */
125
+ const shownToolsRef = useRef(new Map());
101
126
  const allowProdRef = useRef(false);
102
127
  const historyRef = useRef([]);
103
128
  const { stdout } = useStdout();
104
129
  const [, setResizeTick] = useState(0);
105
- // Re-render on resize so the width below recomputes. NOTE: do NOT write any clear
106
- // escape here that caused a clear→resize→clear feedback loop on Windows Terminal.
107
- // A plain state bump is loop-safe (no stdout write); Ink repaints with the new width.
130
+ // Cols AND rows: height-only resizes also reflow under conpty and can strand
131
+ // dynamic-frame fragments, so they get a replay too (pty-harness verified).
132
+ const lastSizeRef = useRef(`${stdout.columns ?? 80}x${stdout.rows ?? 24}`);
133
+ const transcriptWidth = useCallback(() => Math.max(20, (stdout.columns ?? 80) - 1), [stdout]);
134
+ /** Append + print one transcript item (markdown-rendered, via Ink's console patch). */
135
+ const push = useCallback((item) => {
136
+ itemsRef.current.push(item);
137
+ console.log(renderItem(item, transcriptWidth()));
138
+ }, [transcriptWidth]);
139
+ // Print the banner once on mount (it's a transcript item like everything else).
108
140
  useEffect(() => {
109
- const onResize = () => setResizeTick(t => t + 1);
141
+ push({ kind: 'banner', info: computeBanner(cwd, version, auth, profileName) });
142
+ // eslint-disable-next-line react-hooks/exhaustive-deps
143
+ }, []);
144
+ // Resize redraw (debounced; only when COLUMNS changed — height changes don't rewrap).
145
+ // The terminal rewraps old lines on narrow-resize, so nothing already printed can be
146
+ // trusted; we erase the viewport and replay the whole transcript at the new width.
147
+ // Hardening (SNAG-0026: mid-drag settles tore lines while conpty reflowed):
148
+ // - 400ms debounce: a direction-change pause in a back-and-forth drag is not
149
+ // "settled" — one replay at the end, not several along the way.
150
+ // - home BEFORE erase (\x1b[H\x1b[2J — canonical cls order conpty handles).
151
+ // - synchronized output (\x1b[?2026h/l): WT applies clear+replay as ONE frame.
152
+ // The whole write goes THROUGH the console patch (serialized with Ink's frame
153
+ // erase/repaint) — never write raw escapes behind Ink's back, and never remount
154
+ // <Static> (see .claude/docs/gotchas-writer-tui.md for the s-0024 incident).
155
+ useEffect(() => {
156
+ let timer = null;
157
+ let replayTimer = null;
158
+ const onResize = () => {
159
+ if (timer)
160
+ clearTimeout(timer);
161
+ timer = setTimeout(() => {
162
+ timer = null;
163
+ const size = `${stdout.columns ?? 80}x${stdout.rows ?? 24}`;
164
+ if (size === lastSizeRef.current)
165
+ return;
166
+ lastSizeRef.current = size;
167
+ // ORDER MATTERS (pty-harness verified): first re-render the dynamic region at
168
+ // the new width; only after Ink painted that frame do the replay. Replaying
169
+ // first leaves Ink writing an OLD-width frame after our clear — its rewrapped
170
+ // lines defeat the next erase and strand the frame's top border on screen.
171
+ setResizeTick(t => t + 1);
172
+ if (replayTimer)
173
+ clearTimeout(replayTimer);
174
+ replayTimer = setTimeout(() => {
175
+ replayTimer = null;
176
+ console.log('\x1b[?2026h\x1b[H\x1b[2J' + renderTranscript(itemsRef.current, transcriptWidth()) + '\x1b[?2026l');
177
+ }, 80);
178
+ }, 400);
179
+ };
110
180
  stdout.on('resize', onResize);
111
181
  return () => {
182
+ if (timer)
183
+ clearTimeout(timer);
184
+ if (replayTimer)
185
+ clearTimeout(replayTimer);
112
186
  stdout.off('resize', onResize);
113
187
  };
114
- }, [stdout]);
188
+ }, [stdout, transcriptWidth]);
115
189
  // CRITICAL: cap the rendered width to columns-1. A full-terminal-width element (the
116
190
  // input border) sits exactly at the wrap boundary and wraps by one column; Ink then
117
191
  // erases by a line count that's short, leaving the overflow behind — so every render
@@ -121,15 +195,41 @@ export function App({ cwd, auth, profileName, version }) {
121
195
  const status = useMemo(() => statusLine(cwd, profileName), [cwd, profileName]);
122
196
  const palette = filterCommands(input);
123
197
  const paletteOpen = palette.length > 0 && !busy;
124
- const nextId = () => ++idRef.current;
125
- const push = useCallback((item) => setItems(prev => [...prev, { ...item, id: nextId() }]), []);
198
+ // Cap the live area well under typical terminal heights; the held-back text appears
199
+ // markdown-rendered when its paragraph (or code fence) completes.
200
+ const liveView = live !== null ? liveTail(live, 8, width) : null;
126
201
  const restartSession = useCallback((resume) => {
127
202
  sessionRef.current?.close();
128
203
  sessionRef.current = createSession({ cwd, resume, profileName, allowProdWrites: allowProdRef.current });
129
204
  if (!resume)
130
205
  trackerRef.current = { uuid: null, firstPrompt: null, titleFired: false };
131
206
  }, [cwd, profileName]);
207
+ /** After a successful article write, surface where to see the outcome (option C). */
208
+ const pushArticleLinks = useCallback((toolName, input, output) => {
209
+ if (!ARTICLE_WRITE_TOOLS.test(toolName))
210
+ return;
211
+ try {
212
+ const active = resolveActiveProfile(cwd, profileName);
213
+ const projectId = (typeof input['project_id'] === 'string' && input['project_id']) || active.project.projectId;
214
+ const articleId = extractArticleId(input, output);
215
+ const lines = [];
216
+ const publicUrl = extractPublicUrl(output);
217
+ if (toolName.endsWith('publish_article') && publicUrl)
218
+ lines.push(`Live: ${publicUrl}`);
219
+ if (articleId && projectId) {
220
+ lines.push(`Preview in Document360: ${articleEditorUrl(active.connection.portalUrl, projectId, articleId, active.project.languageCode ?? 'en')}`);
221
+ }
222
+ if (lines.length > 0)
223
+ push({ kind: 'link', lines });
224
+ }
225
+ catch {
226
+ /* no/invalid profile — skip the links */
227
+ }
228
+ }, [cwd, profileName, push]);
132
229
  const runPrompt = useCallback(async (text) => {
230
+ setStarted(true);
231
+ setGhost(null);
232
+ const ghostSeq = ++ghostSeqRef.current;
133
233
  push({ kind: 'user', text });
134
234
  const tracker = trackerRef.current;
135
235
  if (!tracker.firstPrompt)
@@ -137,14 +237,33 @@ export function App({ cwd, auth, profileName, version }) {
137
237
  turnStartRef.current = Date.now();
138
238
  setTurnChars(0);
139
239
  setBusy(true);
240
+ shownToolsRef.current.clear();
241
+ let turnText = ''; // all assistant text this turn (for the next-action suggestion)
140
242
  let buffer = '';
243
+ // Throttle live repaints to ~16fps: a repaint per token delta flickers and
244
+ // multiplies the chances of erase/rewrap races; batching costs nothing visible.
245
+ let liveTimer = null;
246
+ const scheduleLive = () => {
247
+ if (liveTimer)
248
+ return;
249
+ liveTimer = setTimeout(() => {
250
+ liveTimer = null;
251
+ setLive(buffer.length > 0 ? buffer : null);
252
+ }, 60);
253
+ };
254
+ const clearLive = () => {
255
+ if (liveTimer)
256
+ clearTimeout(liveTimer);
257
+ liveTimer = null;
258
+ setLive(null);
259
+ };
141
260
  const flush = () => {
142
- if (buffer) {
143
- const t = buffer;
261
+ if (buffer.trim()) {
262
+ const t = buffer.trimEnd();
144
263
  push({ kind: 'assistant', text: t });
145
- buffer = '';
146
- setLive(null);
147
264
  }
265
+ buffer = '';
266
+ clearLive();
148
267
  };
149
268
  try {
150
269
  for await (const ev of sessionRef.current.send(text)) {
@@ -157,19 +276,51 @@ export function App({ cwd, auth, profileName, version }) {
157
276
  }
158
277
  else if (ev.type === 'text') {
159
278
  buffer += ev.delta;
160
- setLive(buffer);
279
+ turnText += ev.delta;
280
+ // Flush completed paragraphs into the (markdown-rendered) transcript as they
281
+ // stream — text that scrolls out of the viewport can't be repainted later.
282
+ const cut = streamCut(buffer);
283
+ if (cut > 0) {
284
+ const chunk = buffer.slice(0, cut).trimEnd();
285
+ if (chunk)
286
+ push({ kind: 'assistant', text: chunk });
287
+ buffer = buffer.slice(cut);
288
+ }
289
+ scheduleLive();
161
290
  setTurnChars(c => c + ev.delta.length);
162
291
  }
163
292
  else if (ev.type === 'tool') {
164
- const pretty = prettyTool(ev.name);
165
- if (pretty) {
293
+ const header = formatToolUse(ev.name, ev.input);
294
+ if (header) {
166
295
  flush();
167
- push({ kind: 'tool', name: pretty });
296
+ push({ kind: 'tool', title: header.title, sep: header.sep, arg: header.arg });
297
+ shownToolsRef.current.set(ev.id, { name: ev.name, input: ev.input });
298
+ }
299
+ }
300
+ else if (ev.type === 'tool_result') {
301
+ // Only render results whose call we showed (hidden tools stay hidden).
302
+ const pending = shownToolsRef.current.get(ev.id);
303
+ if (pending) {
304
+ shownToolsRef.current.delete(ev.id);
305
+ flush();
306
+ const view = formatToolResult(ev.output);
307
+ push({ kind: 'tool-result', lines: view.lines, hidden: view.hidden, isError: ev.isError });
308
+ if (!ev.isError)
309
+ pushArticleLinks(pending.name, pending.input, ev.output);
168
310
  }
169
311
  }
170
312
  else if (ev.type === 'result') {
171
313
  flush();
172
314
  push({ kind: 'done', seconds: Math.round((Date.now() - turnStartRef.current) / 1000), tokens: ev.outputTokens, ok: ev.ok });
315
+ // Fire-and-forget ghost-text suggestion; drop it if a newer turn started.
316
+ if (ev.ok && turnText.trim()) {
317
+ void suggestNextAction(text, turnText, cwd)
318
+ .then(s => {
319
+ if (s && ghostSeqRef.current === ghostSeq)
320
+ setGhost(s);
321
+ })
322
+ .catch(() => { });
323
+ }
173
324
  if (tracker.uuid) {
174
325
  touchSession(tracker.uuid);
175
326
  if (!tracker.titleFired) {
@@ -189,9 +340,9 @@ export function App({ cwd, auth, profileName, version }) {
189
340
  }
190
341
  finally {
191
342
  setBusy(false);
192
- setLive(null);
343
+ clearLive();
193
344
  }
194
- }, [cwd, push]);
345
+ }, [cwd, push, pushArticleLinks]);
195
346
  const handleCommand = useCallback(async (line) => {
196
347
  const parts = line.slice(1).trim().split(/\s+/);
197
348
  const name = (parts[0] ?? '').toLowerCase();
@@ -207,7 +358,10 @@ export function App({ cwd, auth, profileName, version }) {
207
358
  return;
208
359
  case 'clear':
209
360
  restartSession();
210
- setItems([]);
361
+ itemsRef.current = []; // fresh transcript model (what's on screen stays in scrollback)
362
+ setStarted(false);
363
+ setGhost(null);
364
+ ghostSeqRef.current++;
211
365
  push({ kind: 'note', tone: 'info', text: 'Conversation reset (the previous session is still resumable via /resume).' });
212
366
  return;
213
367
  case 'allow-prod': {
@@ -282,6 +436,63 @@ export function App({ cwd, auth, profileName, version }) {
282
436
  push({ kind: 'note', tone: 'ok', text: `Resumed "${rec.name}".` });
283
437
  return;
284
438
  }
439
+ case 'workspace': {
440
+ const target = args.join(' ').trim();
441
+ let data;
442
+ try {
443
+ data = await fetchWorkspaces(cwd, profileName);
444
+ }
445
+ catch (e) {
446
+ push({ kind: 'note', tone: 'error', text: `Could not list workspaces: ${e.message}` });
447
+ return;
448
+ }
449
+ if (!target) {
450
+ const lines = data.workspaces.map(w => ` ${w.id === data.current ? '●' : ' '} ${w.name ?? w.id}${w.workspace_type ? ` · ${w.workspace_type}` : ''}`);
451
+ push({ kind: 'note', tone: 'info', text: `Workspaces (switch with /workspace <name>):\n${lines.join('\n')}` });
452
+ return;
453
+ }
454
+ const w = matchWorkspace(data.workspaces, target);
455
+ if (!w) {
456
+ push({ kind: 'note', tone: 'error', text: `No workspace matches "${target}".` });
457
+ return;
458
+ }
459
+ setWorkspace(cwd, data.profile, data.projectId, w.id);
460
+ push({ kind: 'note', tone: 'ok', text: `Switched to workspace "${w.name ?? w.id}" (agent restarted).` });
461
+ restartSession();
462
+ return;
463
+ }
464
+ case 'preview': {
465
+ const target = args.join(' ').trim();
466
+ if (!target) {
467
+ push({ kind: 'note', tone: 'error', text: 'Usage: /preview <path-to.md | article-id>' });
468
+ return;
469
+ }
470
+ const asPath = isAbsolute(target) ? target : join(cwd, target);
471
+ if (existsSync(asPath)) {
472
+ try {
473
+ push({ kind: 'preview', name: basename(asPath), text: stripFrontmatter(readFileSync(asPath, 'utf8')) });
474
+ }
475
+ catch (e) {
476
+ push({ kind: 'note', tone: 'error', text: `Could not read ${asPath}: ${e.message}` });
477
+ }
478
+ return;
479
+ }
480
+ if (ARTICLE_ID_RE.test(target)) {
481
+ try {
482
+ const active = resolveActiveProfile(cwd, profileName);
483
+ const ctx = { profile: active.name, connection: active.connection };
484
+ const projectId = active.project.projectId ?? resolveProjectId(ctx);
485
+ const article = await getArticle(ctx, projectId, target);
486
+ push({ kind: 'preview', name: article.title ?? target, text: article.content ?? '*(article has no content)*' });
487
+ }
488
+ catch (e) {
489
+ push({ kind: 'note', tone: 'error', text: `Could not fetch article: ${e.message}` });
490
+ }
491
+ return;
492
+ }
493
+ push({ kind: 'note', tone: 'error', text: `"${target}" is neither a file (relative to ${cwd}) nor an article id.` });
494
+ return;
495
+ }
285
496
  case 'publish':
286
497
  case 'audit':
287
498
  case 'screenshot': {
@@ -326,6 +537,13 @@ export function App({ cwd, auth, profileName, version }) {
326
537
  }
327
538
  if (busy)
328
539
  return; // ignore input while the agent is working
540
+ // Tab accepts the ghost suggestion (palette is closed when input is empty).
541
+ if (key.tab && !input && ghost) {
542
+ setInput(ghost);
543
+ setGhost(null);
544
+ ghostSeqRef.current++;
545
+ return;
546
+ }
329
547
  if (paletteOpen) {
330
548
  if (key.upArrow) {
331
549
  setPaletteIndex(i => Math.max(0, i - 1));
@@ -378,36 +596,12 @@ export function App({ cwd, auth, profileName, version }) {
378
596
  if (key.escape) {
379
597
  setInput('');
380
598
  setPaletteIndex(0);
599
+ setGhost(null);
381
600
  return;
382
601
  }
383
602
  if (char && !key.ctrl && !key.meta)
384
603
  setInput(s => s + char);
385
604
  });
386
- return (_jsxs(Box, { flexDirection: "column", width: width, children: [_jsx(Static, { items: items, children: item => _jsx(ItemView, { item: item }, item.id) }), live !== null && (_jsx(Box, { children: _jsx(Text, { children: live }) })), busy && _jsx(Working, { startTime: turnStartRef.current, chars: turnChars }), paletteOpen && (_jsx(Box, { flexDirection: "column", marginTop: 1, children: palette.map((c, i) => (_jsxs(Text, { color: i === paletteIndex ? 'cyan' : 'gray', children: [i === paletteIndex ? '❯ ' : ' ', c.usage.padEnd(22), " ", c.desc] }, c.name))) })), _jsxs(Box, { borderStyle: "round", borderColor: status.prod ? 'yellow' : 'cyan', borderTop: true, borderBottom: true, borderLeft: false, borderRight: false, marginTop: paletteOpen ? 0 : 1, children: [_jsx(Text, { color: "cyan", children: '> ' }), input ? _jsx(Text, { children: input }) : _jsx(Text, { color: "gray", children: "Ask me to write or update an article\u2026" }), _jsx(Text, { color: "gray", children: "\u258F" })] }), _jsx(Box, { paddingX: 1, children: _jsxs(Text, { color: "gray", children: [status.prod ? '⚠ PRODUCTION · ' : '', '/help · ↑ history · ctrl+c exit'] }) })] }));
387
- }
388
- function Row({ label, children }) {
389
- // Fixed-width label column → values align uniformly regardless of label length.
390
- return (_jsxs(Box, { children: [_jsx(Box, { width: 15, flexShrink: 0, children: _jsx(Text, { color: "gray", children: ` ${label}` }) }), children] }));
391
- }
392
- function BannerView({ info }) {
393
- return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: "cyan", bold: true, children: '✎ document360-writer' }), _jsx(Text, { color: "gray", children: ` v${info.version}` })] }), _jsx(Text, { color: "gray", children: ' Reads your code, writes your docs.' }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Row, { label: "Claude:", children: _jsx(Text, { children: info.claude }) }), _jsx(Row, { label: "Document360:", children: info.loggedOut ? _jsx(Text, { color: "yellow", children: "not logged in \u2014 run: d360-writer login" }) : _jsx(Text, { children: info.who }) }), _jsxs(Row, { label: "Profile:", children: [_jsx(Text, { children: info.profile }), _jsx(Text, { color: "gray", children: ` (${info.apiUrl})` }), info.prod && _jsx(Text, { color: "yellow", bold: true, children: ' ⚠ PRODUCTION' })] }), _jsx(Row, { label: "Project:", children: _jsx(Text, { children: info.project }) }), _jsx(Row, { label: "cwd:", children: _jsx(Text, { color: "gray", children: info.cwd }) })] })] }));
394
- }
395
- function ItemView({ item }) {
396
- switch (item.kind) {
397
- case 'banner':
398
- return _jsx(BannerView, { info: item.info });
399
- case 'user':
400
- return (_jsxs(Box, { children: [_jsx(Text, { color: "cyan", children: '❯ ' }), _jsx(Text, { children: item.text })] }));
401
- case 'assistant':
402
- return (_jsx(Box, { marginBottom: 1, children: _jsx(Markdown, { text: item.text }) }));
403
- case 'tool':
404
- return _jsx(Text, { color: "gray", children: ` ⚙ ${item.name}` });
405
- case 'note': {
406
- const color = item.tone === 'error' ? 'red' : item.tone === 'warn' ? 'yellow' : item.tone === 'ok' ? 'green' : 'gray';
407
- return _jsx(Text, { color: color, children: item.text });
408
- }
409
- case 'done':
410
- return (_jsxs(Box, { marginTop: 1, marginBottom: 1, children: [_jsx(Text, { color: item.ok ? 'magenta' : 'red', children: '✶ ' }), _jsx(Text, { color: "gray", children: `Cooked for ${formatDuration(item.seconds)} · ${item.tokens} tokens` })] }));
411
- }
605
+ return (_jsxs(Box, { flexDirection: "column", width: width, children: [liveView !== null && (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [liveView.truncated && _jsx(Text, { dimColor: true, children: '…' }), _jsx(Text, { children: liveView.text })] })), busy && _jsx(Working, { startTime: turnStartRef.current, chars: turnChars }), paletteOpen && (_jsx(Box, { flexDirection: "column", marginTop: 1, children: palette.map((c, i) => (_jsxs(Text, { color: i === paletteIndex ? 'cyan' : 'gray', children: [i === paletteIndex ? '❯ ' : ' ', c.usage.padEnd(22), " ", c.desc] }, c.name))) })), _jsxs(Box, { borderStyle: "round", borderColor: status.prod ? 'yellow' : 'cyan', borderTop: true, borderBottom: true, borderLeft: false, borderRight: false, marginTop: paletteOpen ? 0 : 1, children: [_jsx(Text, { color: "cyan", children: '> ' }), input ? (_jsxs(_Fragment, { children: [_jsx(Text, { children: input }), _jsx(Cursor, { ch: " " })] })) : ghost && !busy ? (_jsxs(_Fragment, { children: [_jsx(Cursor, { ch: ghost[0], dim: true }), _jsx(Text, { color: "gray", children: ghost.slice(1) }), _jsx(Text, { dimColor: true, children: ' (tab)' })] })) : started ? (_jsx(Cursor, { ch: " " })) : (_jsxs(_Fragment, { children: [_jsx(Cursor, { ch: PLACEHOLDER[0], dim: true }), _jsx(Text, { color: "gray", children: PLACEHOLDER.slice(1) })] }))] }), _jsx(Box, { paddingX: 1, children: _jsxs(Text, { color: "gray", children: [status.prod ? '⚠ PRODUCTION · ' : '', '/help · ↑ history · ctrl+c exit'] }) })] }));
412
606
  }
413
607
  //# sourceMappingURL=App.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"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"}
@@ -3,7 +3,9 @@ export const COMMANDS = [
3
3
  { name: 'resume', usage: '/resume [name]', desc: 'Resume a session (no arg lists them)' },
4
4
  { name: 'rename', usage: '/rename <name>', desc: 'Name the current session' },
5
5
  { name: 'profile', usage: '/profile [name]', desc: 'Show profiles, or switch' },
6
+ { name: 'workspace', usage: '/workspace [name]', desc: 'List or switch the Document360 workspace' },
6
7
  { name: 'allow-prod', usage: '/allow-prod', desc: 'Authorize writes to a production profile' },
8
+ { name: 'preview', usage: '/preview <path|id>', desc: 'Render an article (local .md or Document360 id)' },
7
9
  { name: 'publish', usage: '/publish <path>', desc: 'Publish an article to Document360 (draft)' },
8
10
  { name: 'audit', usage: '/audit', desc: 'Diff code vs docs, flag gaps' },
9
11
  { name: 'screenshot', usage: '/screenshot <id>', desc: 'Emit a capture spec for a placeholder' },
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/tui/catalog.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,QAAQ,GAAkB;IACrC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,yBAAyB,EAAE;IACjE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,sCAAsC,EAAE;IACzF,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,0BAA0B,EAAE;IAC7E,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,0BAA0B,EAAE;IAC/E,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,0CAA0C,EAAE;IAC9F,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,2CAA2C,EAAE;IAChG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,8BAA8B,EAAE;IACxE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,uCAAuC,EAAE;IAChG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,oCAAoC,EAAE;IAC9E,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;CAC/C,CAAC;AAEF,2DAA2D;AAC3D,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC"}
1
+ {"version":3,"file":"catalog.js","sourceRoot":"","sources":["../../src/tui/catalog.ts"],"names":[],"mappings":"AAIA,MAAM,CAAC,MAAM,QAAQ,GAAkB;IACrC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,yBAAyB,EAAE;IACjE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,sCAAsC,EAAE;IACzF,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,0BAA0B,EAAE;IAC7E,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,0BAA0B,EAAE;IAC/E,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,mBAAmB,EAAE,IAAI,EAAE,0CAA0C,EAAE;IACnG,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,0CAA0C,EAAE;IAC9F,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,iDAAiD,EAAE;IACzG,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,2CAA2C,EAAE;IAChG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,8BAA8B,EAAE;IACxE,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,EAAE,kBAAkB,EAAE,IAAI,EAAE,uCAAuC,EAAE;IAChG,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,oCAAoC,EAAE;IAC9E,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;CAC/C,CAAC;AAEF,2DAA2D;AAC3D,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IACtC,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC5D,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC"}