@surething/cockpit 1.0.231 → 1.0.232

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 (59) hide show
  1. package/.next-prod/BUILD_ID +1 -1
  2. package/.next-prod/app-path-routes-manifest.json +1 -1
  3. package/.next-prod/build-manifest.json +2 -2
  4. package/.next-prod/prerender-manifest.json +3 -3
  5. package/.next-prod/server/app/_global-error/page_client-reference-manifest.js +1 -1
  6. package/.next-prod/server/app/_global-error.html +1 -1
  7. package/.next-prod/server/app/_global-error.rsc +1 -1
  8. package/.next-prod/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next-prod/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  10. package/.next-prod/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  11. package/.next-prod/server/app/_global-error.segments/_head.segment.rsc +1 -1
  12. package/.next-prod/server/app/_global-error.segments/_index.segment.rsc +1 -1
  13. package/.next-prod/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next-prod/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next-prod/server/app/_not-found.html +2 -2
  16. package/.next-prod/server/app/_not-found.rsc +3 -3
  17. package/.next-prod/server/app/_not-found.segments/_full.segment.rsc +3 -3
  18. package/.next-prod/server/app/_not-found.segments/_head.segment.rsc +1 -1
  19. package/.next-prod/server/app/_not-found.segments/_index.segment.rsc +3 -3
  20. package/.next-prod/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  21. package/.next-prod/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  22. package/.next-prod/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  23. package/.next-prod/server/app/api/chat/deepseek/route.js +1 -1
  24. package/.next-prod/server/app/api/chat/route.js +1 -1
  25. package/.next-prod/server/app/api/project-state/route.js +2 -2
  26. package/.next-prod/server/app/api/scheduled-tasks/route.js +1 -1
  27. package/.next-prod/server/app/api/session/[sessionId]/history/route.js +1 -1
  28. package/.next-prod/server/app/api/session-by-path/route.js +1 -1
  29. package/.next-prod/server/app/m/page_client-reference-manifest.js +1 -1
  30. package/.next-prod/server/app/page_client-reference-manifest.js +1 -1
  31. package/.next-prod/server/app/project/page_client-reference-manifest.js +1 -1
  32. package/.next-prod/server/app/review/[id]/page_client-reference-manifest.js +1 -1
  33. package/.next-prod/server/app-paths-manifest.json +1 -1
  34. package/.next-prod/server/chunks/4257.js +3 -3
  35. package/.next-prod/server/chunks/8916.js +1 -1
  36. package/.next-prod/server/chunks/9658.js +14 -4
  37. package/.next-prod/server/middleware-build-manifest.js +1 -1
  38. package/.next-prod/server/pages/404.html +2 -2
  39. package/.next-prod/server/pages/500.html +1 -1
  40. package/.next-prod/server/server-reference-manifest.json +1 -1
  41. package/.next-prod/static/chunks/217-4f8250a204080159.js +15 -0
  42. package/.next-prod/static/chunks/{2576-439565bf051dc1ba.js → 2576-6420f6bad0b8ffb3.js} +13 -13
  43. package/.next-prod/static/chunks/6784-8a99d051f03bb100.js +0 -0
  44. package/.next-prod/static/chunks/{9428-5c287b255a9831e6.js → 9428-ffc16bc24c6e0da1.js} +7 -7
  45. package/.next-prod/static/chunks/app/{layout-03c738d41e660f72.js → layout-ac2f1f67df01cc89.js} +1 -1
  46. package/.next-prod/static/chunks/app/page-1f0a6f49656a4c52.js +1 -0
  47. package/.next-prod/static/chunks/app/project/page-1f0a6f49656a4c52.js +1 -0
  48. package/.next-prod/static/css/2a854655f4108c3a.css +1 -0
  49. package/.next-prod/trace +13 -13
  50. package/.next-prod/trace-build +1 -1
  51. package/dist/scheduledTasks.mjs +46 -24
  52. package/package.json +1 -1
  53. package/.next-prod/static/chunks/217-a25b84ad39cf73ed.js +0 -5
  54. package/.next-prod/static/chunks/6784-b644510a0e060aac.js +0 -0
  55. package/.next-prod/static/chunks/app/page-677439ad5fd63732.js +0 -1
  56. package/.next-prod/static/chunks/app/project/page-677439ad5fd63732.js +0 -1
  57. package/.next-prod/static/css/ee516fc73c03aa88.css +0 -1
  58. /package/.next-prod/static/{eirTPmw6oXFp3wKgUVcXn → Z3Em1C_kM7x4RjcH7E7v2}/_buildManifest.js +0 -0
  59. /package/.next-prod/static/{eirTPmw6oXFp3wKgUVcXn → Z3Em1C_kM7x4RjcH7E7v2}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- [{"name":"run-webpack","duration":19913822,"timestamp":394761478,"id":14,"parentId":1,"tags":{},"startTime":1782573830076,"traceId":"19b1732556652e31"},{"name":"run-typescript","duration":18180157,"timestamp":414679089,"id":1603,"parentId":1,"tags":{},"startTime":1782573849994,"traceId":"19b1732556652e31"},{"name":"static-check","duration":1122581,"timestamp":432893720,"id":1606,"parentId":1,"tags":{},"startTime":1782573868209,"traceId":"19b1732556652e31"},{"name":"static-generation","duration":6167280,"timestamp":434127573,"id":1878,"parentId":1,"tags":{},"startTime":1782573869442,"traceId":"19b1732556652e31"},{"name":"collect-build-traces","duration":19577375,"timestamp":434016895,"id":1875,"parentId":1,"tags":{},"startTime":1782573869332,"traceId":"19b1732556652e31"},{"name":"telemetry-flush","duration":60,"timestamp":453598132,"id":1887,"parentId":1,"tags":{},"startTime":1782573888913,"traceId":"19b1732556652e31"},{"name":"next-build","duration":58977558,"timestamp":394620647,"id":1,"tags":{"buildMode":"default","version":"16.2.6","bundler":"webpack","has-custom-webpack-config":"true","use-build-worker":"false"},"startTime":1782573829936,"traceId":"19b1732556652e31"}]
1
+ [{"name":"run-webpack","duration":21093023,"timestamp":158697893,"id":14,"parentId":1,"tags":{},"startTime":1782900947547,"traceId":"dcd58a4bd7b49062"},{"name":"run-typescript","duration":18807400,"timestamp":179794924,"id":1603,"parentId":1,"tags":{},"startTime":1782900968644,"traceId":"dcd58a4bd7b49062"},{"name":"static-check","duration":1213527,"timestamp":198644615,"id":1606,"parentId":1,"tags":{},"startTime":1782900987494,"traceId":"dcd58a4bd7b49062"},{"name":"static-generation","duration":6335613,"timestamp":200113230,"id":1878,"parentId":1,"tags":{},"startTime":1782900988963,"traceId":"dcd58a4bd7b49062"},{"name":"collect-build-traces","duration":21023731,"timestamp":199858733,"id":1875,"parentId":1,"tags":{},"startTime":1782900988708,"traceId":"dcd58a4bd7b49062"},{"name":"telemetry-flush","duration":92,"timestamp":220886988,"id":1887,"parentId":1,"tags":{},"startTime":1782901009736,"traceId":"dcd58a4bd7b49062"},{"name":"next-build","duration":62368455,"timestamp":158518639,"id":1,"tags":{"buildMode":"default","version":"16.2.6","bundler":"webpack","has-custom-webpack-config":"true","use-build-worker":"false"},"startTime":1782900947368,"traceId":"dcd58a4bd7b49062"}]
@@ -1400,41 +1400,63 @@ async function runSdkLoop(ctx, buildOptions) {
1400
1400
  }
1401
1401
  }
1402
1402
  if (ctx.prompt) content.push({ type: "text", text: ctx.prompt });
1403
- const firstAbort = follow(ctx);
1404
- const baseOptions = buildOptions(firstAbort, ctx.sessionId);
1405
- let response;
1406
- if (hasImages) {
1407
- const messages = (async function* () {
1408
- yield {
1409
- type: "user",
1410
- message: { role: "user", content },
1411
- parent_tool_use_id: null,
1412
- session_id: ctx.sessionId || `session-${ctx.currentKey()}`
1413
- };
1414
- })();
1415
- response = query({ prompt: messages, options: baseOptions });
1416
- } else {
1417
- response = query({ prompt: ctx.prompt, options: baseOptions });
1403
+ const firstContent = hasImages ? content : ctx.prompt ?? "";
1404
+ const pendingTasks = /* @__PURE__ */ new Set();
1405
+ let closeInput = () => {
1406
+ };
1407
+ if (!ctx.signal.aborted) {
1408
+ ctx.signal.addEventListener("abort", () => closeInput(), { once: true });
1418
1409
  }
1419
- let currentResponse = response;
1420
1410
  for (let attempt = 0; attempt <= MAX_COMPACTION_RETRIES; attempt++) {
1411
+ let gateClosed = false;
1412
+ const gateOpen = new Promise((resolve) => {
1413
+ closeInput = () => {
1414
+ if (!gateClosed) {
1415
+ gateClosed = true;
1416
+ resolve();
1417
+ }
1418
+ };
1419
+ });
1420
+ if (ctx.signal.aborted) closeInput();
1421
+ const isRetry = attempt > 0;
1422
+ const firstYield = {
1423
+ type: "user",
1424
+ // A compaction retry resumes the same session with 'continue'; the first attempt sends the
1425
+ // user turn (text ∪ images).
1426
+ message: { role: "user", content: isRetry ? "continue" : firstContent },
1427
+ parent_tool_use_id: null,
1428
+ session_id: ctx.sessionId || `session-${ctx.currentKey()}`
1429
+ };
1430
+ const input = (async function* () {
1431
+ yield firstYield;
1432
+ await gateOpen;
1433
+ })();
1434
+ const attemptAbort = follow(ctx);
1435
+ const resume = isRetry ? ctx.currentKey() : ctx.sessionId;
1436
+ const options = isRetry ? { ...buildOptions(attemptAbort, resume), resume } : buildOptions(attemptAbort, ctx.sessionId);
1437
+ const response = query({ prompt: input, options });
1421
1438
  let receivedResult = false;
1422
- for await (const message of currentResponse) {
1423
- if (ctx.signal.aborted) break;
1439
+ for await (const message of response) {
1440
+ if (ctx.signal.aborted) {
1441
+ closeInput();
1442
+ break;
1443
+ }
1424
1444
  const msg = message;
1425
1445
  if (msg.type === "system" && msg.subtype === "init" && msg.session_id) {
1426
1446
  ctx.rekey(msg.session_id);
1427
1447
  }
1448
+ if (msg.type === "system" && msg.subtype === "task_started" && msg.task_id) {
1449
+ pendingTasks.add(msg.task_id);
1450
+ }
1451
+ if (msg.type === "system" && msg.subtype === "task_notification" && msg.task_id) {
1452
+ pendingTasks.delete(msg.task_id);
1453
+ }
1428
1454
  if (msg.type === "result") receivedResult = true;
1429
1455
  ctx.emit(message);
1456
+ if (msg.type === "result" && pendingTasks.size === 0) closeInput();
1430
1457
  }
1458
+ closeInput();
1431
1459
  if (receivedResult || ctx.signal.aborted) break;
1432
- const retryAbort = follow(ctx);
1433
- const resume = ctx.currentKey();
1434
- currentResponse = query({
1435
- prompt: "continue",
1436
- options: { ...buildOptions(retryAbort, resume), resume }
1437
- });
1438
1460
  }
1439
1461
  }
1440
1462
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@surething/cockpit",
3
- "version": "1.0.231",
3
+ "version": "1.0.232",
4
4
  "description": "Claude Code GUI for parallel AI coding — drive Claude (default), Codex, DeepSeek, Kimi, or local Ollama in tabs. Multi-project sessions, terminal, browser & DB bubbles, code review, slash modes. Local-first, MIT.",
5
5
  "author": "Robert",
6
6
  "license": "MIT",