@pentoshi/clai 3.8.50 → 3.9.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 (93) hide show
  1. package/dist/agent/compaction-summary.js +1 -1
  2. package/dist/agent/compaction-summary.js.map +1 -1
  3. package/dist/agent/context-manager.js +26 -3
  4. package/dist/agent/context-manager.js.map +1 -1
  5. package/dist/agent/plan-tool.js +134 -42
  6. package/dist/agent/plan-tool.js.map +1 -1
  7. package/dist/agent/responder-context.d.ts +10 -0
  8. package/dist/agent/responder-context.js +37 -1
  9. package/dist/agent/responder-context.js.map +1 -1
  10. package/dist/agent/runner.d.ts +3 -0
  11. package/dist/agent/runner.js +57 -14
  12. package/dist/agent/runner.js.map +1 -1
  13. package/dist/agent/session-policy.js +1 -0
  14. package/dist/agent/session-policy.js.map +1 -1
  15. package/dist/agent/task-evidence.js +7 -2
  16. package/dist/agent/task-evidence.js.map +1 -1
  17. package/dist/agent/task-plan.d.ts +4 -0
  18. package/dist/agent/task-plan.js +8 -0
  19. package/dist/agent/task-plan.js.map +1 -1
  20. package/dist/agent/task-sync.d.ts +0 -4
  21. package/dist/agent/task-sync.js +6 -11
  22. package/dist/agent/task-sync.js.map +1 -1
  23. package/dist/agent/tool-call-parser.js +7 -1
  24. package/dist/agent/tool-call-parser.js.map +1 -1
  25. package/dist/app/adapters/current-jobs-adapter.js +5 -0
  26. package/dist/app/adapters/current-jobs-adapter.js.map +1 -1
  27. package/dist/app/adapters/quiet-meta-tools.js +1 -0
  28. package/dist/app/adapters/quiet-meta-tools.js.map +1 -1
  29. package/dist/app/controllers/job-controller.d.ts +4 -0
  30. package/dist/app/controllers/job-controller.js +12 -0
  31. package/dist/app/controllers/job-controller.js.map +1 -1
  32. package/dist/app/controllers/plan-controller.d.ts +1 -0
  33. package/dist/app/controllers/plan-controller.js +15 -0
  34. package/dist/app/controllers/plan-controller.js.map +1 -1
  35. package/dist/app/controllers/responder-settlement.d.ts +8 -0
  36. package/dist/app/controllers/responder-settlement.js +20 -0
  37. package/dist/app/controllers/responder-settlement.js.map +1 -0
  38. package/dist/app/controllers/session-controller.d.ts +3 -12
  39. package/dist/app/controllers/session-controller.js +72 -31
  40. package/dist/app/controllers/session-controller.js.map +1 -1
  41. package/dist/app/controllers/session-responder.d.ts +22 -25
  42. package/dist/app/controllers/session-responder.js +177 -258
  43. package/dist/app/controllers/session-responder.js.map +1 -1
  44. package/dist/app/controllers/turn-controller.d.ts +1 -0
  45. package/dist/app/controllers/turn-controller.js +1 -0
  46. package/dist/app/controllers/turn-controller.js.map +1 -1
  47. package/dist/app/ports/jobs-port.d.ts +5 -0
  48. package/dist/index.js +3 -3
  49. package/dist/index.js.map +1 -1
  50. package/dist/prompts/embedded.js +1 -1
  51. package/dist/prompts/embedded.js.map +1 -1
  52. package/dist/prompts/system.agent.md +4 -3
  53. package/dist/repl.js +14 -68
  54. package/dist/repl.js.map +1 -1
  55. package/dist/store/history-index.d.ts +43 -0
  56. package/dist/store/history-index.js +197 -0
  57. package/dist/store/history-index.js.map +1 -0
  58. package/dist/store/history.d.ts +6 -5
  59. package/dist/store/history.js +246 -205
  60. package/dist/store/history.js.map +1 -1
  61. package/dist/store/plan.d.ts +1 -1
  62. package/dist/store/plan.js +17 -8
  63. package/dist/store/plan.js.map +1 -1
  64. package/dist/store/responder-settlement.d.ts +3 -0
  65. package/dist/store/responder-settlement.js +60 -0
  66. package/dist/store/responder-settlement.js.map +1 -0
  67. package/dist/tools/definitions.js +40 -21
  68. package/dist/tools/definitions.js.map +1 -1
  69. package/dist/tools/jobs.d.ts +20 -6
  70. package/dist/tools/jobs.js +203 -52
  71. package/dist/tools/jobs.js.map +1 -1
  72. package/dist/tools/registry.js +5 -16
  73. package/dist/tools/registry.js.map +1 -1
  74. package/dist/tui-v2/app/commands/picker-commands.js +9 -10
  75. package/dist/tui-v2/app/commands/picker-commands.js.map +1 -1
  76. package/dist/tui-v2/bootstrap/composition-root.d.ts +2 -1
  77. package/dist/tui-v2/bootstrap/composition-root.js +15 -3
  78. package/dist/tui-v2/bootstrap/composition-root.js.map +1 -1
  79. package/dist/tui-v2/components/jobs/jobs-panel.js +50 -27
  80. package/dist/tui-v2/components/jobs/jobs-panel.js.map +1 -1
  81. package/dist/tui-v2/components/status/status-line.d.ts +2 -0
  82. package/dist/tui-v2/components/status/status-line.js +16 -0
  83. package/dist/tui-v2/components/status/status-line.js.map +1 -1
  84. package/dist/tui-v2/state/transcript-hydrate.d.ts +8 -2
  85. package/dist/tui-v2/state/transcript-hydrate.js +99 -9
  86. package/dist/tui-v2/state/transcript-hydrate.js.map +1 -1
  87. package/dist/tui-v2/state/transcript-struct.d.ts +0 -10
  88. package/dist/tui-v2/state/transcript-struct.js +4 -93
  89. package/dist/tui-v2/state/transcript-struct.js.map +1 -1
  90. package/dist/version.generated.d.ts +2 -2
  91. package/dist/version.generated.js +2 -2
  92. package/dist/version.generated.js.map +1 -1
  93. package/package.json +1 -1
@@ -4,6 +4,7 @@
4
4
  */
5
5
  export const QUIET_META_TOOL_NAMES = new Set([
6
6
  "plan.create",
7
+ "task.move",
7
8
  "task.update",
8
9
  ]);
9
10
  export function isQuietMetaTool(name) {
@@ -1 +1 @@
1
- {"version":3,"file":"quiet-meta-tools.js","sourceRoot":"","sources":["../../../src/app/adapters/quiet-meta-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IAC3C,aAAa;IACb,aAAa;CACd,CAAC,CAAC;AAEH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAC3C,IAAY,EACZ,MAAc;IAEd,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,IAAI,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,CAAC;AACrD,CAAC"}
1
+ {"version":3,"file":"quiet-meta-tools.js","sourceRoot":"","sources":["../../../src/app/adapters/quiet-meta-tools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IAC3C,aAAa;IACb,WAAW;IACX,aAAa;CACd,CAAC,CAAC;AAEH,MAAM,UAAU,eAAe,CAAC,IAAY;IAC1C,OAAO,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AACzC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,6BAA6B,CAC3C,IAAY,EACZ,MAAc;IAEd,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,IAAI,IAAI,KAAK,aAAa;QAAE,OAAO,IAAI,CAAC;IACxC,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,CAAC;AACrD,CAAC"}
@@ -11,6 +11,10 @@ export declare class JobController implements Disposable {
11
11
  stop(id: string): Promise<ToolResult>;
12
12
  start(command: string, options?: StartJobOptions): Promise<ToolResult>;
13
13
  pendingNotifications(sessionId?: string): ResponderNotification[];
14
+ activateResponderLease(sessionId: string): string;
15
+ getResponderLeaseId(sessionId: string): string | undefined;
16
+ releaseResponderLease(sessionId: string, leaseId?: string): void;
17
+ claimNextResponderNotification(sessionId: string, leaseId: string): ResponderNotification | undefined;
14
18
  markDelivered(notificationId: string): boolean;
15
19
  markAnalyzed(notificationId: string): boolean;
16
20
  acknowledge(notificationId: string): boolean;
@@ -24,6 +24,18 @@ export class JobController {
24
24
  pendingNotifications(sessionId) {
25
25
  return this.jobs.pendingNotifications(sessionId);
26
26
  }
27
+ activateResponderLease(sessionId) {
28
+ return this.jobs.activateResponderLease(sessionId);
29
+ }
30
+ getResponderLeaseId(sessionId) {
31
+ return this.jobs.getResponderLeaseId(sessionId);
32
+ }
33
+ releaseResponderLease(sessionId, leaseId) {
34
+ this.jobs.releaseResponderLease(sessionId, leaseId);
35
+ }
36
+ claimNextResponderNotification(sessionId, leaseId) {
37
+ return this.jobs.claimNextResponderNotification(sessionId, leaseId);
38
+ }
27
39
  markDelivered(notificationId) {
28
40
  return this.jobs.markDelivered(notificationId);
29
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"job-controller.js","sourceRoot":"","sources":["../../../src/app/controllers/job-controller.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,IAAc;QAAd,SAAI,GAAJ,IAAI,CAAU;IAAG,CAAC;IAE/C,IAAI,CAAC,SAAkB;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,CAAC,SAAkB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC,EAAU,EAAE,KAAc;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,EAAU;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,OAAyB;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,oBAAoB,CAAC,SAAkB;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,aAAa,CAAC,cAAsB;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;IAED,YAAY,CAAC,cAAsB;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC;IAED,WAAW,CAAC,cAAsB;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS,CAAC,QAA4B;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,CAAC,KAAa,EAAE,QAAyB;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,SAAS,CAAC,SAAiB;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,UAAU,CAAC,SAAkB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,gEAAgE;IAClE,CAAC;CACF"}
1
+ {"version":3,"file":"job-controller.js","sourceRoot":"","sources":["../../../src/app/controllers/job-controller.ts"],"names":[],"mappings":"AAWA,MAAM,OAAO,aAAa;IACK;IAA7B,YAA6B,IAAc;QAAd,SAAI,GAAJ,IAAI,CAAU;IAAG,CAAC;IAE/C,IAAI,CAAC,SAAkB;QACrB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,CAAC,SAAkB;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED,IAAI,CAAC,EAAU,EAAE,KAAc;QAC7B,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,CAAC,EAAU;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,OAAyB;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,oBAAoB,CAAC,SAAkB;QACrC,OAAO,IAAI,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAED,sBAAsB,CAAC,SAAiB;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAED,mBAAmB,CAAC,SAAiB;QACnC,OAAO,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IAED,qBAAqB,CAAC,SAAiB,EAAE,OAAgB;QACvD,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,8BAA8B,CAC5B,SAAiB,EACjB,OAAe;QAEf,OAAO,IAAI,CAAC,IAAI,CAAC,8BAA8B,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED,aAAa,CAAC,cAAsB;QAClC,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC;IAED,YAAY,CAAC,cAAsB;QACjC,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAChD,CAAC;IAED,WAAW,CAAC,cAAsB;QAChC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;IAC/C,CAAC;IAED,SAAS,CAAC,QAA4B;QACpC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,CAAC,KAAa,EAAE,QAAyB;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,SAAS,CAAC,SAAiB;QACzB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,UAAU,CAAC,SAAkB;QAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO;QACL,gEAAgE;IAClE,CAAC;CACF"}
@@ -19,6 +19,7 @@ export declare class PlanController implements Disposable {
19
19
  * slower old-session load from repopulating the controller after /new.
20
20
  */
21
21
  load(sessionId: string): Promise<SessionPlan | undefined>;
22
+ refresh(sessionId: string): Promise<SessionPlan | undefined>;
22
23
  /** Drop the in-memory plan without touching disk. */
23
24
  clear(): void;
24
25
  approve(): Promise<SessionPlan | undefined>;
@@ -44,6 +44,21 @@ export class PlanController {
44
44
  this.notify();
45
45
  return this.plan;
46
46
  }
47
+ async refresh(sessionId) {
48
+ if (this.activeSessionId && this.activeSessionId !== sessionId) {
49
+ return this.plan;
50
+ }
51
+ this.activeSessionId ??= sessionId;
52
+ const generation = ++this.loadGeneration;
53
+ const loaded = await this.persistence.loadPlan(sessionId);
54
+ if (generation !== this.loadGeneration ||
55
+ this.activeSessionId !== sessionId) {
56
+ return this.plan;
57
+ }
58
+ this.plan = loaded;
59
+ this.notify();
60
+ return this.plan;
61
+ }
47
62
  /** Drop the in-memory plan without touching disk. */
48
63
  clear() {
49
64
  // Always invalidate pending loads, even when the visible projection is
@@ -1 +1 @@
1
- {"version":3,"file":"plan-controller.js","sourceRoot":"","sources":["../../../src/app/controllers/plan-controller.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,cAAc;IAMI;IALrB,IAAI,CAA0B;IAC9B,cAAc,GAAG,CAAC,CAAC;IACnB,eAAe,CAAqB;IAC3B,SAAS,GAAG,IAAI,GAAG,EAAgB,CAAC;IAErD,YAA6B,WAA4B;QAA5B,gBAAW,GAAX,WAAW,CAAiB;IAAG,CAAC;IAE7D,OAAO;QACL,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,SAAS,CAAC,QAAsB;QAC9B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC7B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC/C,CAAC;IAED,OAAO,CAAC,KAAkB;QACxB,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;YAClC,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;YACpD,IAAI,IAAI,CAAC,eAAe,IAAI,cAAc,KAAK,IAAI,CAAC,eAAe,EAAE,CAAC;gBACpE,OAAO;YACT,CAAC;YACD,IAAI,CAAC,eAAe,KAAK,cAAc,CAAC;YACxC,4DAA4D;YAC5D,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;YACzB,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YAC/B,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,IAAI,CAAC,SAAiB;QAC1B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,MAAM,UAAU,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC;QACzC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAC1D,IAAI,UAAU,KAAK,IAAI,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC;QACzD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC;QACnB,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,qDAAqD;IACrD,KAAK;QACH,uEAAuE;QACvE,wDAAwD;QACxD,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC;QACxC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,OAAO;YAAE,IAAI,CAAC,MAAM,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO,SAAS,CAAC;QACjC,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;QACzB,MAAM,IAAI,GAAgB,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAC/D,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,IAAI,CAAC,IAAI;YAAE,OAAO;QACvB,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;QACzB,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;IAChB,CAAC;IAED,OAAO;QACL,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;QACzB,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;QACtB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;IACzB,CAAC;IAEO,MAAM;QACZ,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS;YAAE,QAAQ,EAAE,CAAC;IACpD,CAAC;CACF"}
1
+ {"version":3,"file":"plan-controller.js","sourceRoot":"","sources":["../../../src/app/controllers/plan-controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { ChatMessage } from "../../types.js";
2
+ import type { SessionId } from "../events/app-event.js";
3
+ import type { JobsPort } from "../ports/jobs-port.js";
4
+ export declare function settlePersistedResponderResults(input: {
5
+ jobs: JobsPort | undefined;
6
+ sessionId: SessionId;
7
+ history: readonly ChatMessage[];
8
+ }): void;
@@ -0,0 +1,20 @@
1
+ import { isResponderResultLedgerMessage } from "../../agent/responder-context.js";
2
+ export function settlePersistedResponderResults(input) {
3
+ if (!input.jobs)
4
+ return;
5
+ const ledger = input.history
6
+ .filter(isResponderResultLedgerMessage)
7
+ .map((message) => message.content)
8
+ .join("\n");
9
+ for (const notification of input.jobs.pendingNotifications(input.sessionId)) {
10
+ if (!notification.deliveredAt ||
11
+ !ledger.includes(`notification=${notification.id} `)) {
12
+ continue;
13
+ }
14
+ if (!notification.analyzedAt && !input.jobs.markAnalyzed(notification.id)) {
15
+ continue;
16
+ }
17
+ input.jobs.acknowledge(notification.id);
18
+ }
19
+ }
20
+ //# sourceMappingURL=responder-settlement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"responder-settlement.js","sourceRoot":"","sources":["../../../src/app/controllers/responder-settlement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAKlF,MAAM,UAAU,+BAA+B,CAAC,KAI/C;IACC,IAAI,CAAC,KAAK,CAAC,IAAI;QAAE,OAAO;IACxB,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO;SACzB,MAAM,CAAC,8BAA8B,CAAC;SACtC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC;SACjC,IAAI,CAAC,IAAI,CAAC,CAAC;IACd,KAAK,MAAM,YAAY,IAAI,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;QAC5E,IACE,CAAC,YAAY,CAAC,WAAW;YACzB,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,YAAY,CAAC,EAAE,GAAG,CAAC,EACpD,CAAC;YACD,SAAS;QACX,CAAC;QACD,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE,CAAC,EAAE,CAAC;YAC1E,SAAS;QACX,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC"}
@@ -14,24 +14,19 @@ import type { SecretPort } from "../ports/secret-port.js";
14
14
  import { type TurnResult } from "./turn-controller.js";
15
15
  import { type Disposable } from "./disposable.js";
16
16
  import { type TurnDisplayOptions } from "./session-prompt-queue.js";
17
+ import { type ResponderRuntimeState } from "./session-responder.js";
17
18
  export interface SessionState {
18
19
  readonly sessionId: SessionId;
19
20
  readonly mode: Mode;
20
21
  readonly provider: ProviderId | undefined;
21
22
  readonly model: string | undefined;
22
23
  readonly running: boolean;
23
- /** True while /compact is awaiting the summarizer (status strip). */
24
24
  readonly compacting: boolean;
25
25
  readonly historyLength: number;
26
26
  readonly queued: readonly string[];
27
- /** AI-generated (or last known) display name for this session. */
27
+ readonly responder: ResponderRuntimeState;
28
28
  readonly title: string | undefined;
29
- /**
30
- * Live context / token usage for the status strip under the composer.
31
- * `exact` is true when the last prompt size came from the provider API.
32
- */
33
29
  readonly contextUsage: ContextUsageSnapshot | undefined;
34
- /** Preformatted chip, e.g. `12,450 tok` or `~12.5k tok`. */
35
30
  readonly contextChip: string | undefined;
36
31
  }
37
32
  export type NoticeLevel = "info" | "warn";
@@ -52,10 +47,6 @@ export interface SessionControllerDeps {
52
47
  readonly getTranscriptSnapshot?: (() => ClassicTranscriptItem[] | undefined) | undefined;
53
48
  /** When true, never persist sessions or generate AI titles (CLI --no-history). */
54
49
  readonly noHistory?: boolean | undefined;
55
- /**
56
- * UI hook fired when the Responder hands a completed job's result to the
57
- * model. Wired to a green success toast; only called on a committed send.
58
- */
59
50
  readonly notifyResponderDelivery?: ((summary: string) => void) | undefined;
60
51
  }
61
52
  export type TurnEndListener = (result: TurnResult) => void;
@@ -160,7 +151,7 @@ export declare class SessionController implements Disposable {
160
151
  /** Default true: emit compacted event + persist. */
161
152
  persist?: boolean | undefined;
162
153
  }): Promise<CompactResult>;
163
- /** Persist one immutable snapshot behind every previously captured save. */
154
+ private settlePersistedResponderResults;
164
155
  persistNow(name?: string): Promise<void>;
165
156
  maybeRefreshTitle(): Promise<void>;
166
157
  estimateContext(): {
@@ -1,5 +1,6 @@
1
1
  import { compactMessagesWithSummary, estimateMessagesTokens, isCompactionMemoryMessage, } from "../../agent/context-manager.js";
2
2
  import { repairToolProtocol } from "../../agent/tool-history.js";
3
+ import { upsertResponderResultLedger } from "../../agent/responder-context.js";
3
4
  import { applyUsageToSnapshot, formatContextChip, modelContextWindow, snapshotFromEstimate, } from "../../llm/token-usage.js";
4
5
  import { createSessionPolicy } from "../../agent/session-policy.js";
5
6
  import { resolveTurnInput } from "../../attachments/service.js";
@@ -7,7 +8,9 @@ import { generateSessionTitle } from "../../agent/session-title.js";
7
8
  import { clearTextOnlyModels } from "../../llm/tool-protocol.js";
8
9
  import { getConfig, getProviderModel } from "../../store/config.js";
9
10
  import { beginSessionWorkspace, getActiveSessionWorkspace } from "../../store/session-workspace.js";
11
+ import { materializeHistoryImages } from "../../store/history.js";
10
12
  import { summarizeForSessionCompact } from "./session-compact-helper.js";
13
+ import { settlePersistedResponderResults } from "./responder-settlement.js";
11
14
  import { asSessionId, } from "../events/app-event.js";
12
15
  import { EventSequencer, } from "../events/sequencer.js";
13
16
  import { OutputSpool } from "../events/event-buffer.js";
@@ -15,10 +18,21 @@ import { TurnController } from "./turn-controller.js";
15
18
  import { CompositeDisposable } from "./disposable.js";
16
19
  import { persistedContextUsage, SessionPersistenceQueue, } from "./session-persistence.js";
17
20
  import { SessionPromptQueue, } from "./session-prompt-queue.js";
18
- import { SessionResponder } from "./session-responder.js";
21
+ import { SessionResponder, } from "./session-responder.js";
19
22
  function mintSessionId() {
20
23
  return `sess-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
21
24
  }
25
+ function pathBackedMessages(messages) {
26
+ return messages.map((message) => {
27
+ if (!message.images?.length)
28
+ return { ...message };
29
+ const images = message.images.flatMap((image) => image.path
30
+ ? [{ mediaType: image.mediaType, dataBase64: "", path: image.path }]
31
+ : []);
32
+ const { images: _images, ...rest } = message;
33
+ return images.length > 0 ? { ...rest, images } : rest;
34
+ });
35
+ }
22
36
  export class SessionController {
23
37
  deps;
24
38
  spool = new OutputSpool();
@@ -69,7 +83,7 @@ export class SessionController {
69
83
  }));
70
84
  this.prompts = new SessionPromptQueue({
71
85
  isRunning: () => this.turn.running,
72
- abort: () => this.turn.abort(),
86
+ abort: () => this.abort(),
73
87
  notifyState: () => this.notifyState(),
74
88
  notice: (text) => this.notice("info", text),
75
89
  runTurn: (prompt, options) => this.runTurn(prompt, options),
@@ -78,13 +92,19 @@ export class SessionController {
78
92
  this.responder = new SessionResponder({
79
93
  jobs: deps.jobs,
80
94
  persistence: deps.persistence,
81
- sequencer: this.sequencer,
82
- emit: deps.emit,
83
95
  sessionId: () => this.sessionIdValue,
84
96
  isBusy: () => this.turn.running || this.compactingFlag,
85
97
  hasQueuedWork: () => this.prompts.hasPending(),
86
98
  continueQueue: () => this.prompts.continue(),
87
- runTurn: (prompt) => this.runTurn(prompt, { displayPrompt: null }),
99
+ runTurn: (prompt, onStarted) => this.runTurn(prompt, {
100
+ displayPrompt: null,
101
+ materializeHistoryImages: false,
102
+ onStarted,
103
+ }),
104
+ recordConsumed: async (notification) => {
105
+ upsertResponderResultLedger(this.history, notification);
106
+ await this.persistNow();
107
+ },
88
108
  notifyState: () => this.notifyState(),
89
109
  ...(deps.notifyResponderDelivery
90
110
  ? { notifyDelivery: deps.notifyResponderDelivery }
@@ -94,7 +114,6 @@ export class SessionController {
94
114
  this.responder?.handleChange(change);
95
115
  });
96
116
  this.disposables.add({ dispose: unsubscribe });
97
- this.responder.scheduleWake();
98
117
  }
99
118
  else {
100
119
  this.responder = undefined;
@@ -118,6 +137,14 @@ export class SessionController {
118
137
  compacting: this.compactingFlag,
119
138
  historyLength: this.history.length,
120
139
  queued: this.prompts.snapshot(),
140
+ responder: this.responder?.getState() ?? {
141
+ mode: "off",
142
+ running: 0,
143
+ ready: 0,
144
+ delivered: 0,
145
+ archived: 0,
146
+ failed: 0,
147
+ },
121
148
  title: this.sessionTitle,
122
149
  contextUsage,
123
150
  contextChip: contextUsage
@@ -245,8 +272,8 @@ export class SessionController {
245
272
  folderName: options.workspaceFolder,
246
273
  code: options.workspaceCode,
247
274
  });
275
+ this.settlePersistedResponderResults();
248
276
  this.notifyState();
249
- this.responder?.scheduleWake();
250
277
  }
251
278
  notice(level, text) {
252
279
  this.deps.emit(this.sequencer.build("notice", { level, text }, undefined));
@@ -285,7 +312,6 @@ export class SessionController {
285
312
  }
286
313
  this.policy = createSessionPolicy(this.sessionIdValue);
287
314
  this.notifyState();
288
- this.responder?.scheduleWake();
289
315
  }
290
316
  /** Roll back history after a rejected plan-implement compaction. */
291
317
  restoreMessages(messages, contextUsage) {
@@ -347,24 +373,34 @@ export class SessionController {
347
373
  this.responder?.scheduleWake();
348
374
  }
349
375
  }
350
- /** Persist one immutable snapshot behind every previously captured save. */
376
+ settlePersistedResponderResults() {
377
+ settlePersistedResponderResults({
378
+ jobs: this.deps.jobs,
379
+ sessionId: this.sessionIdValue,
380
+ history: this.history,
381
+ });
382
+ }
351
383
  async persistNow(name) {
352
- if (this.deps.noHistory || getConfig().privateMode)
384
+ if (this.deps.noHistory || getConfig().privateMode) {
385
+ this.settlePersistedResponderResults();
353
386
  return;
354
- if (this.history.length === 0)
387
+ }
388
+ if (this.history.length === 0) {
355
389
  return;
356
- // Compaction folds user turns into a memory message; persist those too, or the trailing "compacted" card is lost on reload.
357
- if (!this.history.some((m) => m.role === "user" || isCompactionMemoryMessage(m)))
390
+ }
391
+ if (!this.history.some((m) => m.role === "user" || isCompactionMemoryMessage(m))) {
358
392
  return;
393
+ }
359
394
  if (name)
360
395
  this.sessionTitle = name;
361
396
  const contextUsage = persistedContextUsage(this.resolveContextUsage());
362
- return this.persistence.save(this.history, {
397
+ await this.persistence.save(this.history, {
363
398
  sessionId: this.sessionIdValue,
364
399
  name: name ?? this.sessionTitle,
365
400
  transcript: this.deps.getTranscriptSnapshot?.(),
366
401
  ...(contextUsage ? { contextUsage } : {}),
367
402
  });
403
+ this.settlePersistedResponderResults();
368
404
  }
369
405
  async maybeRefreshTitle() {
370
406
  if (this.deps.noHistory || getConfig().privateMode)
@@ -446,6 +482,7 @@ export class SessionController {
446
482
  this.prompts.sendNow(index);
447
483
  }
448
484
  abort() {
485
+ this.responder?.deactivate();
449
486
  this.turn.abort();
450
487
  }
451
488
  async continueQueue() {
@@ -464,6 +501,7 @@ export class SessionController {
464
501
  return () => this.turnEndListeners.delete(listener);
465
502
  }
466
503
  async submit(prompt, opts) {
504
+ this.responder?.activate();
467
505
  return this.prompts.submit(prompt, opts);
468
506
  }
469
507
  async drain() {
@@ -486,7 +524,9 @@ export class SessionController {
486
524
  mode: resolved.mode,
487
525
  provider: resolved.provider,
488
526
  model: resolved.model,
489
- history: this.history,
527
+ history: opts?.materializeHistoryImages === false
528
+ ? this.history
529
+ : materializeHistoryImages(this.history),
490
530
  attachments: resolved.attachments,
491
531
  images: resolved.images,
492
532
  ...(opts?.displayPrompt !== undefined
@@ -498,32 +538,33 @@ export class SessionController {
498
538
  requestSecret: this.deps.requestSecret,
499
539
  session: this.policy,
500
540
  onMessages: (messages) => {
501
- this.history = messages;
541
+ this.history = pathBackedMessages(messages);
502
542
  this.notifyState();
503
543
  // Periodic durable snapshot so Esc/kill mid-run does not wipe tools.
504
544
  this.scheduleAutosave();
505
545
  },
546
+ onStarted: opts?.onStarted,
506
547
  });
507
548
  this.notifyState();
508
549
  const result = await pending;
509
- // Clear the footer spinner before persistence can delay the UI.
510
550
  this.notifyState();
511
- // Persist on every terminal outcome — aborted turns used to skip save,
512
- // so /history only showed "Aborted." while plans still had real work.
513
- if (result.status === "completed" ||
514
- result.status === "aborted" ||
515
- result.status === "error") {
516
- await this.persistNow();
551
+ this.responder?.scheduleWake();
552
+ try {
553
+ if (result.status === "completed" ||
554
+ result.status === "aborted" ||
555
+ result.status === "error") {
556
+ await this.persistNow();
557
+ }
558
+ if (result.status === "completed") {
559
+ void this.maybeRefreshTitle();
560
+ }
561
+ for (const listener of this.turnEndListeners)
562
+ listener(result);
563
+ return result;
517
564
  }
518
- if (result.status === "completed") {
519
- // Fire-and-forget AI title so the turn path is not blocked on a second
520
- // model call; classic TUI does the same after each completed exchange.
521
- void this.maybeRefreshTitle();
565
+ finally {
566
+ this.responder?.scheduleWake();
522
567
  }
523
- for (const listener of this.turnEndListeners)
524
- listener(result);
525
- this.responder?.scheduleWake();
526
- return result;
527
568
  }
528
569
  /**
529
570
  * Best-effort mid-turn autosave (throttled). Called from onMessages so a
@@ -1 +1 @@
1
- {"version":3,"file":"session-controller.js","sourceRoot":"","sources":["../../../src/app/controllers/session-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-controller.js","sourceRoot":"","sources":["../../../src/app/controllers/session-controller.ts"],"names":[],"mappings":"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"}
@@ -1,49 +1,46 @@
1
- import { type AnyAppEvent } from "../events/app-event.js";
2
- import type { EventSequencer } from "../events/sequencer.js";
3
- import type { JobManagerChange, JobsPort } from "../ports/jobs-port.js";
1
+ import type { JobManagerChange, JobsPort, ResponderNotification } from "../ports/jobs-port.js";
4
2
  import type { PersistencePort } from "../ports/persistence-port.js";
5
3
  interface ResponderTurnResult {
6
4
  readonly status: "completed" | "aborted" | "error";
7
5
  }
6
+ export type ResponderListeningMode = "off" | "idle" | "listening";
7
+ export interface ResponderRuntimeState {
8
+ readonly mode: ResponderListeningMode;
9
+ readonly running: number;
10
+ readonly ready: number;
11
+ readonly delivered: number;
12
+ readonly archived: number;
13
+ readonly failed: number;
14
+ }
8
15
  interface SessionResponderDeps {
9
16
  readonly jobs: JobsPort;
10
17
  readonly persistence: PersistencePort;
11
- readonly sequencer: EventSequencer;
12
- readonly emit: (event: AnyAppEvent) => void;
13
18
  readonly sessionId: () => string;
14
19
  readonly isBusy: () => boolean;
15
20
  readonly hasQueuedWork: () => boolean;
16
21
  readonly continueQueue: () => Promise<void>;
17
- readonly runTurn: (prompt: string) => Promise<ResponderTurnResult>;
22
+ readonly runTurn: (prompt: string, onStarted: () => void) => Promise<ResponderTurnResult>;
23
+ readonly recordConsumed?: (notification: ResponderNotification) => Promise<void>;
18
24
  readonly notifyState: () => void;
19
25
  readonly notifyDelivery?: ((summary: string) => void) | undefined;
20
26
  }
21
27
  export declare class SessionResponder {
22
28
  private readonly deps;
29
+ private leaseId;
23
30
  private generation;
24
31
  private wakeRequested;
25
32
  private wakeDrain;
26
- private retryTimer;
27
- private readonly analysisCompleted;
28
- private readonly deliveryFailures;
29
- private readonly settlementFailures;
30
- private static readonly RETRY_MS;
31
- private static readonly MAX_DELIVERY_ATTEMPTS;
32
- private static readonly MAX_SETTLEMENT_ATTEMPTS;
33
33
  constructor(deps: SessionResponderDeps);
34
- handleChange(change: JobManagerChange): void;
35
- rebind(): void;
34
+ activate(): void;
35
+ deactivate(): void;
36
36
  invalidateWake(): void;
37
+ rebind(): void;
38
+ handleChange(change: JobManagerChange): void;
39
+ getState(): ResponderRuntimeState;
37
40
  scheduleWake(): void;
38
- private drainWakes;
39
- private taskSettlement;
40
- private syncTask;
41
- private syncTasks;
42
- private pending;
43
- private actionable;
44
- private settleAnalyzed;
45
- private runWake;
46
- private armRetry;
47
- private clearRetry;
41
+ private drainOne;
42
+ private hasDeliverable;
43
+ private preview;
44
+ private foregroundTask;
48
45
  }
49
46
  export {};