@sumicom/quicksave 0.3.1 → 0.5.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.
- package/dist/ai/claudeCodeService.d.ts +89 -0
- package/dist/ai/claudeCodeService.d.ts.map +1 -0
- package/dist/ai/claudeCodeService.js +602 -0
- package/dist/ai/claudeCodeService.js.map +1 -0
- package/dist/ai/sessionStore.d.ts +31 -0
- package/dist/ai/sessionStore.d.ts.map +1 -0
- package/dist/ai/sessionStore.js +72 -0
- package/dist/ai/sessionStore.js.map +1 -0
- package/dist/ai/sessionStore.test.d.ts +2 -0
- package/dist/ai/sessionStore.test.d.ts.map +1 -0
- package/dist/ai/sessionStore.test.js +99 -0
- package/dist/ai/sessionStore.test.js.map +1 -0
- package/dist/config.d.ts +7 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +39 -0
- package/dist/config.js.map +1 -1
- package/dist/connection/connection.d.ts +16 -17
- package/dist/connection/connection.d.ts.map +1 -1
- package/dist/connection/connection.js +72 -57
- package/dist/connection/connection.js.map +1 -1
- package/dist/connection/{signaling.d.ts → relay.d.ts} +3 -5
- package/dist/connection/relay.d.ts.map +1 -0
- package/dist/connection/{signaling.js → relay.js} +18 -19
- package/dist/connection/relay.js.map +1 -0
- package/dist/git/operations.d.ts +27 -1
- package/dist/git/operations.d.ts.map +1 -1
- package/dist/git/operations.js +113 -4
- package/dist/git/operations.js.map +1 -1
- package/dist/git/operations.test.js +69 -1
- package/dist/git/operations.test.js.map +1 -1
- package/dist/handlers/messageHandler.d.ts +31 -4
- package/dist/handlers/messageHandler.d.ts.map +1 -1
- package/dist/handlers/messageHandler.js +491 -62
- package/dist/handlers/messageHandler.js.map +1 -1
- package/dist/handlers/messageHandler.test.js +130 -2
- package/dist/handlers/messageHandler.test.js.map +1 -1
- package/dist/index.js +229 -89
- package/dist/index.js.map +1 -1
- package/dist/service/ensureDaemon.d.ts +23 -0
- package/dist/service/ensureDaemon.d.ts.map +1 -0
- package/dist/service/ensureDaemon.js +138 -0
- package/dist/service/ensureDaemon.js.map +1 -0
- package/dist/service/index.d.ts +8 -0
- package/dist/service/index.d.ts.map +1 -0
- package/dist/service/index.js +8 -0
- package/dist/service/index.js.map +1 -0
- package/dist/service/ipc.test.d.ts +2 -0
- package/dist/service/ipc.test.d.ts.map +1 -0
- package/dist/service/ipc.test.js +140 -0
- package/dist/service/ipc.test.js.map +1 -0
- package/dist/service/ipcClient.d.ts +36 -0
- package/dist/service/ipcClient.d.ts.map +1 -0
- package/dist/service/ipcClient.js +167 -0
- package/dist/service/ipcClient.js.map +1 -0
- package/dist/service/ipcServer.d.ts +53 -0
- package/dist/service/ipcServer.d.ts.map +1 -0
- package/dist/service/ipcServer.js +245 -0
- package/dist/service/ipcServer.js.map +1 -0
- package/dist/service/run.d.ts +13 -0
- package/dist/service/run.d.ts.map +1 -0
- package/dist/service/run.js +292 -0
- package/dist/service/run.js.map +1 -0
- package/dist/service/singleton.d.ts +31 -0
- package/dist/service/singleton.d.ts.map +1 -0
- package/dist/service/singleton.js +96 -0
- package/dist/service/singleton.js.map +1 -0
- package/dist/service/singleton.test.d.ts +2 -0
- package/dist/service/singleton.test.d.ts.map +1 -0
- package/dist/service/singleton.test.js +39 -0
- package/dist/service/singleton.test.js.map +1 -0
- package/dist/service/stateStore.d.ts +11 -0
- package/dist/service/stateStore.d.ts.map +1 -0
- package/dist/service/stateStore.js +35 -0
- package/dist/service/stateStore.js.map +1 -0
- package/dist/service/types.d.ts +111 -0
- package/dist/service/types.d.ts.map +1 -0
- package/dist/service/types.js +76 -0
- package/dist/service/types.js.map +1 -0
- package/package.json +3 -2
- package/dist/connection/signaling.d.ts.map +0 -1
- package/dist/connection/signaling.js.map +0 -1
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { EventEmitter } from 'events';
|
|
2
|
+
import type { ClaudeSessionSummary, ClaudeHistoryMessage, ClaudeStreamEventType, ClaudeUserInputRequestPayload, ClaudeUserInputResponsePayload } from '@sumicom/quicksave-shared';
|
|
3
|
+
export interface StreamEvent {
|
|
4
|
+
sessionId: string;
|
|
5
|
+
streamId: string;
|
|
6
|
+
eventType: ClaudeStreamEventType;
|
|
7
|
+
content: string;
|
|
8
|
+
toolName?: string;
|
|
9
|
+
toolInput?: string;
|
|
10
|
+
isPartial?: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface StreamEndResult {
|
|
13
|
+
sessionId: string;
|
|
14
|
+
streamId: string;
|
|
15
|
+
success: boolean;
|
|
16
|
+
error?: string;
|
|
17
|
+
totalCostUsd?: number;
|
|
18
|
+
tokenUsage?: {
|
|
19
|
+
input: number;
|
|
20
|
+
output: number;
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Events emitted by ClaudeCodeService:
|
|
25
|
+
* 'stream' (event: StreamEvent)
|
|
26
|
+
* 'stream:end' (result: StreamEndResult)
|
|
27
|
+
* 'user-input-request' (request: ClaudeUserInputRequestPayload)
|
|
28
|
+
*/
|
|
29
|
+
type PermissionLevel = 'bypassPermissions' | 'acceptEdits' | 'default' | 'plan';
|
|
30
|
+
export declare class ClaudeCodeService extends EventEmitter {
|
|
31
|
+
private sessions;
|
|
32
|
+
private pendingInputRequests;
|
|
33
|
+
private requestCounter;
|
|
34
|
+
constructor();
|
|
35
|
+
/** Build and emit a session-updated event with current state. */
|
|
36
|
+
private emitSessionUpdate;
|
|
37
|
+
listAvailableSessions(cwd: string): Promise<ClaudeSessionSummary[]>;
|
|
38
|
+
/**
|
|
39
|
+
* Check if a session's last message in the SDK JSONL is an unanswered tool_use.
|
|
40
|
+
* Reads only the last few messages to keep it fast.
|
|
41
|
+
*/
|
|
42
|
+
private detectPendingFromJSONL;
|
|
43
|
+
getMessages(sessionId: string, cwd: string, offset?: number, limit?: number): Promise<{
|
|
44
|
+
messages: ClaudeHistoryMessage[];
|
|
45
|
+
total: number;
|
|
46
|
+
hasMore: boolean;
|
|
47
|
+
}>;
|
|
48
|
+
/**
|
|
49
|
+
* Create a V2 session with the given cwd.
|
|
50
|
+
* V2 SDKSessionOptions doesn't expose `cwd`, so we temporarily change
|
|
51
|
+
* process.cwd() around the synchronous createSession() call.
|
|
52
|
+
*/
|
|
53
|
+
private createSessionWithCwd;
|
|
54
|
+
private waitForUserInput;
|
|
55
|
+
/**
|
|
56
|
+
* Called by message handler when PWA sends a user input response.
|
|
57
|
+
*/
|
|
58
|
+
resolveUserInput(response: ClaudeUserInputResponsePayload): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Get all pending user input requests (for re-sending to a reconnected client).
|
|
61
|
+
*/
|
|
62
|
+
getPendingInputRequests(): ClaudeUserInputRequestPayload[];
|
|
63
|
+
startSession(opts: {
|
|
64
|
+
prompt: string;
|
|
65
|
+
cwd: string;
|
|
66
|
+
streamId: string;
|
|
67
|
+
allowedTools?: string[];
|
|
68
|
+
systemPrompt?: string;
|
|
69
|
+
model?: string;
|
|
70
|
+
permissionMode?: string;
|
|
71
|
+
}): Promise<string>;
|
|
72
|
+
resumeSession(opts: {
|
|
73
|
+
sessionId: string;
|
|
74
|
+
prompt: string;
|
|
75
|
+
cwd: string;
|
|
76
|
+
streamId: string;
|
|
77
|
+
}): Promise<string>;
|
|
78
|
+
cancelSession(sessionId: string): boolean;
|
|
79
|
+
setPermissionLevel(sessionId: string, level: PermissionLevel): boolean;
|
|
80
|
+
getPermissionLevel(sessionId: string): PermissionLevel;
|
|
81
|
+
closeSession(sessionId: string): boolean;
|
|
82
|
+
isStreaming(sessionId: string): boolean;
|
|
83
|
+
isOpen(sessionId: string): boolean;
|
|
84
|
+
getActiveSessionCount(): number;
|
|
85
|
+
cleanup(): void;
|
|
86
|
+
private consumeStream;
|
|
87
|
+
}
|
|
88
|
+
export {};
|
|
89
|
+
//# sourceMappingURL=claudeCodeService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"claudeCodeService.d.ts","sourceRoot":"","sources":["../../src/ai/claudeCodeService.ts"],"names":[],"mappings":"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"}
|