@love-moon/tui-driver 0.2.13 → 0.2.15
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/driver/TuiDriver.d.ts +40 -0
- package/dist/driver/TuiDriver.d.ts.map +1 -1
- package/dist/driver/TuiDriver.js +342 -51
- package/dist/driver/TuiDriver.js.map +1 -1
- package/dist/driver/index.d.ts +2 -2
- package/dist/driver/index.d.ts.map +1 -1
- package/dist/driver/index.js.map +1 -1
- package/dist/driver/profiles/copilot.profile.js +10 -10
- package/dist/driver/profiles/copilot.profile.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
- package/src/driver/TuiDriver.ts +465 -51
- package/src/driver/index.ts +6 -1
- package/src/driver/profiles/copilot.profile.ts +10 -10
- package/src/index.ts +2 -0
- package/test/backend-session-discovery.test.ts +134 -0
- package/test/codex-session-discovery.test.ts +18 -7
- package/test/copilot-profile.test.ts +12 -0
- package/test/copilot-signals.test.ts +14 -0
- package/test/session-file-extraction.test.ts +306 -1
|
@@ -5,6 +5,7 @@ import { TuiState } from "./StateMachine.js";
|
|
|
5
5
|
export interface TuiDriverOptions {
|
|
6
6
|
profile: TuiProfile;
|
|
7
7
|
cwd?: string;
|
|
8
|
+
expectedSessionId?: string;
|
|
8
9
|
debug?: boolean;
|
|
9
10
|
onSnapshot?: (snapshot: ScreenSnapshot, state: TuiState) => void;
|
|
10
11
|
onSignals?: (signals: TuiScreenSignals, snapshot: ScreenSnapshot, state: TuiState) => void;
|
|
@@ -54,6 +55,21 @@ export interface TuiSessionUsageSummary {
|
|
|
54
55
|
tokenUsagePercent?: number;
|
|
55
56
|
contextUsagePercent?: number;
|
|
56
57
|
}
|
|
58
|
+
export interface TuiSessionAssistantMessage {
|
|
59
|
+
backend: string;
|
|
60
|
+
sessionId: string;
|
|
61
|
+
sessionFilePath: string;
|
|
62
|
+
text: string;
|
|
63
|
+
timestamp?: string;
|
|
64
|
+
}
|
|
65
|
+
export interface TuiSessionAssistantMessageBatch {
|
|
66
|
+
backend: string;
|
|
67
|
+
sessionId: string;
|
|
68
|
+
sessionFilePath: string;
|
|
69
|
+
nextOffset: number;
|
|
70
|
+
fileSize: number;
|
|
71
|
+
messages: TuiSessionAssistantMessage[];
|
|
72
|
+
}
|
|
57
73
|
export declare class TuiDriver extends EventEmitter {
|
|
58
74
|
private pty;
|
|
59
75
|
private screen;
|
|
@@ -67,6 +83,10 @@ export declare class TuiDriver extends EventEmitter {
|
|
|
67
83
|
private isBooted;
|
|
68
84
|
private isKilled;
|
|
69
85
|
private sessionCwd;
|
|
86
|
+
private hasExplicitSessionCwd;
|
|
87
|
+
private expectedSessionId;
|
|
88
|
+
private sessionDetectStartSec;
|
|
89
|
+
private sessionDetectBaselineIds;
|
|
70
90
|
private sessionInfo;
|
|
71
91
|
private lastSessionInfo;
|
|
72
92
|
private sessionUsageCache;
|
|
@@ -80,6 +100,8 @@ export declare class TuiDriver extends EventEmitter {
|
|
|
80
100
|
getSessionInfo(): TuiSessionInfo | null;
|
|
81
101
|
ensureSessionInfo(timeoutMs?: number): Promise<TuiSessionInfo | null>;
|
|
82
102
|
getSessionUsageSummary(): Promise<TuiSessionUsageSummary | null>;
|
|
103
|
+
getSessionFileSize(sessionInfo?: TuiSessionInfo | null): Promise<number>;
|
|
104
|
+
readSessionAssistantMessagesSince(sessionInfo: TuiSessionInfo, startOffset?: number): Promise<TuiSessionAssistantMessageBatch>;
|
|
83
105
|
boot(): Promise<void>;
|
|
84
106
|
ensureReady(): Promise<void>;
|
|
85
107
|
ask(prompt: string): Promise<AskResult>;
|
|
@@ -89,14 +111,27 @@ export declare class TuiDriver extends EventEmitter {
|
|
|
89
111
|
private supportsSessionFileTracking;
|
|
90
112
|
private discoverSessionInfo;
|
|
91
113
|
private detectSessionInfoByBackend;
|
|
114
|
+
private getPinnedSessionIds;
|
|
115
|
+
private toSessionInfo;
|
|
116
|
+
private pickSessionDiscoveryCandidate;
|
|
117
|
+
private collectBaselineSessionIds;
|
|
118
|
+
private captureSessionBaseline;
|
|
92
119
|
private detectCodexSessionInfo;
|
|
120
|
+
private captureCodexSessionBaseline;
|
|
121
|
+
private collectClaudeSessionCandidates;
|
|
122
|
+
private captureClaudeSessionBaseline;
|
|
93
123
|
private detectClaudeSessionInfo;
|
|
124
|
+
private collectCopilotSessionCandidates;
|
|
125
|
+
private captureCopilotSessionBaseline;
|
|
94
126
|
private detectCopilotSessionInfo;
|
|
127
|
+
private querySqliteRows;
|
|
95
128
|
private querySqliteRow;
|
|
96
129
|
private encodeClaudeProjectPath;
|
|
97
130
|
private readWorkspaceYamlValue;
|
|
98
131
|
private pathExists;
|
|
99
132
|
private captureSessionFileCheckpoint;
|
|
133
|
+
private requiresSessionFileCheckpointForTurn;
|
|
134
|
+
private resolveSessionFileCheckpointForTurn;
|
|
100
135
|
private readSessionFileStat;
|
|
101
136
|
private waitForSessionFileGrowth;
|
|
102
137
|
private waitForSessionFileIdle;
|
|
@@ -108,13 +143,18 @@ export declare class TuiDriver extends EventEmitter {
|
|
|
108
143
|
private readNumberPath;
|
|
109
144
|
private normalizePercent;
|
|
110
145
|
private requiresSessionCompletionMarker;
|
|
146
|
+
private supportsSessionAssistantReplyIdleFallback;
|
|
111
147
|
private hasSessionCompletionMarker;
|
|
112
148
|
private readSessionFileJsonLines;
|
|
149
|
+
private readSessionFileLinesSince;
|
|
150
|
+
private hasSessionAssistantReply;
|
|
113
151
|
private extractAssistantReplyFromJsonLines;
|
|
152
|
+
private extractAssistantMessagesFromJsonLines;
|
|
114
153
|
private hasCodexTaskCompleteFromJsonLines;
|
|
115
154
|
private hasCopilotTurnEndFromJsonLines;
|
|
116
155
|
private extractCodexTaskCompleteMessageFromJsonLines;
|
|
117
156
|
private isCodexTaskCompleteEntry;
|
|
157
|
+
private isCopilotTurnStartEntry;
|
|
118
158
|
private isCopilotTurnEndEntry;
|
|
119
159
|
private summarizeForLog;
|
|
120
160
|
private extractCodexAssistantText;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TuiDriver.d.ts","sourceRoot":"","sources":["../../src/driver/TuiDriver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAQtC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAK3D,OAAO,EAAE,UAAU,EAAc,MAAM,iBAAiB,CAAC;AACzD,OAAO,EAAgB,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAI3D,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,UAAU,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;IACjE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,QAAQ,KAAK,IAAI,CAAC;CAC5F;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,cAAc,CAAC;IAC/B,aAAa,EAAE,cAAc,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,OAAO,CAAC,EAAE,gBAAgB,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,gBAAgB,GAChB,qBAAqB,GACrB,aAAa,GACb,WAAW,GACX,gBAAgB,CAAC;AAErB,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;
|
|
1
|
+
{"version":3,"file":"TuiDriver.d.ts","sourceRoot":"","sources":["../../src/driver/TuiDriver.ts"],"names":[],"mappings":"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"}
|