@staff0rd/assist 0.317.2 → 0.318.1

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/index.js CHANGED
@@ -6,7 +6,7 @@ import { Command } from "commander";
6
6
  // package.json
7
7
  var package_default = {
8
8
  name: "@staff0rd/assist",
9
- version: "0.317.2",
9
+ version: "0.318.1",
10
10
  type: "module",
11
11
  main: "dist/index.js",
12
12
  bin: {
@@ -4615,6 +4615,7 @@ var activitySchema = z4.object({
4615
4615
  itemId: z4.number().optional(),
4616
4616
  itemName: z4.string().optional(),
4617
4617
  phase: z4.number().optional(),
4618
+ phaseName: z4.string().optional(),
4618
4619
  totalPhases: z4.number().optional(),
4619
4620
  claudeSessionId: z4.string().optional(),
4620
4621
  startedAt: z4.number()
@@ -4874,11 +4875,13 @@ async function executePhase(item, phaseIndex, phases, spawnOptions, totalPhases
4874
4875
  const resumeSessionId = spawnOptions?.resumeSessionId;
4875
4876
  const claudeSessionId = resumeSessionId ?? randomUUID();
4876
4877
  process.env.ASSIST_SESSION_ID ??= String(process.pid);
4878
+ const isReviewPhase = phaseNumber >= totalPhases;
4877
4879
  emitActivity({
4878
4880
  kind: "backlog",
4879
4881
  itemId: item.id,
4880
4882
  itemName: item.name,
4881
4883
  phase: phaseNumber,
4884
+ phaseName: isReviewPhase ? REVIEW_PHASE_NAME : phase.name,
4882
4885
  totalPhases,
4883
4886
  claudeSessionId
4884
4887
  });
@@ -20533,6 +20536,26 @@ function refreshActivity(session) {
20533
20536
  session.claudeSessionId = activity2.claudeSessionId;
20534
20537
  }
20535
20538
 
20539
+ // src/commands/sessions/daemon/watchThinking.ts
20540
+ var ACTIVATE_MS = 500;
20541
+ var GAP_MS = 1e3;
20542
+ function noteOutputForThinking(session, onStatusChange) {
20543
+ if (session.status !== "waiting") {
20544
+ session.thinkingStreakStart = void 0;
20545
+ session.thinkingLastOutput = void 0;
20546
+ return;
20547
+ }
20548
+ const now = Date.now();
20549
+ const stale = session.thinkingStreakStart == null || session.thinkingLastOutput == null || now - session.thinkingLastOutput > GAP_MS;
20550
+ if (stale) session.thinkingStreakStart = now;
20551
+ session.thinkingLastOutput = now;
20552
+ if (now - (session.thinkingStreakStart ?? now) < ACTIVATE_MS) return;
20553
+ session.thinkingStreakStart = void 0;
20554
+ session.thinkingLastOutput = void 0;
20555
+ daemonLog(`session ${session.id} sustained output while waiting -> running`);
20556
+ onStatusChange(session, "running");
20557
+ }
20558
+
20536
20559
  // src/commands/sessions/daemon/wirePtyEvents.ts
20537
20560
  var MAX_SCROLLBACK = 256 * 1024;
20538
20561
  function appendScrollback(session, data) {
@@ -20546,6 +20569,7 @@ function wirePtyEvents(session, clients, onStatusChange) {
20546
20569
  session.pty.onData((data) => {
20547
20570
  appendScrollback(session, data);
20548
20571
  noteOutputForEscInterrupt(session, onStatusChange);
20572
+ noteOutputForThinking(session, onStatusChange);
20549
20573
  broadcast(clients, { type: "output", sessionId: session.id, data });
20550
20574
  });
20551
20575
  session.pty.onExit(({ exitCode }) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@staff0rd/assist",
3
- "version": "0.317.2",
3
+ "version": "0.318.1",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "bin": {