@sumicom/quicksave 0.5.2 → 0.6.1
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/asyncQueue.d.ts +17 -0
- package/dist/ai/asyncQueue.d.ts.map +1 -0
- package/dist/ai/asyncQueue.js +49 -0
- package/dist/ai/asyncQueue.js.map +1 -0
- package/dist/ai/asyncQueue.test.d.ts +2 -0
- package/dist/ai/asyncQueue.test.d.ts.map +1 -0
- package/dist/ai/asyncQueue.test.js +56 -0
- package/dist/ai/asyncQueue.test.js.map +1 -0
- package/dist/ai/cardBuilder.d.ts +73 -0
- package/dist/ai/cardBuilder.d.ts.map +1 -0
- package/dist/ai/cardBuilder.js +595 -0
- package/dist/ai/cardBuilder.js.map +1 -0
- package/dist/ai/claudeCliProvider.d.ts +19 -0
- package/dist/ai/claudeCliProvider.d.ts.map +1 -0
- package/dist/ai/claudeCliProvider.js +466 -0
- package/dist/ai/claudeCliProvider.js.map +1 -0
- package/dist/ai/claudeSdkProvider.d.ts +18 -0
- package/dist/ai/claudeSdkProvider.d.ts.map +1 -0
- package/dist/ai/claudeSdkProvider.js +418 -0
- package/dist/ai/claudeSdkProvider.js.map +1 -0
- package/dist/ai/commitSummary.d.ts +4 -0
- package/dist/ai/commitSummary.d.ts.map +1 -1
- package/dist/ai/commitSummary.js +80 -40
- package/dist/ai/commitSummary.js.map +1 -1
- package/dist/ai/provider.d.ts +54 -0
- package/dist/ai/provider.d.ts.map +1 -0
- package/dist/ai/provider.js +2 -0
- package/dist/ai/provider.js.map +1 -0
- package/dist/ai/sandboxMcp.d.ts +12 -0
- package/dist/ai/sandboxMcp.d.ts.map +1 -0
- package/dist/ai/sandboxMcp.js +12 -0
- package/dist/ai/sandboxMcp.js.map +1 -0
- package/dist/ai/sandboxMcpStdio.d.ts +16 -0
- package/dist/ai/sandboxMcpStdio.d.ts.map +1 -0
- package/dist/ai/sandboxMcpStdio.js +127 -0
- package/dist/ai/sandboxMcpStdio.js.map +1 -0
- package/dist/ai/sessionManager.d.ts +100 -0
- package/dist/ai/sessionManager.d.ts.map +1 -0
- package/dist/ai/sessionManager.js +595 -0
- package/dist/ai/sessionManager.js.map +1 -0
- package/dist/ai/sessionRegistry.d.ts +28 -0
- package/dist/ai/sessionRegistry.d.ts.map +1 -0
- package/dist/ai/sessionRegistry.js +148 -0
- package/dist/ai/sessionRegistry.js.map +1 -0
- package/dist/connection/connection.d.ts +24 -6
- package/dist/connection/connection.d.ts.map +1 -1
- package/dist/connection/connection.js +85 -13
- package/dist/connection/connection.js.map +1 -1
- package/dist/connection/pubsub.d.ts +41 -0
- package/dist/connection/pubsub.d.ts.map +1 -0
- package/dist/connection/pubsub.js +101 -0
- package/dist/connection/pubsub.js.map +1 -0
- package/dist/connection/pubsub.test.d.ts +2 -0
- package/dist/connection/pubsub.test.d.ts.map +1 -0
- package/dist/connection/pubsub.test.js +96 -0
- package/dist/connection/pubsub.test.js.map +1 -0
- package/dist/git/operations.d.ts +6 -1
- package/dist/git/operations.d.ts.map +1 -1
- package/dist/git/operations.js +31 -2
- package/dist/git/operations.js.map +1 -1
- package/dist/handlers/messageHandler.d.ts +25 -5
- package/dist/handlers/messageHandler.d.ts.map +1 -1
- package/dist/handlers/messageHandler.js +266 -29
- package/dist/handlers/messageHandler.js.map +1 -1
- package/dist/handlers/messageHandler.test.js +1 -1
- package/dist/index.js +192 -41
- package/dist/index.js.map +1 -1
- package/dist/service/ensureDaemon.d.ts.map +1 -1
- package/dist/service/ensureDaemon.js +15 -2
- package/dist/service/ensureDaemon.js.map +1 -1
- package/dist/service/ipc.test.js +6 -6
- package/dist/service/ipcClient.js +1 -1
- package/dist/service/run.d.ts.map +1 -1
- package/dist/service/run.js +120 -11
- package/dist/service/run.js.map +1 -1
- package/dist/service/singleton.d.ts +4 -0
- package/dist/service/singleton.d.ts.map +1 -1
- package/dist/service/singleton.js +28 -2
- package/dist/service/singleton.js.map +1 -1
- package/dist/service/singleton.test.js +1 -1
- package/dist/service/types.d.ts +29 -0
- package/dist/service/types.d.ts.map +1 -1
- package/dist/service/types.js +11 -0
- package/dist/service/types.js.map +1 -1
- package/package.json +5 -3
- package/dist/ai/claudeCodeService.d.ts +0 -111
- package/dist/ai/claudeCodeService.d.ts.map +0 -1
- package/dist/ai/claudeCodeService.js +0 -764
- package/dist/ai/claudeCodeService.js.map +0 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A simple async iterable queue for multi-turn prompt delivery.
|
|
3
|
+
*
|
|
4
|
+
* Push values from the producer side; consumers iterate with `for await`.
|
|
5
|
+
* Calling `end()` signals the consumer that no more values will arrive.
|
|
6
|
+
*/
|
|
7
|
+
export declare class AsyncQueue<T> implements AsyncIterable<T> {
|
|
8
|
+
private queue;
|
|
9
|
+
private waiting;
|
|
10
|
+
private done;
|
|
11
|
+
/** Enqueue a value. If a consumer is already waiting, deliver immediately. */
|
|
12
|
+
push(value: T): void;
|
|
13
|
+
/** Signal that no more values will be pushed. */
|
|
14
|
+
end(): void;
|
|
15
|
+
[Symbol.asyncIterator](): AsyncIterator<T>;
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=asyncQueue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asyncQueue.d.ts","sourceRoot":"","sources":["../../src/ai/asyncQueue.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,qBAAa,UAAU,CAAC,CAAC,CAAE,YAAW,aAAa,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,OAAO,CAAqD;IACpE,OAAO,CAAC,IAAI,CAAS;IAErB,8EAA8E;IAC9E,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,IAAI;IAWpB,iDAAiD;IACjD,GAAG,IAAI,IAAI;IASX,CAAC,MAAM,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC;CAe3C"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A simple async iterable queue for multi-turn prompt delivery.
|
|
3
|
+
*
|
|
4
|
+
* Push values from the producer side; consumers iterate with `for await`.
|
|
5
|
+
* Calling `end()` signals the consumer that no more values will arrive.
|
|
6
|
+
*/
|
|
7
|
+
export class AsyncQueue {
|
|
8
|
+
queue = [];
|
|
9
|
+
waiting = null;
|
|
10
|
+
done = false;
|
|
11
|
+
/** Enqueue a value. If a consumer is already waiting, deliver immediately. */
|
|
12
|
+
push(value) {
|
|
13
|
+
if (this.done)
|
|
14
|
+
return;
|
|
15
|
+
if (this.waiting) {
|
|
16
|
+
const resolve = this.waiting;
|
|
17
|
+
this.waiting = null;
|
|
18
|
+
resolve({ value, done: false });
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
this.queue.push(value);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
/** Signal that no more values will be pushed. */
|
|
25
|
+
end() {
|
|
26
|
+
this.done = true;
|
|
27
|
+
if (this.waiting) {
|
|
28
|
+
const resolve = this.waiting;
|
|
29
|
+
this.waiting = null;
|
|
30
|
+
resolve({ value: undefined, done: true });
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
[Symbol.asyncIterator]() {
|
|
34
|
+
return {
|
|
35
|
+
next: () => {
|
|
36
|
+
if (this.queue.length > 0) {
|
|
37
|
+
return Promise.resolve({ value: this.queue.shift(), done: false });
|
|
38
|
+
}
|
|
39
|
+
if (this.done) {
|
|
40
|
+
return Promise.resolve({ value: undefined, done: true });
|
|
41
|
+
}
|
|
42
|
+
return new Promise((resolve) => {
|
|
43
|
+
this.waiting = resolve;
|
|
44
|
+
});
|
|
45
|
+
},
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=asyncQueue.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asyncQueue.js","sourceRoot":"","sources":["../../src/ai/asyncQueue.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,OAAO,UAAU;IACb,KAAK,GAAQ,EAAE,CAAC;IAChB,OAAO,GAAgD,IAAI,CAAC;IAC5D,IAAI,GAAG,KAAK,CAAC;IAErB,8EAA8E;IAC9E,IAAI,CAAC,KAAQ;QACX,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO;QACtB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,GAAG;QACD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,OAAO,CAAC,EAAE,KAAK,EAAE,SAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,CAAC;IACH,CAAC;IAED,CAAC,MAAM,CAAC,aAAa,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,GAA+B,EAAE;gBACrC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAG,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;gBACtE,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACd,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClE,CAAC;gBACD,OAAO,IAAI,OAAO,CAAoB,CAAC,OAAO,EAAE,EAAE;oBAChD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;gBACzB,CAAC,CAAC,CAAC;YACL,CAAC;SACF,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asyncQueue.test.d.ts","sourceRoot":"","sources":["../../src/ai/asyncQueue.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { describe, it, expect } from 'vitest';
|
|
2
|
+
import { AsyncQueue } from './asyncQueue.js';
|
|
3
|
+
describe('AsyncQueue', () => {
|
|
4
|
+
it('yields pushed values in order', async () => {
|
|
5
|
+
const q = new AsyncQueue();
|
|
6
|
+
q.push(1);
|
|
7
|
+
q.push(2);
|
|
8
|
+
q.push(3);
|
|
9
|
+
q.end();
|
|
10
|
+
const results = [];
|
|
11
|
+
for await (const v of q) {
|
|
12
|
+
results.push(v);
|
|
13
|
+
}
|
|
14
|
+
expect(results).toEqual([1, 2, 3]);
|
|
15
|
+
});
|
|
16
|
+
it('waits for values when consumed before push', async () => {
|
|
17
|
+
const q = new AsyncQueue();
|
|
18
|
+
// Start consuming in the background
|
|
19
|
+
const collected = [];
|
|
20
|
+
const consumer = (async () => {
|
|
21
|
+
for await (const v of q) {
|
|
22
|
+
collected.push(v);
|
|
23
|
+
}
|
|
24
|
+
})();
|
|
25
|
+
// Push values after a microtask delay
|
|
26
|
+
await Promise.resolve();
|
|
27
|
+
q.push('a');
|
|
28
|
+
await Promise.resolve();
|
|
29
|
+
q.push('b');
|
|
30
|
+
await Promise.resolve();
|
|
31
|
+
q.end();
|
|
32
|
+
await consumer;
|
|
33
|
+
expect(collected).toEqual(['a', 'b']);
|
|
34
|
+
});
|
|
35
|
+
it('end() terminates the iterator', async () => {
|
|
36
|
+
const q = new AsyncQueue();
|
|
37
|
+
q.end();
|
|
38
|
+
const results = [];
|
|
39
|
+
for await (const v of q) {
|
|
40
|
+
results.push(v);
|
|
41
|
+
}
|
|
42
|
+
expect(results).toEqual([]);
|
|
43
|
+
});
|
|
44
|
+
it('ignores pushes after end()', async () => {
|
|
45
|
+
const q = new AsyncQueue();
|
|
46
|
+
q.push(1);
|
|
47
|
+
q.end();
|
|
48
|
+
q.push(2); // should be ignored
|
|
49
|
+
const results = [];
|
|
50
|
+
for await (const v of q) {
|
|
51
|
+
results.push(v);
|
|
52
|
+
}
|
|
53
|
+
expect(results).toEqual([1]);
|
|
54
|
+
});
|
|
55
|
+
});
|
|
56
|
+
//# sourceMappingURL=asyncQueue.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asyncQueue.test.js","sourceRoot":"","sources":["../../src/ai/asyncQueue.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import type { Card, CardId, CardEvent, CardHistoryResponse, PendingInputAttachment } from '@sumicom/quicksave-shared';
|
|
2
|
+
export declare class StreamCardBuilder {
|
|
3
|
+
private sessionId;
|
|
4
|
+
private streamId;
|
|
5
|
+
private cwd;
|
|
6
|
+
private seq;
|
|
7
|
+
private cards;
|
|
8
|
+
/** tool_use_id → CardId, for pairing tool_result to ToolCallCard */
|
|
9
|
+
private toolUseIdToCardId;
|
|
10
|
+
/** agentId (task_id) → CardId, for matching subagent updates */
|
|
11
|
+
private agentIdToCardId;
|
|
12
|
+
/** Cards created for subagent permissions — removed after resolution. */
|
|
13
|
+
private ephemeralCards;
|
|
14
|
+
/** Current streaming assistant_text card (for append_text events) */
|
|
15
|
+
private currentTextCardId;
|
|
16
|
+
/** JSONL message count at the start of the current turn — history reads stop here. */
|
|
17
|
+
private _jsonlCutoff;
|
|
18
|
+
constructor(sessionId: string, streamId: string, cwd: string);
|
|
19
|
+
updateSessionId(sessionId: string): void;
|
|
20
|
+
/** Start a new turn: update streamId and reset per-turn state, keep accumulated cards. */
|
|
21
|
+
startNewTurn(streamId: string): void;
|
|
22
|
+
/** Clear all accumulated cards. Call after a turn completes and JSONL is flushed. */
|
|
23
|
+
clearCards(): void;
|
|
24
|
+
/** Snapshot current JSONL message count so history reads stop before the active turn. */
|
|
25
|
+
snapshotCutoff(): Promise<void>;
|
|
26
|
+
get jsonlCutoff(): number | null;
|
|
27
|
+
set jsonlCutoff(value: number | null);
|
|
28
|
+
private nextId;
|
|
29
|
+
private addEvent;
|
|
30
|
+
private updateEvent;
|
|
31
|
+
private appendTextEvent;
|
|
32
|
+
private removeEvent;
|
|
33
|
+
userMessage(text: string): CardEvent;
|
|
34
|
+
thinkingBlock(text: string): CardEvent;
|
|
35
|
+
/**
|
|
36
|
+
* Append text to current assistant_text card, or create a new one.
|
|
37
|
+
* Returns append_text event (hot path) or add event (new card).
|
|
38
|
+
*/
|
|
39
|
+
assistantText(text: string): CardEvent;
|
|
40
|
+
/** Mark the current assistant_text card as done streaming. */
|
|
41
|
+
finalizeAssistantText(): CardEvent | null;
|
|
42
|
+
/**
|
|
43
|
+
* Handle tool_use block from SDK stream.
|
|
44
|
+
* If the card was already pre-created via `toolCallFromPermission()`, confirm it.
|
|
45
|
+
* Otherwise create a new ToolCallCard.
|
|
46
|
+
*/
|
|
47
|
+
toolUse(toolName: string, toolInput: Record<string, unknown>, toolUseId: string): CardEvent;
|
|
48
|
+
/**
|
|
49
|
+
* Pre-create a ToolCallCard from canUseTool (fires before tool_use stream event).
|
|
50
|
+
* This eliminates the synthetic message hack.
|
|
51
|
+
*/
|
|
52
|
+
toolCallFromPermission(toolName: string, toolInput: Record<string, unknown>, toolUseId: string, pendingInput: PendingInputAttachment,
|
|
53
|
+
/** Ephemeral cards are removed after permission is resolved (subagent permissions). */
|
|
54
|
+
ephemeral?: boolean): CardEvent;
|
|
55
|
+
/** Attach a pending input to a subagent card (subagent permission). */
|
|
56
|
+
attachPendingToSubagent(agentId: string, pendingInput: PendingInputAttachment): CardEvent | null;
|
|
57
|
+
/** Clear pending input from a card. Ephemeral cards are removed entirely. */
|
|
58
|
+
clearPendingInput(requestId: string): CardEvent | null;
|
|
59
|
+
/** Find the card ID for a given requestId. */
|
|
60
|
+
findCardByRequestId(requestId: string): CardId | undefined;
|
|
61
|
+
/** Check if a tool card already exists for the given tool_use_id. */
|
|
62
|
+
hasToolCard(toolUseId: string): boolean;
|
|
63
|
+
/** Return all live cards (insertion order). Cards carry pendingInput if set. */
|
|
64
|
+
getCards(): Card[];
|
|
65
|
+
toolResult(toolUseId: string, content: string, isError: boolean): CardEvent | null;
|
|
66
|
+
subagentStart(description: string, agentId: string, toolUseId?: string): CardEvent;
|
|
67
|
+
subagentProgress(agentId: string, toolUseId: string | undefined, toolUseCount?: number, lastToolName?: string): CardEvent | null;
|
|
68
|
+
subagentEnd(agentId: string, toolUseId: string | undefined, status: 'completed' | 'failed' | 'stopped', summary?: string): CardEvent | null;
|
|
69
|
+
systemMessage(text: string, subtype?: 'compacted' | 'cost' | 'error' | 'info' | 'warning'): CardEvent;
|
|
70
|
+
errorMessage(text: string): CardEvent;
|
|
71
|
+
}
|
|
72
|
+
export declare function buildCardsFromHistory(sessionId: string, cwd: string, offset?: number, limit?: number, maxMessages?: number): Promise<CardHistoryResponse>;
|
|
73
|
+
//# sourceMappingURL=cardBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cardBuilder.d.ts","sourceRoot":"","sources":["../../src/ai/cardBuilder.ts"],"names":[],"mappings":"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"}
|