@pentoshi/clai 3.8.46 → 3.8.48
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/agent/compaction-summary.js +1 -1
- package/dist/agent/compaction-summary.js.map +1 -1
- package/dist/agent/plan-tool.js +110 -14
- package/dist/agent/plan-tool.js.map +1 -1
- package/dist/agent/reliability-policy.d.ts +4 -3
- package/dist/agent/reliability-policy.js +4 -3
- package/dist/agent/reliability-policy.js.map +1 -1
- package/dist/agent/responder-context.d.ts +10 -0
- package/dist/agent/responder-context.js +50 -0
- package/dist/agent/responder-context.js.map +1 -0
- package/dist/agent/runner.js +160 -12
- package/dist/agent/runner.js.map +1 -1
- package/dist/agent/task-plan.d.ts +4 -0
- package/dist/agent/task-plan.js.map +1 -1
- package/dist/app/adapters/current-jobs-adapter.js +7 -0
- package/dist/app/adapters/current-jobs-adapter.js.map +1 -1
- package/dist/app/controllers/job-controller.d.ts +9 -6
- package/dist/app/controllers/job-controller.js +21 -0
- package/dist/app/controllers/job-controller.js.map +1 -1
- package/dist/app/controllers/session-controller.d.ts +14 -33
- package/dist/app/controllers/session-controller.js +71 -132
- package/dist/app/controllers/session-controller.js.map +1 -1
- package/dist/app/controllers/session-prompt-queue.d.ts +34 -0
- package/dist/app/controllers/session-prompt-queue.js +141 -0
- package/dist/app/controllers/session-prompt-queue.js.map +1 -0
- package/dist/app/controllers/session-responder.d.ts +49 -0
- package/dist/app/controllers/session-responder.js +311 -0
- package/dist/app/controllers/session-responder.js.map +1 -0
- package/dist/app/ports/jobs-port.d.ts +10 -7
- package/dist/prompts/embedded.js +1 -1
- package/dist/prompts/embedded.js.map +1 -1
- package/dist/prompts/system.agent.md +14 -9
- package/dist/repl.js +24 -14
- package/dist/repl.js.map +1 -1
- package/dist/safety/engagement-policy.js +39 -7
- package/dist/safety/engagement-policy.js.map +1 -1
- package/dist/store/config.js +1 -1
- package/dist/store/config.js.map +1 -1
- package/dist/store/plan.d.ts +11 -0
- package/dist/store/plan.js +66 -3
- package/dist/store/plan.js.map +1 -1
- package/dist/tools/definitions.js +35 -4
- package/dist/tools/definitions.js.map +1 -1
- package/dist/tools/jobs.d.ts +72 -3
- package/dist/tools/jobs.js +743 -121
- package/dist/tools/jobs.js.map +1 -1
- package/dist/tools/pentest-workflows.js +80 -4
- package/dist/tools/pentest-workflows.js.map +1 -1
- package/dist/tools/registry.js +60 -19
- package/dist/tools/registry.js.map +1 -1
- package/dist/tools/tool-types.d.ts +5 -0
- package/dist/tools/wordlists.js +228 -108
- package/dist/tools/wordlists.js.map +1 -1
- package/dist/tui-v2/actions/action-id.js +1 -1
- package/dist/tui-v2/actions/action-id.js.map +1 -1
- package/dist/tui-v2/actions/keymap.js +1 -1
- package/dist/tui-v2/actions/keymap.js.map +1 -1
- package/dist/tui-v2/app/App.js +82 -12
- package/dist/tui-v2/app/App.js.map +1 -1
- package/dist/tui-v2/app/commands/session-commands.js +0 -5
- package/dist/tui-v2/app/commands/session-commands.js.map +1 -1
- package/dist/tui-v2/bootstrap/composition-root.js +2 -0
- package/dist/tui-v2/bootstrap/composition-root.js.map +1 -1
- package/dist/tui-v2/components/jobs/jobs-panel.d.ts +12 -0
- package/dist/tui-v2/components/jobs/jobs-panel.js +184 -14
- package/dist/tui-v2/components/jobs/jobs-panel.js.map +1 -1
- package/dist/tui-v2/components/plan/plan-view.js +7 -3
- package/dist/tui-v2/components/plan/plan-view.js.map +1 -1
- package/dist/tui-v2/components/status/status-line.js +2 -3
- package/dist/tui-v2/components/status/status-line.js.map +1 -1
- package/dist/tui-v2/components/toast/toast-host.js +16 -1
- package/dist/tui-v2/components/toast/toast-host.js.map +1 -1
- package/dist/tui-v2/components/transcript/tool-card.d.ts +3 -0
- package/dist/tui-v2/components/transcript/tool-card.js +12 -2
- package/dist/tui-v2/components/transcript/tool-card.js.map +1 -1
- package/dist/tui-v2/components/transcript/transcript-row.js +1 -1
- package/dist/tui-v2/components/transcript/transcript-row.js.map +1 -1
- package/dist/tui-v2/composer/composer-editor.d.ts +6 -0
- package/dist/tui-v2/composer/composer-editor.js +10 -17
- package/dist/tui-v2/composer/composer-editor.js.map +1 -1
- package/dist/tui-v2/composer/composer-image-paste.d.ts +1 -0
- package/dist/tui-v2/composer/composer-image-paste.js +22 -1
- package/dist/tui-v2/composer/composer-image-paste.js.map +1 -1
- package/dist/tui-v2/state/transcript-store.d.ts +4 -0
- package/dist/tui-v2/state/transcript-store.js +13 -0
- package/dist/tui-v2/state/transcript-store.js.map +1 -1
- package/dist/ui/intro-card.js +3 -3
- package/dist/ui/intro-card.js.map +1 -1
- package/dist/ui/mentions.d.ts +11 -13
- package/dist/ui/mentions.js +67 -26
- package/dist/ui/mentions.js.map +1 -1
- package/dist/ui/plan-pane.js +6 -2
- package/dist/ui/plan-pane.js.map +1 -1
- package/dist/version.generated.d.ts +2 -2
- package/dist/version.generated.js +2 -2
- package/package.json +1 -1
|
@@ -43,6 +43,10 @@ export interface VersionedPlanStep extends PlanStep {
|
|
|
43
43
|
dependencies?: string[] | undefined;
|
|
44
44
|
resourceLocks?: string[] | undefined;
|
|
45
45
|
supersededBy?: string | undefined;
|
|
46
|
+
parentTaskId?: string | undefined;
|
|
47
|
+
jobId?: string | undefined;
|
|
48
|
+
processId?: number | undefined;
|
|
49
|
+
responderOwned?: boolean | undefined;
|
|
46
50
|
}
|
|
47
51
|
export interface VersionedTaskPlan extends Omit<TaskPlan, "steps"> {
|
|
48
52
|
schemaVersion: 2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-plan.js","sourceRoot":"","sources":["../../src/agent/task-plan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"task-plan.js","sourceRoot":"","sources":["../../src/agent/task-plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,13 @@ export function createCurrentJobsPort(manager = jobManager) {
|
|
|
9
9
|
tail: (id, bytes) => manager.tailJob(id, bytes),
|
|
10
10
|
stop: (id) => manager.stopJob(id),
|
|
11
11
|
start: (command, options) => manager.startJob(command, options),
|
|
12
|
+
pendingNotifications: (sessionId) => manager.getPendingNotifications(sessionId),
|
|
13
|
+
markDelivered: (notificationId) => manager.markDelivered(notificationId),
|
|
14
|
+
markAnalyzed: (notificationId) => manager.markAnalyzed(notificationId),
|
|
15
|
+
acknowledge: (notificationId) => manager.acknowledge(notificationId),
|
|
16
|
+
subscribe: (listener) => manager.subscribe(listener),
|
|
17
|
+
linkJob: (jobId, metadata) => manager.linkJob(jobId, metadata),
|
|
18
|
+
cancelAll: (sessionId) => manager.cancelAll(sessionId),
|
|
12
19
|
};
|
|
13
20
|
}
|
|
14
21
|
//# sourceMappingURL=current-jobs-adapter.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"current-jobs-adapter.js","sourceRoot":"","sources":["../../../src/app/adapters/current-jobs-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,qBAAqB,CAAC;AAGlE,+DAA+D;AAC/D,MAAM,UAAU,qBAAqB,CAAC,UAAsB,UAAU;IACpE,OAAO;QACL,IAAI,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;QAChD,OAAO,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC;QACzD,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC;QACrE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC;QAC/C,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"current-jobs-adapter.js","sourceRoot":"","sources":["../../../src/app/adapters/current-jobs-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAmB,MAAM,qBAAqB,CAAC;AAGlE,+DAA+D;AAC/D,MAAM,UAAU,qBAAqB,CAAC,UAAsB,UAAU;IACpE,OAAO;QACL,IAAI,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;QAChD,OAAO,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,SAAS,CAAC;QACzD,MAAM,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,EAAE,SAAS,CAAC;QACrE,GAAG,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC;QAC/C,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QAC/D,oBAAoB,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC,SAAS,CAAC;QAC/E,aAAa,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,cAAc,CAAC;QACxE,YAAY,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,OAAO,CAAC,YAAY,CAAC,cAAc,CAAC;QACtE,WAAW,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC;QACpE,SAAS,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,QAAQ,CAAC;QACpD,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC;QAC9D,SAAS,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC;KACvD,CAAC;AACJ,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ToolResult } from "../../types.js";
|
|
2
|
-
import type { BackgroundJob, JobsPort } from "../ports/jobs-port.js";
|
|
2
|
+
import type { BackgroundJob, JobLinkMetadata, JobManagerListener, JobsPort, ResponderNotification, StartJobOptions } from "../ports/jobs-port.js";
|
|
3
3
|
import type { Disposable } from "./disposable.js";
|
|
4
4
|
export declare class JobController implements Disposable {
|
|
5
5
|
private readonly jobs;
|
|
@@ -9,11 +9,14 @@ export declare class JobController implements Disposable {
|
|
|
9
9
|
get(id: string): BackgroundJob | undefined;
|
|
10
10
|
tail(id: string, bytes?: number): Promise<ToolResult>;
|
|
11
11
|
stop(id: string): Promise<ToolResult>;
|
|
12
|
-
start(command: string, options?:
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
start(command: string, options?: StartJobOptions): Promise<ToolResult>;
|
|
13
|
+
pendingNotifications(sessionId?: string): ResponderNotification[];
|
|
14
|
+
markDelivered(notificationId: string): boolean;
|
|
15
|
+
markAnalyzed(notificationId: string): boolean;
|
|
16
|
+
acknowledge(notificationId: string): boolean;
|
|
17
|
+
subscribe(listener: JobManagerListener): () => void;
|
|
18
|
+
linkJob(jobId: string, metadata: JobLinkMetadata): BackgroundJob | undefined;
|
|
19
|
+
cancelAll(sessionId: string): Promise<ToolResult>;
|
|
17
20
|
hasRunning(sessionId?: string): boolean;
|
|
18
21
|
dispose(): void;
|
|
19
22
|
}
|
|
@@ -21,6 +21,27 @@ export class JobController {
|
|
|
21
21
|
start(command, options) {
|
|
22
22
|
return this.jobs.start(command, options);
|
|
23
23
|
}
|
|
24
|
+
pendingNotifications(sessionId) {
|
|
25
|
+
return this.jobs.pendingNotifications(sessionId);
|
|
26
|
+
}
|
|
27
|
+
markDelivered(notificationId) {
|
|
28
|
+
return this.jobs.markDelivered(notificationId);
|
|
29
|
+
}
|
|
30
|
+
markAnalyzed(notificationId) {
|
|
31
|
+
return this.jobs.markAnalyzed(notificationId);
|
|
32
|
+
}
|
|
33
|
+
acknowledge(notificationId) {
|
|
34
|
+
return this.jobs.acknowledge(notificationId);
|
|
35
|
+
}
|
|
36
|
+
subscribe(listener) {
|
|
37
|
+
return this.jobs.subscribe(listener);
|
|
38
|
+
}
|
|
39
|
+
linkJob(jobId, metadata) {
|
|
40
|
+
return this.jobs.linkJob(jobId, metadata);
|
|
41
|
+
}
|
|
42
|
+
cancelAll(sessionId) {
|
|
43
|
+
return this.jobs.cancelAll(sessionId);
|
|
44
|
+
}
|
|
24
45
|
hasRunning(sessionId) {
|
|
25
46
|
return this.running(sessionId).length > 0;
|
|
26
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"job-controller.js","sourceRoot":"","sources":["../../../src/app/controllers/job-controller.ts"],"names":[],"mappings":"
|
|
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,4 +1,4 @@
|
|
|
1
|
-
import type { ChatMessage, Mode, ProviderId, TokenUsage } from "../../types.js";
|
|
1
|
+
import type { ChatMessage, Mode, ProviderId, TokenUsage, ToolResult } from "../../types.js";
|
|
2
2
|
import { type CompactResult } from "../../agent/context-manager.js";
|
|
3
3
|
import { type ContextUsageSnapshot } from "../../llm/token-usage.js";
|
|
4
4
|
import { type SessionWorkspace } from "../../store/session-workspace.js";
|
|
@@ -7,11 +7,13 @@ import { type AnyAppEvent, type SessionId, type TurnId } from "../events/app-eve
|
|
|
7
7
|
import { type Clock, type IdFactory } from "../events/sequencer.js";
|
|
8
8
|
import { OutputSpool } from "../events/event-buffer.js";
|
|
9
9
|
import type { AgentPort } from "../ports/agent-port.js";
|
|
10
|
+
import type { JobsPort } from "../ports/jobs-port.js";
|
|
10
11
|
import type { PersistencePort } from "../ports/persistence-port.js";
|
|
11
12
|
import type { ConfirmationPort } from "../ports/confirm-port.js";
|
|
12
13
|
import type { SecretPort } from "../ports/secret-port.js";
|
|
13
14
|
import { type TurnResult } from "./turn-controller.js";
|
|
14
15
|
import { type Disposable } from "./disposable.js";
|
|
16
|
+
import { type TurnDisplayOptions } from "./session-prompt-queue.js";
|
|
15
17
|
export interface SessionState {
|
|
16
18
|
readonly sessionId: SessionId;
|
|
17
19
|
readonly mode: Mode;
|
|
@@ -36,6 +38,7 @@ export type NoticeLevel = "info" | "warn";
|
|
|
36
38
|
export interface SessionControllerDeps {
|
|
37
39
|
readonly agent: AgentPort;
|
|
38
40
|
readonly persistence: PersistencePort;
|
|
41
|
+
readonly jobs?: JobsPort | undefined;
|
|
39
42
|
readonly emit: (event: AnyAppEvent) => void;
|
|
40
43
|
readonly sessionId?: string | undefined;
|
|
41
44
|
readonly provider?: ProviderId | undefined;
|
|
@@ -49,6 +52,11 @@ export interface SessionControllerDeps {
|
|
|
49
52
|
readonly getTranscriptSnapshot?: (() => ClassicTranscriptItem[] | undefined) | undefined;
|
|
50
53
|
/** When true, never persist sessions or generate AI titles (CLI --no-history). */
|
|
51
54
|
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
|
+
readonly notifyResponderDelivery?: ((summary: string) => void) | undefined;
|
|
52
60
|
}
|
|
53
61
|
export type TurnEndListener = (result: TurnResult) => void;
|
|
54
62
|
export type SessionStateListener = () => void;
|
|
@@ -63,20 +71,8 @@ export declare class SessionController implements Disposable {
|
|
|
63
71
|
private readonly turnEndListeners;
|
|
64
72
|
private readonly stateListeners;
|
|
65
73
|
private history;
|
|
66
|
-
private readonly
|
|
67
|
-
|
|
68
|
-
* Prompt promoted by "Send now" while a turn was running. After the abort
|
|
69
|
-
* settles, {@link continueQueue} runs this before any remaining queue items.
|
|
70
|
-
*/
|
|
71
|
-
private priorityPrompt;
|
|
72
|
-
/**
|
|
73
|
-
* Display override for the next turn only (`null` = hide YOU bubble).
|
|
74
|
-
* Used when implement/revision directives are queued while a turn is running.
|
|
75
|
-
*/
|
|
76
|
-
private nextTurnDisplayPrompt;
|
|
77
|
-
private nextTurnDisplayArmed;
|
|
78
|
-
/** Re-entrancy guard for {@link continueQueue}. */
|
|
79
|
-
private continuingQueue;
|
|
74
|
+
private readonly prompts;
|
|
75
|
+
private readonly responder;
|
|
80
76
|
private provider;
|
|
81
77
|
private model;
|
|
82
78
|
private mode;
|
|
@@ -171,37 +167,22 @@ export declare class SessionController implements Disposable {
|
|
|
171
167
|
messages: number;
|
|
172
168
|
tokens: number;
|
|
173
169
|
};
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
* to the next dequeued turn (null hides the YOU bubble).
|
|
177
|
-
*/
|
|
178
|
-
enqueue(prompt: string, opts?: {
|
|
179
|
-
displayPrompt?: string | null | undefined;
|
|
180
|
-
}): void;
|
|
170
|
+
cancelAll(): Promise<ToolResult>;
|
|
171
|
+
enqueue(prompt: string, opts?: TurnDisplayOptions): void;
|
|
181
172
|
queued(): readonly string[];
|
|
182
173
|
removeQueued(index: number): void;
|
|
183
174
|
takeQueued(index: number): string | undefined;
|
|
184
|
-
/** Edit a queued draft in place before it runs (INPUT-007). */
|
|
185
175
|
editQueued(index: number, text: string): void;
|
|
186
|
-
/** Move a queued draft to a new position before it runs (INPUT-007). */
|
|
187
176
|
reorderQueued(fromIndex: number, toIndex: number): void;
|
|
188
177
|
sendQueuedNow(index: number): void;
|
|
189
178
|
abort(): void;
|
|
190
179
|
continueQueue(): Promise<void>;
|
|
191
|
-
private consumeNextTurnDisplay;
|
|
192
180
|
/** In-memory plan-approval flag consumed by the agent gate (CORE-005). */
|
|
193
181
|
setPlanApproved(value: boolean): void;
|
|
194
182
|
isPlanApproved(): boolean;
|
|
195
183
|
/** Fires after every turn settles (completed/aborted/error), including drain. */
|
|
196
184
|
onTurnEnd(listener: TurnEndListener): () => void;
|
|
197
|
-
submit(prompt: string, opts?:
|
|
198
|
-
displayPrompt?: string | null | undefined;
|
|
199
|
-
}): Promise<TurnResult>;
|
|
200
|
-
/**
|
|
201
|
-
* Runs queued prompts one at a time while idle; stops on first
|
|
202
|
-
* non-completion. Prefer {@link continueQueue} from the UI so priority
|
|
203
|
-
* ("send now") prompts are honored too.
|
|
204
|
-
*/
|
|
185
|
+
submit(prompt: string, opts?: TurnDisplayOptions): Promise<TurnResult>;
|
|
205
186
|
drain(): Promise<TurnResult[]>;
|
|
206
187
|
private runTurn;
|
|
207
188
|
/**
|
|
@@ -6,7 +6,7 @@ import { resolveTurnInput } from "../../attachments/service.js";
|
|
|
6
6
|
import { generateSessionTitle } from "../../agent/session-title.js";
|
|
7
7
|
import { clearTextOnlyModels } from "../../llm/tool-protocol.js";
|
|
8
8
|
import { getConfig, getProviderModel } from "../../store/config.js";
|
|
9
|
-
import { beginSessionWorkspace, getActiveSessionWorkspace
|
|
9
|
+
import { beginSessionWorkspace, getActiveSessionWorkspace } from "../../store/session-workspace.js";
|
|
10
10
|
import { summarizeForSessionCompact } from "./session-compact-helper.js";
|
|
11
11
|
import { asSessionId, } from "../events/app-event.js";
|
|
12
12
|
import { EventSequencer, } from "../events/sequencer.js";
|
|
@@ -14,6 +14,8 @@ import { OutputSpool } from "../events/event-buffer.js";
|
|
|
14
14
|
import { TurnController } from "./turn-controller.js";
|
|
15
15
|
import { CompositeDisposable } from "./disposable.js";
|
|
16
16
|
import { persistedContextUsage, SessionPersistenceQueue, } from "./session-persistence.js";
|
|
17
|
+
import { SessionPromptQueue, } from "./session-prompt-queue.js";
|
|
18
|
+
import { SessionResponder } from "./session-responder.js";
|
|
17
19
|
function mintSessionId() {
|
|
18
20
|
return `sess-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`;
|
|
19
21
|
}
|
|
@@ -28,20 +30,8 @@ export class SessionController {
|
|
|
28
30
|
turnEndListeners = new Set();
|
|
29
31
|
stateListeners = new Set();
|
|
30
32
|
history = [];
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
* Prompt promoted by "Send now" while a turn was running. After the abort
|
|
34
|
-
* settles, {@link continueQueue} runs this before any remaining queue items.
|
|
35
|
-
*/
|
|
36
|
-
priorityPrompt;
|
|
37
|
-
/**
|
|
38
|
-
* Display override for the next turn only (`null` = hide YOU bubble).
|
|
39
|
-
* Used when implement/revision directives are queued while a turn is running.
|
|
40
|
-
*/
|
|
41
|
-
nextTurnDisplayPrompt = undefined;
|
|
42
|
-
nextTurnDisplayArmed = false;
|
|
43
|
-
/** Re-entrancy guard for {@link continueQueue}. */
|
|
44
|
-
continuingQueue = false;
|
|
33
|
+
prompts;
|
|
34
|
+
responder;
|
|
45
35
|
provider;
|
|
46
36
|
model;
|
|
47
37
|
mode;
|
|
@@ -77,6 +67,38 @@ export class SessionController {
|
|
|
77
67
|
emit: deps.emit,
|
|
78
68
|
mintTurnId: deps.mintTurnId,
|
|
79
69
|
}));
|
|
70
|
+
this.prompts = new SessionPromptQueue({
|
|
71
|
+
isRunning: () => this.turn.running,
|
|
72
|
+
abort: () => this.turn.abort(),
|
|
73
|
+
notifyState: () => this.notifyState(),
|
|
74
|
+
notice: (text) => this.notice("info", text),
|
|
75
|
+
runTurn: (prompt, options) => this.runTurn(prompt, options),
|
|
76
|
+
});
|
|
77
|
+
if (deps.jobs) {
|
|
78
|
+
this.responder = new SessionResponder({
|
|
79
|
+
jobs: deps.jobs,
|
|
80
|
+
persistence: deps.persistence,
|
|
81
|
+
sequencer: this.sequencer,
|
|
82
|
+
emit: deps.emit,
|
|
83
|
+
sessionId: () => this.sessionIdValue,
|
|
84
|
+
isBusy: () => this.turn.running || this.compactingFlag,
|
|
85
|
+
hasQueuedWork: () => this.prompts.hasPending(),
|
|
86
|
+
continueQueue: () => this.prompts.continue(),
|
|
87
|
+
runTurn: (prompt) => this.runTurn(prompt, { displayPrompt: null }),
|
|
88
|
+
notifyState: () => this.notifyState(),
|
|
89
|
+
...(deps.notifyResponderDelivery
|
|
90
|
+
? { notifyDelivery: deps.notifyResponderDelivery }
|
|
91
|
+
: {}),
|
|
92
|
+
});
|
|
93
|
+
const unsubscribe = deps.jobs.subscribe((change) => {
|
|
94
|
+
this.responder?.handleChange(change);
|
|
95
|
+
});
|
|
96
|
+
this.disposables.add({ dispose: unsubscribe });
|
|
97
|
+
this.responder.scheduleWake();
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
this.responder = undefined;
|
|
101
|
+
}
|
|
80
102
|
}
|
|
81
103
|
/** Current per-session scratch/output workspace (always bound while live). */
|
|
82
104
|
get workspace() {
|
|
@@ -95,7 +117,7 @@ export class SessionController {
|
|
|
95
117
|
running: this.turn.running,
|
|
96
118
|
compacting: this.compactingFlag,
|
|
97
119
|
historyLength: this.history.length,
|
|
98
|
-
queued:
|
|
120
|
+
queued: this.prompts.snapshot(),
|
|
99
121
|
title: this.sessionTitle,
|
|
100
122
|
contextUsage,
|
|
101
123
|
contextChip: contextUsage
|
|
@@ -178,13 +200,13 @@ export class SessionController {
|
|
|
178
200
|
loadHistory(messages, options = {}) {
|
|
179
201
|
if (this.turn.running)
|
|
180
202
|
this.turn.abort();
|
|
203
|
+
this.responder?.invalidateWake();
|
|
181
204
|
// Deep-copy then heal broken assistant/tool pairs from aborted turns so
|
|
182
205
|
// /history resume + "continue" never dies on invalid native tool protocol.
|
|
183
206
|
const healed = messages.map((m) => ({ ...m }));
|
|
184
207
|
repairToolProtocol(healed);
|
|
185
208
|
this.history = healed;
|
|
186
|
-
this.
|
|
187
|
-
this.priorityPrompt = undefined;
|
|
209
|
+
this.prompts.clear();
|
|
188
210
|
this.spool.clear();
|
|
189
211
|
// Keep the resumed session's existing title; only refresh after the user
|
|
190
212
|
// adds more turns (same cadence as classic TUI).
|
|
@@ -224,6 +246,7 @@ export class SessionController {
|
|
|
224
246
|
code: options.workspaceCode,
|
|
225
247
|
});
|
|
226
248
|
this.notifyState();
|
|
249
|
+
this.responder?.scheduleWake();
|
|
227
250
|
}
|
|
228
251
|
notice(level, text) {
|
|
229
252
|
this.deps.emit(this.sequencer.build("notice", { level, text }, undefined));
|
|
@@ -245,9 +268,9 @@ export class SessionController {
|
|
|
245
268
|
reset(options = {}) {
|
|
246
269
|
if (this.turn.running)
|
|
247
270
|
this.turn.abort();
|
|
271
|
+
this.responder?.invalidateWake();
|
|
248
272
|
this.history = [];
|
|
249
|
-
this.
|
|
250
|
-
this.priorityPrompt = undefined;
|
|
273
|
+
this.prompts.clear();
|
|
251
274
|
this.sessionTitle = undefined;
|
|
252
275
|
this.titledAtUserCount = 0;
|
|
253
276
|
this.titleInFlight = false;
|
|
@@ -262,6 +285,7 @@ export class SessionController {
|
|
|
262
285
|
}
|
|
263
286
|
this.policy = createSessionPolicy(this.sessionIdValue);
|
|
264
287
|
this.notifyState();
|
|
288
|
+
this.responder?.scheduleWake();
|
|
265
289
|
}
|
|
266
290
|
/** Roll back history after a rejected plan-implement compaction. */
|
|
267
291
|
restoreMessages(messages, contextUsage) {
|
|
@@ -316,6 +340,11 @@ export class SessionController {
|
|
|
316
340
|
finally {
|
|
317
341
|
this.compactingFlag = false;
|
|
318
342
|
this.notifyState();
|
|
343
|
+
// Becoming idle after compaction is an idle transition just like a turn
|
|
344
|
+
// ending: a responder completion that arrived while compactingFlag was
|
|
345
|
+
// set had its wake suppressed by isBusy(). Re-arm it here or the agent
|
|
346
|
+
// stays stranded (job exited, no wake, no delivery) until the next turn.
|
|
347
|
+
this.responder?.scheduleWake();
|
|
319
348
|
}
|
|
320
349
|
}
|
|
321
350
|
/** Persist one immutable snapshot behind every previously captured save. */
|
|
@@ -385,108 +414,42 @@ export class SessionController {
|
|
|
385
414
|
tokens: snap?.contextTokens ?? estimateMessagesTokens(this.history),
|
|
386
415
|
};
|
|
387
416
|
}
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
enqueue(prompt, opts) {
|
|
393
|
-
if (opts && "displayPrompt" in opts) {
|
|
394
|
-
this.nextTurnDisplayPrompt = opts.displayPrompt;
|
|
395
|
-
this.nextTurnDisplayArmed = true;
|
|
396
|
-
}
|
|
397
|
-
const text = prompt.trim();
|
|
398
|
-
if (!text)
|
|
399
|
-
return;
|
|
400
|
-
this.queue.push(text);
|
|
417
|
+
async cancelAll() {
|
|
418
|
+
this.responder?.invalidateWake();
|
|
419
|
+
this.turn.abort();
|
|
420
|
+
this.prompts.clear(true);
|
|
401
421
|
this.notifyState();
|
|
422
|
+
if (!this.deps.jobs) {
|
|
423
|
+
return { ok: true, output: "Turn cancelled; no background-job service is configured." };
|
|
424
|
+
}
|
|
425
|
+
return this.deps.jobs.cancelAll(this.sessionIdValue);
|
|
426
|
+
}
|
|
427
|
+
enqueue(prompt, opts) {
|
|
428
|
+
this.prompts.enqueue(prompt, opts);
|
|
402
429
|
}
|
|
403
430
|
queued() {
|
|
404
|
-
return
|
|
431
|
+
return this.prompts.snapshot();
|
|
405
432
|
}
|
|
406
433
|
removeQueued(index) {
|
|
407
|
-
|
|
408
|
-
this.queue.splice(index, 1);
|
|
409
|
-
this.notifyState();
|
|
410
|
-
}
|
|
434
|
+
this.prompts.remove(index);
|
|
411
435
|
}
|
|
412
436
|
takeQueued(index) {
|
|
413
|
-
|
|
414
|
-
return undefined;
|
|
415
|
-
const [text] = this.queue.splice(index, 1);
|
|
416
|
-
this.notifyState();
|
|
417
|
-
return text;
|
|
437
|
+
return this.prompts.take(index);
|
|
418
438
|
}
|
|
419
|
-
/** Edit a queued draft in place before it runs (INPUT-007). */
|
|
420
439
|
editQueued(index, text) {
|
|
421
|
-
|
|
422
|
-
this.queue[index] = text;
|
|
423
|
-
this.notifyState();
|
|
424
|
-
}
|
|
440
|
+
this.prompts.edit(index, text);
|
|
425
441
|
}
|
|
426
|
-
/** Move a queued draft to a new position before it runs (INPUT-007). */
|
|
427
442
|
reorderQueued(fromIndex, toIndex) {
|
|
428
|
-
|
|
429
|
-
fromIndex >= this.queue.length ||
|
|
430
|
-
toIndex < 0 ||
|
|
431
|
-
toIndex >= this.queue.length ||
|
|
432
|
-
fromIndex === toIndex) {
|
|
433
|
-
return;
|
|
434
|
-
}
|
|
435
|
-
const [moved] = this.queue.splice(fromIndex, 1);
|
|
436
|
-
if (moved !== undefined)
|
|
437
|
-
this.queue.splice(toIndex, 0, moved);
|
|
438
|
-
this.notifyState();
|
|
443
|
+
this.prompts.reorder(fromIndex, toIndex);
|
|
439
444
|
}
|
|
440
445
|
sendQueuedNow(index) {
|
|
441
|
-
|
|
442
|
-
if (text === undefined)
|
|
443
|
-
return;
|
|
444
|
-
if (this.turn.running) {
|
|
445
|
-
this.priorityPrompt = text;
|
|
446
|
-
this.turn.abort();
|
|
447
|
-
this.notice("info", "interrupting · sending queued prompt now");
|
|
448
|
-
return;
|
|
449
|
-
}
|
|
450
|
-
void this.submit(text).then(() => this.continueQueue());
|
|
446
|
+
this.prompts.sendNow(index);
|
|
451
447
|
}
|
|
452
448
|
abort() {
|
|
453
449
|
this.turn.abort();
|
|
454
450
|
}
|
|
455
451
|
async continueQueue() {
|
|
456
|
-
|
|
457
|
-
return;
|
|
458
|
-
this.continuingQueue = true;
|
|
459
|
-
try {
|
|
460
|
-
while (!this.turn.running) {
|
|
461
|
-
let next;
|
|
462
|
-
if (this.priorityPrompt !== undefined) {
|
|
463
|
-
next = this.priorityPrompt;
|
|
464
|
-
this.priorityPrompt = undefined;
|
|
465
|
-
}
|
|
466
|
-
else if (this.queue.length > 0) {
|
|
467
|
-
next = this.queue.shift();
|
|
468
|
-
this.notifyState();
|
|
469
|
-
}
|
|
470
|
-
else {
|
|
471
|
-
break;
|
|
472
|
-
}
|
|
473
|
-
if (next === undefined || !next.trim())
|
|
474
|
-
continue;
|
|
475
|
-
const displayOpts = this.consumeNextTurnDisplay();
|
|
476
|
-
await this.runTurn(next, displayOpts);
|
|
477
|
-
}
|
|
478
|
-
}
|
|
479
|
-
finally {
|
|
480
|
-
this.continuingQueue = false;
|
|
481
|
-
}
|
|
482
|
-
}
|
|
483
|
-
consumeNextTurnDisplay() {
|
|
484
|
-
if (!this.nextTurnDisplayArmed)
|
|
485
|
-
return undefined;
|
|
486
|
-
this.nextTurnDisplayArmed = false;
|
|
487
|
-
const displayPrompt = this.nextTurnDisplayPrompt;
|
|
488
|
-
this.nextTurnDisplayPrompt = undefined;
|
|
489
|
-
return { displayPrompt };
|
|
452
|
+
await this.prompts.continue();
|
|
490
453
|
}
|
|
491
454
|
/** In-memory plan-approval flag consumed by the agent gate (CORE-005). */
|
|
492
455
|
setPlanApproved(value) {
|
|
@@ -501,36 +464,10 @@ export class SessionController {
|
|
|
501
464
|
return () => this.turnEndListeners.delete(listener);
|
|
502
465
|
}
|
|
503
466
|
async submit(prompt, opts) {
|
|
504
|
-
|
|
505
|
-
throw new Error("a turn is already running; enqueue() while busy");
|
|
506
|
-
}
|
|
507
|
-
// Explicit submit opts win over any armed queue display override.
|
|
508
|
-
if (opts && "displayPrompt" in opts) {
|
|
509
|
-
this.nextTurnDisplayArmed = false;
|
|
510
|
-
this.nextTurnDisplayPrompt = undefined;
|
|
511
|
-
return this.runTurn(prompt, opts);
|
|
512
|
-
}
|
|
513
|
-
const displayOpts = this.consumeNextTurnDisplay();
|
|
514
|
-
return this.runTurn(prompt, displayOpts ?? opts);
|
|
467
|
+
return this.prompts.submit(prompt, opts);
|
|
515
468
|
}
|
|
516
|
-
/**
|
|
517
|
-
* Runs queued prompts one at a time while idle; stops on first
|
|
518
|
-
* non-completion. Prefer {@link continueQueue} from the UI so priority
|
|
519
|
-
* ("send now") prompts are honored too.
|
|
520
|
-
*/
|
|
521
469
|
async drain() {
|
|
522
|
-
|
|
523
|
-
while (this.queue.length > 0 && !this.turn.running) {
|
|
524
|
-
const next = this.queue.shift();
|
|
525
|
-
if (next === undefined)
|
|
526
|
-
break;
|
|
527
|
-
this.notifyState();
|
|
528
|
-
const result = await this.runTurn(next);
|
|
529
|
-
results.push(result);
|
|
530
|
-
if (result.status !== "completed")
|
|
531
|
-
break;
|
|
532
|
-
}
|
|
533
|
-
return results;
|
|
470
|
+
return this.prompts.drain();
|
|
534
471
|
}
|
|
535
472
|
async runTurn(prompt, opts) {
|
|
536
473
|
const config = getConfig();
|
|
@@ -585,6 +522,7 @@ export class SessionController {
|
|
|
585
522
|
}
|
|
586
523
|
for (const listener of this.turnEndListeners)
|
|
587
524
|
listener(result);
|
|
525
|
+
this.responder?.scheduleWake();
|
|
588
526
|
return result;
|
|
589
527
|
}
|
|
590
528
|
/**
|
|
@@ -610,6 +548,7 @@ export class SessionController {
|
|
|
610
548
|
});
|
|
611
549
|
}
|
|
612
550
|
dispose() {
|
|
551
|
+
this.responder?.invalidateWake();
|
|
613
552
|
this.turnEndListeners.clear();
|
|
614
553
|
this.stateListeners.clear();
|
|
615
554
|
this.disposables.dispose();
|