@jingyi0605/codingns 0.1.5 → 0.2.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/public/assets/{TerminalPage-4p6EBqrR.js → TerminalPage-BlbQuWi1.js} +1 -1
- package/dist/public/assets/index-1VIm8lVL.css +1 -0
- package/dist/public/assets/index-Dti93O2S.js +109 -0
- package/dist/public/index.html +2 -2
- package/dist/server/config/env.d.ts +1 -0
- package/dist/server/config/env.js +5 -1
- package/dist/server/config/env.js.map +1 -1
- package/dist/server/modules/file/file-controller.d.ts +12 -1
- package/dist/server/modules/file/file-controller.js +72 -1
- package/dist/server/modules/file/file-controller.js.map +1 -1
- package/dist/server/modules/file/file-preview-link-service.d.ts +22 -0
- package/dist/server/modules/file/file-preview-link-service.js +160 -0
- package/dist/server/modules/file/file-preview-link-service.js.map +1 -0
- package/dist/server/modules/sessions/codex-app-server-helper-client.d.ts +2 -1
- package/dist/server/modules/sessions/codex-app-server-helper-client.js +103 -0
- package/dist/server/modules/sessions/codex-app-server-helper-client.js.map +1 -1
- package/dist/server/modules/sessions/codex-app-server-helper-process.js +106 -1
- package/dist/server/modules/sessions/codex-app-server-helper-process.js.map +1 -1
- package/dist/server/modules/sessions/session-controller.d.ts +21 -0
- package/dist/server/modules/sessions/session-controller.js +23 -1
- package/dist/server/modules/sessions/session-controller.js.map +1 -1
- package/dist/server/modules/sessions/session-history-service.d.ts +34 -2
- package/dist/server/modules/sessions/session-history-service.js +591 -27
- package/dist/server/modules/sessions/session-history-service.js.map +1 -1
- package/dist/server/modules/sessions/session-live-runtime-service.d.ts +5 -0
- package/dist/server/modules/sessions/session-live-runtime-service.js +59 -2
- package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
- package/dist/server/modules/sessions/session-provider-error-mapper.js +66 -0
- package/dist/server/modules/sessions/session-provider-error-mapper.js.map +1 -1
- package/dist/server/routes/files.js +2 -0
- package/dist/server/routes/files.js.map +1 -1
- package/dist/server/routes/sessions.js +1 -0
- package/dist/server/routes/sessions.js.map +1 -1
- package/dist/server/server/create-server.d.ts +4 -0
- package/dist/server/server/create-server.js +7 -2
- package/dist/server/server/create-server.js.map +1 -1
- package/dist/server/shared/utils/command-availability.d.ts +1 -0
- package/dist/server/shared/utils/command-availability.js +83 -0
- package/dist/server/shared/utils/command-availability.js.map +1 -0
- package/dist/server/storage/repositories/session-fork-repository.d.ts +8 -0
- package/dist/server/storage/repositories/session-fork-repository.js +69 -0
- package/dist/server/storage/repositories/session-fork-repository.js.map +1 -0
- package/dist/server/storage/repositories/session-index-repository.js +40 -2
- package/dist/server/storage/repositories/session-index-repository.js.map +1 -1
- package/dist/server/storage/sqlite/client.js +107 -0
- package/dist/server/storage/sqlite/client.js.map +1 -1
- package/dist/server/storage/sqlite/schema.sql +30 -0
- package/dist/server/types/domain.d.ts +25 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.d.ts +6 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js +228 -7
- package/node_modules/@codingns/session-sync-core/dist/providers/claude-code.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.d.ts +26 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +495 -2
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/gemini.js +94 -5
- package/node_modules/@codingns/session-sync-core/dist/providers/gemini.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.d.ts +5 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +269 -3
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/utils.d.ts +1 -0
- package/node_modules/@codingns/session-sync-core/dist/providers/utils.js +117 -17
- package/node_modules/@codingns/session-sync-core/dist/providers/utils.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.d.ts +10 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js +128 -8
- package/node_modules/@codingns/session-sync-core/dist/runtime/codex-runtime.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/services.d.ts +2 -1
- package/node_modules/@codingns/session-sync-core/dist/services.js +55 -8
- package/node_modules/@codingns/session-sync-core/dist/services.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/types.d.ts +27 -0
- package/package.json +1 -1
- package/dist/public/assets/index-CxeghocY.css +0 -1
- package/dist/public/assets/index-DXusStl0.js +0 -108
|
@@ -6,20 +6,60 @@ export class SessionSyncService {
|
|
|
6
6
|
this.registry = registry;
|
|
7
7
|
}
|
|
8
8
|
async discoverWorkspaceSessions(workspacePath, options) {
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
9
|
+
const providers = this.registry.list();
|
|
10
|
+
const diagnostics = [];
|
|
11
|
+
const results = await Promise.allSettled(providers.map(async (provider) => {
|
|
12
|
+
const startedAt = Date.now();
|
|
13
|
+
try {
|
|
14
|
+
if (provider.detectSessionsDetailed) {
|
|
15
|
+
const discovery = await provider.detectSessionsDetailed(workspacePath, options);
|
|
16
|
+
diagnostics.push({
|
|
17
|
+
provider: provider.providerId,
|
|
18
|
+
status: discovery.isComplete ? "success" : "partial",
|
|
19
|
+
durationMs: Date.now() - startedAt,
|
|
20
|
+
sessionCount: discovery.sessions.length,
|
|
21
|
+
isComplete: discovery.isComplete,
|
|
22
|
+
errorMessage: null
|
|
23
|
+
});
|
|
24
|
+
return discovery;
|
|
25
|
+
}
|
|
26
|
+
const discovery = {
|
|
27
|
+
sessions: await provider.detectSessions(workspacePath, options),
|
|
28
|
+
isComplete: true
|
|
29
|
+
};
|
|
30
|
+
diagnostics.push({
|
|
31
|
+
provider: provider.providerId,
|
|
32
|
+
status: "success",
|
|
33
|
+
durationMs: Date.now() - startedAt,
|
|
34
|
+
sessionCount: discovery.sessions.length,
|
|
35
|
+
isComplete: discovery.isComplete,
|
|
36
|
+
errorMessage: null
|
|
37
|
+
});
|
|
38
|
+
return discovery;
|
|
39
|
+
}
|
|
40
|
+
catch (error) {
|
|
41
|
+
diagnostics.push({
|
|
42
|
+
provider: provider.providerId,
|
|
43
|
+
status: "failed",
|
|
44
|
+
durationMs: Date.now() - startedAt,
|
|
45
|
+
sessionCount: 0,
|
|
46
|
+
isComplete: false,
|
|
47
|
+
errorMessage: error instanceof Error ? error.message : String(error)
|
|
48
|
+
});
|
|
49
|
+
throw error;
|
|
12
50
|
}
|
|
13
|
-
return {
|
|
14
|
-
sessions: await provider.detectSessions(workspacePath, options),
|
|
15
|
-
isComplete: true
|
|
16
|
-
};
|
|
17
51
|
}));
|
|
52
|
+
const discoveries = results
|
|
53
|
+
.filter((result) => result.status === "fulfilled")
|
|
54
|
+
.map((result) => result.value);
|
|
18
55
|
return {
|
|
19
56
|
sessions: discoveries
|
|
20
57
|
.flatMap((discovery) => discovery.sessions)
|
|
21
58
|
.sort((left, right) => (right.lastMessageAt ?? "").localeCompare(left.lastMessageAt ?? "")),
|
|
22
|
-
|
|
59
|
+
// 任何一个 provider 没拿全,或者直接失败,这次发现都只能算部分成功。
|
|
60
|
+
isComplete: results.length > 0
|
|
61
|
+
&& results.every((result) => result.status === "fulfilled" && result.value.isComplete),
|
|
62
|
+
providerDiagnostics: diagnostics.sort((left, right) => left.provider.localeCompare(right.provider))
|
|
23
63
|
};
|
|
24
64
|
}
|
|
25
65
|
async readHistory(providerId, providerSessionId, rawStoreRef, cursor, limit, direction = "forward") {
|
|
@@ -46,6 +86,13 @@ export class SessionSyncService {
|
|
|
46
86
|
async startSession(providerId, workspacePath, options) {
|
|
47
87
|
return this.registry.get(providerId).startSession(workspacePath, options);
|
|
48
88
|
}
|
|
89
|
+
async forkSession(providerId, providerSessionId, workspacePath, options) {
|
|
90
|
+
const provider = this.registry.get(providerId);
|
|
91
|
+
if (!provider.forkSession) {
|
|
92
|
+
throw new Error("PROVIDER_FORK_NOT_SUPPORTED");
|
|
93
|
+
}
|
|
94
|
+
return provider.forkSession(providerSessionId, workspacePath, options);
|
|
95
|
+
}
|
|
49
96
|
async sendMessage(providerId, providerSessionId, rawStoreRef, content, clientRequestId, permissionMode) {
|
|
50
97
|
return this.registry
|
|
51
98
|
.get(providerId)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"services.js","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"services.js","sourceRoot":"","sources":["../src/services.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,9 @@ export type SyncStatus = "idle" | "syncing" | "error";
|
|
|
7
7
|
export type MessageKind = "text" | "thinking" | "tool_call" | "tool_result";
|
|
8
8
|
export type HistoryDirection = "forward" | "backward";
|
|
9
9
|
export type InRunInputMode = "none" | "streaming_guidance" | "queued_guidance";
|
|
10
|
+
export type ForkSourceType = "session" | "message";
|
|
11
|
+
export type ForkMethod = "native_session_fork" | "native_message_fork" | "reconstructed_session_fork" | "reconstructed_message_fork";
|
|
12
|
+
export type ForkStrategy = "auto" | "native-only" | "reconstruct-only";
|
|
10
13
|
export interface NormalizedMessageAttachment {
|
|
11
14
|
id: string;
|
|
12
15
|
kind: "image";
|
|
@@ -85,9 +88,19 @@ export interface ProviderArchiveUpdateResult {
|
|
|
85
88
|
rawStoreRef: string;
|
|
86
89
|
isArchived: boolean;
|
|
87
90
|
}
|
|
91
|
+
export type ProviderDiscoveryStatus = "success" | "partial" | "failed";
|
|
92
|
+
export interface ProviderDiscoveryDiagnostic {
|
|
93
|
+
provider: ProviderId;
|
|
94
|
+
status: ProviderDiscoveryStatus;
|
|
95
|
+
durationMs: number;
|
|
96
|
+
sessionCount: number;
|
|
97
|
+
isComplete: boolean;
|
|
98
|
+
errorMessage?: string | null;
|
|
99
|
+
}
|
|
88
100
|
export interface ProviderSessionDiscovery {
|
|
89
101
|
sessions: ProviderSessionSummary[];
|
|
90
102
|
isComplete: boolean;
|
|
103
|
+
providerDiagnostics?: ProviderDiscoveryDiagnostic[];
|
|
91
104
|
}
|
|
92
105
|
export interface DetectSessionsOptions {
|
|
93
106
|
knownSessions?: ProviderSessionSummary[];
|
|
@@ -133,6 +146,19 @@ export interface SendMessageResult {
|
|
|
133
146
|
clientRequestId: string | null;
|
|
134
147
|
message: NormalizedMessage;
|
|
135
148
|
}
|
|
149
|
+
export interface ForkSessionOptions {
|
|
150
|
+
rawStoreRef: string;
|
|
151
|
+
sourceType: ForkSourceType;
|
|
152
|
+
sourceMessageId?: string | null;
|
|
153
|
+
strategy?: ForkStrategy;
|
|
154
|
+
}
|
|
155
|
+
export interface ForkSessionResult {
|
|
156
|
+
session: ProviderSessionSummary;
|
|
157
|
+
forkMethod: ForkMethod;
|
|
158
|
+
forkSourceType: ForkSourceType;
|
|
159
|
+
inheritedPrefixMessageCount: number;
|
|
160
|
+
providerSourceMessageId?: string | null;
|
|
161
|
+
}
|
|
136
162
|
export interface ProviderSubscription {
|
|
137
163
|
close(): void;
|
|
138
164
|
}
|
|
@@ -145,6 +171,7 @@ export interface ProviderAdapter {
|
|
|
145
171
|
subscribeSession(providerSessionId: string, rawStoreRef: string, cursor: string | null, limit: number, onEvent: (event: ProviderRealtimeEvent) => Promise<void> | void): ProviderSubscription;
|
|
146
172
|
resumeSession(providerSessionId: string, rawStoreRef: string): Promise<ResumeSessionResult>;
|
|
147
173
|
startSession(workspacePath: string, options: StartSessionOptions): Promise<StartSessionResult>;
|
|
174
|
+
forkSession?(providerSessionId: string, workspacePath: string, options: ForkSessionOptions): Promise<ForkSessionResult>;
|
|
148
175
|
sendMessage(providerSessionId: string, rawStoreRef: string, content: string, clientRequestId: string | null, permissionMode?: string | null): Promise<SendMessageResult>;
|
|
149
176
|
readSessionTitle(providerSessionId: string, rawStoreRef: string): Promise<string>;
|
|
150
177
|
renameSessionTitle(providerSessionId: string, rawStoreRef: string, title: string): Promise<string>;
|