@polycode-projects/the-mechanical-code-talker 0.9.1 → 0.9.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@polycode-projects/the-mechanical-code-talker",
3
- "version": "0.9.1",
3
+ "version": "0.9.2",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "description": "The Mechanical Code Talker (tmct) — a tolerant, offline, $0 chat surface that guides you toward precision queries about a software repository. ELIZA/PARRY-style but domain-obsessed with code. No model calls; no codebase index of its own.",
package/src/chat.mjs CHANGED
@@ -2987,6 +2987,12 @@ export async function runChat({
2987
2987
  gitRoot = gitToplevel,
2988
2988
  ephemeral = false,
2989
2989
  } = {}) {
2990
+ // createSession's first-run seed (~2-3s, corpus/seon + ConceptNet) produces ZERO
2991
+ // output until it fully resolves — found live: an operator reported `npm run chat`
2992
+ // appearing to hang with total silence. This one line is cheap on every run (a
2993
+ // fast subsequent run just flashes it briefly) and removes the "is this even
2994
+ // running" uncertainty during the one case that's genuinely slow.
2995
+ output.write("tmct — starting…\n");
2990
2996
  const session = await createSession({ repoPath, source, env, cwd, gitRoot, ephemeral });
2991
2997
 
2992
2998
  const dim = (s) => (env.NO_COLOR || !output.isTTY ? s : `\x1b[2m${s}\x1b[0m`);
package/src/tui/app.mjs CHANGED
@@ -231,6 +231,12 @@ export function App({ session }) {
231
231
  * which also triggers the memory fold — stream flush). Returns
232
232
  * { logFile, sidecarFile, turns } exactly like runChat. */
233
233
  export async function runTui({ repoPath, stdout = process.stdout, stdin = process.stdin, ...sessionOpts } = {}) {
234
+ // Same reasoning as runChat's equivalent line (src/chat.mjs): createSession's
235
+ // first-run seed is silent for ~2-3s, and nothing is written to the terminal
236
+ // (not even the alternate-screen switch below) until it resolves — this was
237
+ // reported live as an apparent hang. One cheap line on the PRIMARY screen,
238
+ // before the alt-screen switch, so there's visible proof of life immediately.
239
+ stdout.write("tmct — starting…\n");
234
240
  const session = await createSession({ repoPath, ...sessionOpts });
235
241
  stdout.write("\x1b[?1049h\x1b[H"); // alternate screen buffer + home — a clean full-screen canvas
236
242
  const app = render(h(App, { session }), { stdout, stdin, exitOnCtrlC: true });