@jingyi0605/codingns 0.6.5 → 0.7.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/AdaptiveButlerPage-B8mg25ze.js +3 -0
- package/dist/public/assets/{App-B9HcTkMT.js → App-C2lNmeKL.js} +6 -6
- package/dist/public/assets/{BootstrapPage-BgLdZEKQ.js → BootstrapPage-CAVA-a8h.js} +1 -1
- package/dist/public/assets/ConversationPage-B6BGOX4C.js +6 -0
- package/dist/public/assets/{DesktopDetachPreviewPage-YCBnyC58.js → DesktopDetachPreviewPage-B37DUL15.js} +1 -1
- package/dist/public/assets/{DesktopWindowPage-CrvndE23.js → DesktopWindowPage-CDA6l7lm.js} +1 -1
- package/dist/public/assets/{FileContextPanel-CdC7GGw5.js → FileContextPanel-CMGTtAB6.js} +1 -1
- package/dist/public/assets/{GitSidebar-z2SBinQh.js → GitSidebar--DCqBiGL.js} +1 -1
- package/dist/public/assets/{MobileCreateSessionSheet-Cb2HM-y3.js → MobileCreateSessionSheet-THIrIzJ3.js} +1 -1
- package/dist/public/assets/{MobileTopHeaderFrame-etF2HKlm.js → MobileTopHeaderFrame-D-X7pVnV.js} +1 -1
- package/dist/public/assets/{MobileWorkspaceSwitcherHeader-CuGJ31kb.js → MobileWorkspaceSwitcherHeader-Cczi7RYu.js} +1 -1
- package/dist/public/assets/{RelayConnectEntryPage-BB6DbGtP.js → RelayConnectEntryPage-D417tgWj.js} +1 -1
- package/dist/public/assets/{ServerSettingsModal-Bl1sacZg.js → ServerSettingsModal-BdTxbRbU.js} +1 -1
- package/dist/public/assets/SessionIndexPage-D5iefVcc.js +1 -0
- package/dist/public/assets/SettingsPage-iCFe_DHP.js +2 -0
- package/dist/public/assets/{TerminalManagerPanel-BOm8Hi_v.js → TerminalManagerPanel-CtldwWz8.js} +1 -1
- package/dist/public/assets/{TerminalPage-B5JNFU6w.js → TerminalPage-DAzQTmQC.js} +18 -18
- package/dist/public/assets/{TerminalRuntimeFallbackModal-CM3LRKOJ.js → TerminalRuntimeFallbackModal-DLOhAvaq.js} +1 -1
- package/dist/public/assets/{ToolFilesPage-GSqKQsj_.js → ToolFilesPage-D7thcDEv.js} +1 -1
- package/dist/public/assets/{ToolGitPage-BVFWMMQp.js → ToolGitPage-uPRsxdcn.js} +1 -1
- package/dist/public/assets/{ToolProcessesPage-DZ456fYz.js → ToolProcessesPage-B1uOk0Ef.js} +1 -1
- package/dist/public/assets/{ToolsHomePage-DsJp0y8A.js → ToolsHomePage-rU3V8mmh.js} +1 -1
- package/dist/public/assets/{WorkbenchLandingPage-DyPei0e-.js → WorkbenchLandingPage-BudM2C69.js} +1 -1
- package/dist/public/assets/WorkbenchLayout-Dybarc1V.js +244 -0
- package/dist/public/assets/{WorkbenchModal-LNfB69qx.js → WorkbenchModal-DMQutm1x.js} +1 -1
- package/dist/public/assets/WorkbenchShellRoute-Cy4WBbzq.js +1 -0
- package/dist/public/assets/{WorkspaceDebugDetailPage-CaXj5zVI.js → WorkspaceDebugDetailPage-CHqo-uDf.js} +1 -1
- package/dist/public/assets/{WorkspaceDetailPage-DOexuuaw.js → WorkspaceDetailPage-CGkAH1W-.js} +1 -1
- package/dist/public/assets/{WorkspaceHomePage-DkCHNjKD.js → WorkspaceHomePage-CfuPVITd.js} +1 -1
- package/dist/public/assets/{client-runtime-manager-6OoYHXGd.js → client-runtime-manager-CKbtaemV.js} +1 -1
- package/dist/public/assets/file-tree-icon-Bc0KADEl.js +3 -0
- package/dist/public/assets/index-DNRyROOG.css +1 -0
- package/dist/public/assets/index-oGylLBIX.js +42 -0
- package/dist/public/assets/{login-direct-candidate-resolver-CLlYtBRq.js → login-direct-candidate-resolver-DjJMbqB7.js} +1 -1
- package/dist/public/assets/model-switch-api-T55eW6D4.js +1 -0
- package/dist/public/assets/{preferences-service-BCcfYP_d.js → preferences-service-BTKBl5xM.js} +1 -1
- package/dist/public/assets/realtime-client-ww7MnbTD.js +1 -0
- package/dist/public/assets/{relay-entry-BmLkMKuq.js → relay-entry-sdeFnTbY.js} +1 -1
- package/dist/public/assets/styles-BjPytabP.css +1 -0
- package/dist/public/assets/{terminal-runtime-meta-0h-75uRy.js → terminal-runtime-meta-Cvt1ID92.js} +1 -1
- package/dist/public/assets/{useRegisteredDebugTemplates-rBVmAqh3.js → useRegisteredDebugTemplates-O-ymgLd9.js} +1 -1
- package/dist/public/index.html +2 -2
- package/dist/server/config/env.js +21 -1
- package/dist/server/config/env.js.map +1 -1
- package/dist/server/config/opencode-base-url-resolver.d.ts +16 -0
- package/dist/server/config/opencode-base-url-resolver.js +154 -0
- package/dist/server/config/opencode-base-url-resolver.js.map +1 -1
- package/dist/server/helpers/wechat-claw-runtime/main.d.ts +1 -0
- package/dist/server/helpers/wechat-claw-runtime/main.js +38 -0
- package/dist/server/helpers/wechat-claw-runtime/main.js.map +1 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/errors.d.ts +5 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/errors.js +32 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/errors.js.map +1 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/login-service.d.ts +16 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/login-service.js +209 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/login-service.js.map +1 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/poll-service.d.ts +18 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/poll-service.js +135 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/poll-service.js.map +1 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/runtime-state-store.d.ts +34 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/runtime-state-store.js +394 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/runtime-state-store.js.map +1 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/send-service.d.ts +9 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/send-service.js +64 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/send-service.js.map +1 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/types.d.ts +167 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/types.js +3 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/types.js.map +1 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/wechat-api-client.d.ts +34 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/wechat-api-client.js +160 -0
- package/dist/server/helpers/wechat-claw-runtime/modules/wechat-api-client.js.map +1 -0
- package/dist/server/helpers/wechat-claw-runtime/routes/accounts.d.ts +9 -0
- package/dist/server/helpers/wechat-claw-runtime/routes/accounts.js +24 -0
- package/dist/server/helpers/wechat-claw-runtime/routes/accounts.js.map +1 -0
- package/dist/server/helpers/wechat-claw-runtime/server.d.ts +5 -0
- package/dist/server/helpers/wechat-claw-runtime/server.js +36 -0
- package/dist/server/helpers/wechat-claw-runtime/server.js.map +1 -0
- package/dist/server/middlewares/auth-guard.js +4 -1
- package/dist/server/middlewares/auth-guard.js.map +1 -1
- package/dist/server/modules/butler/butler-control-session-service.d.ts +16 -1
- package/dist/server/modules/butler/butler-control-session-service.js +106 -75
- package/dist/server/modules/butler/butler-control-session-service.js.map +1 -1
- package/dist/server/modules/butler/butler-session-service.js +44 -15
- package/dist/server/modules/butler/butler-session-service.js.map +1 -1
- package/dist/server/modules/channels/channel-bridge-service.d.ts +55 -0
- package/dist/server/modules/channels/channel-bridge-service.js +340 -0
- package/dist/server/modules/channels/channel-bridge-service.js.map +1 -0
- package/dist/server/modules/channels/channel-controller.d.ts +52 -0
- package/dist/server/modules/channels/channel-controller.js +54 -0
- package/dist/server/modules/channels/channel-controller.js.map +1 -0
- package/dist/server/modules/channels/channel-delivery-service.d.ts +63 -0
- package/dist/server/modules/channels/channel-delivery-service.js +429 -0
- package/dist/server/modules/channels/channel-delivery-service.js.map +1 -0
- package/dist/server/modules/channels/channel-gateway-controller.d.ts +15 -0
- package/dist/server/modules/channels/channel-gateway-controller.js +16 -0
- package/dist/server/modules/channels/channel-gateway-controller.js.map +1 -0
- package/dist/server/modules/channels/channel-gateway-service.d.ts +24 -0
- package/dist/server/modules/channels/channel-gateway-service.js +56 -0
- package/dist/server/modules/channels/channel-gateway-service.js.map +1 -0
- package/dist/server/modules/channels/channel-platform-adapters.d.ts +46 -0
- package/dist/server/modules/channels/channel-platform-adapters.js +315 -0
- package/dist/server/modules/channels/channel-platform-adapters.js.map +1 -0
- package/dist/server/modules/channels/channel-platform-catalog.d.ts +3 -0
- package/dist/server/modules/channels/channel-platform-catalog.js +42 -0
- package/dist/server/modules/channels/channel-platform-catalog.js.map +1 -0
- package/dist/server/modules/channels/channel-polling-scheduler.d.ts +31 -0
- package/dist/server/modules/channels/channel-polling-scheduler.js +93 -0
- package/dist/server/modules/channels/channel-polling-scheduler.js.map +1 -0
- package/dist/server/modules/channels/channel-polling-service.d.ts +46 -0
- package/dist/server/modules/channels/channel-polling-service.js +176 -0
- package/dist/server/modules/channels/channel-polling-service.js.map +1 -0
- package/dist/server/modules/channels/channel-service.d.ts +108 -0
- package/dist/server/modules/channels/channel-service.js +397 -0
- package/dist/server/modules/channels/channel-service.js.map +1 -0
- package/dist/server/modules/channels/wechat-claw-client.d.ts +51 -0
- package/dist/server/modules/channels/wechat-claw-client.js +245 -0
- package/dist/server/modules/channels/wechat-claw-client.js.map +1 -0
- package/dist/server/modules/channels/wechat-claw-runtime-boundary.d.ts +4 -0
- package/dist/server/modules/channels/wechat-claw-runtime-boundary.js +13 -0
- package/dist/server/modules/channels/wechat-claw-runtime-boundary.js.map +1 -0
- package/dist/server/modules/channels/wechat-claw-runtime-client.d.ts +14 -0
- package/dist/server/modules/channels/wechat-claw-runtime-client.js +95 -0
- package/dist/server/modules/channels/wechat-claw-runtime-client.js.map +1 -0
- package/dist/server/modules/channels/wechat-claw-runtime-manager.d.ts +16 -0
- package/dist/server/modules/channels/wechat-claw-runtime-manager.js +133 -0
- package/dist/server/modules/channels/wechat-claw-runtime-manager.js.map +1 -0
- package/dist/server/modules/channels/wechat-claw-runtime-types.d.ts +1 -0
- package/dist/server/modules/channels/wechat-claw-runtime-types.js +2 -0
- package/dist/server/modules/channels/wechat-claw-runtime-types.js.map +1 -0
- package/dist/server/modules/opencli/opencli-bridge-skill-service.js +2 -1
- package/dist/server/modules/opencli/opencli-bridge-skill-service.js.map +1 -1
- package/dist/server/modules/provider/provider-catalog-service.d.ts +5 -6
- package/dist/server/modules/provider/provider-catalog-service.js +12 -57
- package/dist/server/modules/provider/provider-catalog-service.js.map +1 -1
- package/dist/server/modules/provider/provider-controller.d.ts +1 -0
- package/dist/server/modules/provider/provider-controller.js +5 -0
- package/dist/server/modules/provider/provider-controller.js.map +1 -1
- package/dist/server/modules/provider/provider-runtime-state-service.d.ts +24 -0
- package/dist/server/modules/provider/provider-runtime-state-service.js +141 -0
- package/dist/server/modules/provider/provider-runtime-state-service.js.map +1 -0
- package/dist/server/modules/sessions/session-history-service.d.ts +3 -3
- package/dist/server/modules/sessions/session-history-service.js +150 -47
- package/dist/server/modules/sessions/session-history-service.js.map +1 -1
- package/dist/server/modules/sessions/session-live-runtime-service.js +9 -11
- package/dist/server/modules/sessions/session-live-runtime-service.js.map +1 -1
- package/dist/server/modules/sessions/session-provider-config-service.d.ts +1 -0
- package/dist/server/modules/sessions/session-provider-config-service.js +28 -7
- package/dist/server/modules/sessions/session-provider-config-service.js.map +1 -1
- package/dist/server/modules/sessions/session-provider-error-mapper.js +7 -0
- package/dist/server/modules/sessions/session-provider-error-mapper.js.map +1 -1
- package/dist/server/modules/tasks/task-types.d.ts +2 -0
- package/dist/server/modules/tasks/task-types.js +2 -0
- package/dist/server/modules/tasks/task-types.js.map +1 -1
- package/dist/server/routes/channels.d.ts +3 -0
- package/dist/server/routes/channels.js +16 -0
- package/dist/server/routes/channels.js.map +1 -0
- package/dist/server/routes/providers.js +1 -0
- package/dist/server/routes/providers.js.map +1 -1
- package/dist/server/routes/public.d.ts +2 -1
- package/dist/server/routes/public.js +3 -1
- package/dist/server/routes/public.js.map +1 -1
- package/dist/server/server/create-server.d.ts +22 -0
- package/dist/server/server/create-server.js +62 -3
- package/dist/server/server/create-server.js.map +1 -1
- package/dist/server/shared/http/error-handler.js +59 -3
- package/dist/server/shared/http/error-handler.js.map +1 -1
- package/dist/server/storage/repositories/channel-account-repository.d.ts +12 -0
- package/dist/server/storage/repositories/channel-account-repository.js +153 -0
- package/dist/server/storage/repositories/channel-account-repository.js.map +1 -0
- package/dist/server/storage/repositories/channel-delivery-repository.d.ts +13 -0
- package/dist/server/storage/repositories/channel-delivery-repository.js +156 -0
- package/dist/server/storage/repositories/channel-delivery-repository.js.map +1 -0
- package/dist/server/storage/repositories/channel-inbound-event-repository.d.ts +12 -0
- package/dist/server/storage/repositories/channel-inbound-event-repository.js +144 -0
- package/dist/server/storage/repositories/channel-inbound-event-repository.js.map +1 -0
- package/dist/server/storage/repositories/channel-thread-repository.d.ts +12 -0
- package/dist/server/storage/repositories/channel-thread-repository.js +152 -0
- package/dist/server/storage/repositories/channel-thread-repository.js.map +1 -0
- package/dist/server/storage/repositories/provider-runtime-state-repository.d.ts +9 -0
- package/dist/server/storage/repositories/provider-runtime-state-repository.js +50 -0
- package/dist/server/storage/repositories/provider-runtime-state-repository.js.map +1 -0
- package/dist/server/storage/sqlite/schema.sql +114 -0
- package/dist/server/types/domain.d.ts +82 -0
- package/dist/server/ws/workbench-ws-hub.js +8 -2
- package/dist/server/ws/workbench-ws-hub.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js +28 -11
- package/node_modules/@codingns/session-sync-core/dist/providers/codex.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js +61 -8
- package/node_modules/@codingns/session-sync-core/dist/providers/opencode.js.map +1 -1
- package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.d.ts +3 -0
- package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js +94 -21
- package/node_modules/@codingns/session-sync-core/dist/runtime/opencode-runtime.js.map +1 -1
- package/package.json +1 -1
- package/dist/public/assets/AdaptiveButlerPage-CfsUVZKl.js +0 -3
- package/dist/public/assets/ConversationPage-Cj8go7L0.js +0 -4
- package/dist/public/assets/SessionIndexPage-NbF9gJnp.js +0 -1
- package/dist/public/assets/SettingsPage-DGsmQpLv.js +0 -1
- package/dist/public/assets/WorkbenchLayout-DlbgBT3n.js +0 -4
- package/dist/public/assets/WorkbenchShellRoute-BsxumYx5.js +0 -1
- package/dist/public/assets/file-tree-icon-9pt1OStn.js +0 -31
- package/dist/public/assets/index-BwlbvwaA.css +0 -1
- package/dist/public/assets/index-DSw-TkQL.js +0 -42
- package/dist/public/assets/model-switch-api-C-l8-E1S.js +0 -1
- package/dist/public/assets/session-runtime-machine-DgtvREca.js +0 -21
- package/dist/public/assets/styles-CsEMfdaS.css +0 -1
- /package/dist/public/assets/{styles-DRVvx_kv.js → styles-lhQGDlPF.js} +0 -0
|
@@ -8,6 +8,9 @@ interface OpenCodeBaseUrlResolverOptions {
|
|
|
8
8
|
probeBaseUrl?: (baseUrl: string) => Promise<boolean>;
|
|
9
9
|
now?: () => number;
|
|
10
10
|
managedServerRetryCooldownMs?: number;
|
|
11
|
+
managedServerIdleTimeoutMs?: number;
|
|
12
|
+
managedServerDisposeGraceMs?: number;
|
|
13
|
+
disposeManagedServerInstance?: (baseUrl: string) => Promise<void>;
|
|
11
14
|
}
|
|
12
15
|
interface ResolveBaseUrlInput {
|
|
13
16
|
refresh?: boolean;
|
|
@@ -27,17 +30,25 @@ export declare class OpenCodeBaseUrlResolver {
|
|
|
27
30
|
private readonly probeBaseUrl;
|
|
28
31
|
private readonly now;
|
|
29
32
|
private readonly managedServerRetryCooldownMs;
|
|
33
|
+
private readonly managedServerIdleTimeoutMs;
|
|
34
|
+
private readonly managedServerDisposeGraceMs;
|
|
35
|
+
private readonly disposeManagedServerInstance;
|
|
30
36
|
private readonly cachedBaseUrlByWorkspaceKey;
|
|
31
37
|
private readonly cachedAtByWorkspaceKey;
|
|
32
38
|
private readonly inflightByWorkspaceKey;
|
|
33
39
|
private readonly managedServerBaseUrlByWorkspaceKey;
|
|
34
40
|
private readonly managedServerProcessByWorkspaceKey;
|
|
41
|
+
private readonly managedServerIdleTimerByWorkspaceKey;
|
|
42
|
+
private readonly managedServerLeaseIdsByWorkspaceKey;
|
|
43
|
+
private readonly managedServerLastUsedAtByWorkspaceKey;
|
|
35
44
|
private readonly managedServerInflightByWorkspaceKey;
|
|
36
45
|
private readonly managedServerRetryBlockedUntilByWorkspaceKey;
|
|
37
46
|
private disposed;
|
|
38
47
|
constructor(options?: OpenCodeBaseUrlResolverOptions);
|
|
39
48
|
resolve(input?: ResolveBaseUrlInput): Promise<string>;
|
|
40
49
|
listReachableBaseUrls(input?: ResolveBaseUrlInput): Promise<string[]>;
|
|
50
|
+
acquireManagedServerLease(workspacePath: string): string;
|
|
51
|
+
releaseManagedServerLease(workspacePath: string, leaseId: string): void;
|
|
41
52
|
private discoverAvailableBaseUrl;
|
|
42
53
|
private collectCandidateBaseUrls;
|
|
43
54
|
private ensureManagedServerBaseUrl;
|
|
@@ -45,5 +56,10 @@ export declare class OpenCodeBaseUrlResolver {
|
|
|
45
56
|
dispose(): void;
|
|
46
57
|
private ensureNotDisposed;
|
|
47
58
|
private recordManagedServerFailure;
|
|
59
|
+
private noteManagedServerActivity;
|
|
60
|
+
private scheduleManagedServerIdleDisposal;
|
|
61
|
+
private clearManagedServerIdleTimer;
|
|
62
|
+
private disposeManagedServerIfIdle;
|
|
63
|
+
private getManagedServerLeaseCount;
|
|
48
64
|
}
|
|
49
65
|
export {};
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import { randomUUID } from "node:crypto";
|
|
1
2
|
import { spawn } from "node:child_process";
|
|
2
3
|
import { getSharedOpenCodeSystemProbeHelperClient } from "./opencode-system-probe-helper-client.js";
|
|
3
4
|
const DEFAULT_CACHE_TTL_MS = 5_000;
|
|
4
5
|
const DEFAULT_PROBE_TIMEOUT_MS = 800;
|
|
5
6
|
const DEFAULT_MANAGED_SERVER_RETRY_COOLDOWN_MS = 10_000;
|
|
7
|
+
const DEFAULT_MANAGED_SERVER_IDLE_TIMEOUT_MS = 120_000;
|
|
8
|
+
const DEFAULT_MANAGED_SERVER_DISPOSE_GRACE_MS = 2_000;
|
|
6
9
|
export class OpenCodeBaseUrlResolver {
|
|
7
10
|
configuredBaseUrl;
|
|
8
11
|
commandPath;
|
|
@@ -13,11 +16,17 @@ export class OpenCodeBaseUrlResolver {
|
|
|
13
16
|
probeBaseUrl;
|
|
14
17
|
now;
|
|
15
18
|
managedServerRetryCooldownMs;
|
|
19
|
+
managedServerIdleTimeoutMs;
|
|
20
|
+
managedServerDisposeGraceMs;
|
|
21
|
+
disposeManagedServerInstance;
|
|
16
22
|
cachedBaseUrlByWorkspaceKey = new Map();
|
|
17
23
|
cachedAtByWorkspaceKey = new Map();
|
|
18
24
|
inflightByWorkspaceKey = new Map();
|
|
19
25
|
managedServerBaseUrlByWorkspaceKey = new Map();
|
|
20
26
|
managedServerProcessByWorkspaceKey = new Map();
|
|
27
|
+
managedServerIdleTimerByWorkspaceKey = new Map();
|
|
28
|
+
managedServerLeaseIdsByWorkspaceKey = new Map();
|
|
29
|
+
managedServerLastUsedAtByWorkspaceKey = new Map();
|
|
21
30
|
managedServerInflightByWorkspaceKey = new Map();
|
|
22
31
|
managedServerRetryBlockedUntilByWorkspaceKey = new Map();
|
|
23
32
|
disposed = false;
|
|
@@ -37,6 +46,10 @@ export class OpenCodeBaseUrlResolver {
|
|
|
37
46
|
this.probeBaseUrl = options.probeBaseUrl ?? probeOpenCodeBaseUrl;
|
|
38
47
|
this.now = options.now ?? Date.now;
|
|
39
48
|
this.managedServerRetryCooldownMs = Math.max(1_000, Math.floor(options.managedServerRetryCooldownMs ?? DEFAULT_MANAGED_SERVER_RETRY_COOLDOWN_MS));
|
|
49
|
+
this.managedServerIdleTimeoutMs = Math.max(10, Math.floor(options.managedServerIdleTimeoutMs ?? DEFAULT_MANAGED_SERVER_IDLE_TIMEOUT_MS));
|
|
50
|
+
this.managedServerDisposeGraceMs = Math.max(0, Math.floor(options.managedServerDisposeGraceMs ?? DEFAULT_MANAGED_SERVER_DISPOSE_GRACE_MS));
|
|
51
|
+
this.disposeManagedServerInstance =
|
|
52
|
+
options.disposeManagedServerInstance ?? disposeManagedOpenCodeInstance;
|
|
40
53
|
}
|
|
41
54
|
async resolve(input = {}) {
|
|
42
55
|
this.ensureNotDisposed();
|
|
@@ -73,6 +86,35 @@ export class OpenCodeBaseUrlResolver {
|
|
|
73
86
|
}
|
|
74
87
|
return available;
|
|
75
88
|
}
|
|
89
|
+
acquireManagedServerLease(workspacePath) {
|
|
90
|
+
this.ensureNotDisposed();
|
|
91
|
+
const workspaceKey = normalizeWorkspaceKey(workspacePath);
|
|
92
|
+
const leaseId = randomUUID();
|
|
93
|
+
const existingLeaseIds = this.managedServerLeaseIdsByWorkspaceKey.get(workspaceKey) ?? new Set();
|
|
94
|
+
existingLeaseIds.add(leaseId);
|
|
95
|
+
this.managedServerLeaseIdsByWorkspaceKey.set(workspaceKey, existingLeaseIds);
|
|
96
|
+
this.noteManagedServerActivity(workspaceKey);
|
|
97
|
+
this.clearManagedServerIdleTimer(workspaceKey);
|
|
98
|
+
return leaseId;
|
|
99
|
+
}
|
|
100
|
+
releaseManagedServerLease(workspacePath, leaseId) {
|
|
101
|
+
if (this.disposed) {
|
|
102
|
+
return;
|
|
103
|
+
}
|
|
104
|
+
const workspaceKey = normalizeWorkspaceKey(workspacePath);
|
|
105
|
+
const existingLeaseIds = this.managedServerLeaseIdsByWorkspaceKey.get(workspaceKey);
|
|
106
|
+
if (!existingLeaseIds) {
|
|
107
|
+
return;
|
|
108
|
+
}
|
|
109
|
+
existingLeaseIds.delete(leaseId);
|
|
110
|
+
if (existingLeaseIds.size === 0) {
|
|
111
|
+
this.managedServerLeaseIdsByWorkspaceKey.delete(workspaceKey);
|
|
112
|
+
this.noteManagedServerActivity(workspaceKey);
|
|
113
|
+
this.scheduleManagedServerIdleDisposal(workspaceKey);
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
this.managedServerLeaseIdsByWorkspaceKey.set(workspaceKey, existingLeaseIds);
|
|
117
|
+
}
|
|
76
118
|
async discoverAvailableBaseUrl(workspacePath) {
|
|
77
119
|
const workspaceKey = normalizeWorkspaceKey(workspacePath);
|
|
78
120
|
const candidates = await this.collectCandidateBaseUrls(workspacePath);
|
|
@@ -80,6 +122,9 @@ export class OpenCodeBaseUrlResolver {
|
|
|
80
122
|
if (await this.probeBaseUrl(candidate)) {
|
|
81
123
|
this.cachedBaseUrlByWorkspaceKey.set(workspaceKey, candidate);
|
|
82
124
|
this.cachedAtByWorkspaceKey.set(workspaceKey, this.now());
|
|
125
|
+
if (candidate === this.managedServerBaseUrlByWorkspaceKey.get(workspaceKey)) {
|
|
126
|
+
this.noteManagedServerActivity(workspaceKey);
|
|
127
|
+
}
|
|
83
128
|
return candidate;
|
|
84
129
|
}
|
|
85
130
|
}
|
|
@@ -89,6 +134,7 @@ export class OpenCodeBaseUrlResolver {
|
|
|
89
134
|
this.managedServerBaseUrlByWorkspaceKey.set(workspaceKey, managedCandidate);
|
|
90
135
|
this.cachedBaseUrlByWorkspaceKey.set(workspaceKey, managedCandidate);
|
|
91
136
|
this.cachedAtByWorkspaceKey.set(workspaceKey, this.now());
|
|
137
|
+
this.noteManagedServerActivity(workspaceKey);
|
|
92
138
|
return managedCandidate;
|
|
93
139
|
}
|
|
94
140
|
}
|
|
@@ -167,10 +213,14 @@ export class OpenCodeBaseUrlResolver {
|
|
|
167
213
|
});
|
|
168
214
|
this.managedServerProcessByWorkspaceKey.set(workspaceKey, child);
|
|
169
215
|
this.managedServerRetryBlockedUntilByWorkspaceKey.delete(workspaceKey);
|
|
216
|
+
this.clearManagedServerIdleTimer(workspaceKey);
|
|
170
217
|
child.once("exit", () => {
|
|
171
218
|
if (this.managedServerProcessByWorkspaceKey.get(workspaceKey) === child) {
|
|
172
219
|
this.managedServerProcessByWorkspaceKey.delete(workspaceKey);
|
|
173
220
|
this.managedServerBaseUrlByWorkspaceKey.delete(workspaceKey);
|
|
221
|
+
this.managedServerLastUsedAtByWorkspaceKey.delete(workspaceKey);
|
|
222
|
+
this.managedServerLeaseIdsByWorkspaceKey.delete(workspaceKey);
|
|
223
|
+
this.clearManagedServerIdleTimer(workspaceKey);
|
|
174
224
|
}
|
|
175
225
|
});
|
|
176
226
|
return new Promise((resolve, reject) => {
|
|
@@ -190,6 +240,7 @@ export class OpenCodeBaseUrlResolver {
|
|
|
190
240
|
}
|
|
191
241
|
const baseUrl = normalizeBaseUrl(matched[1]) ?? matched[1];
|
|
192
242
|
this.managedServerBaseUrlByWorkspaceKey.set(workspaceKey, baseUrl);
|
|
243
|
+
this.noteManagedServerActivity(workspaceKey);
|
|
193
244
|
cleanup();
|
|
194
245
|
resolve(baseUrl);
|
|
195
246
|
return;
|
|
@@ -227,8 +278,14 @@ export class OpenCodeBaseUrlResolver {
|
|
|
227
278
|
this.cachedAtByWorkspaceKey.clear();
|
|
228
279
|
this.inflightByWorkspaceKey.clear();
|
|
229
280
|
this.managedServerBaseUrlByWorkspaceKey.clear();
|
|
281
|
+
this.managedServerLastUsedAtByWorkspaceKey.clear();
|
|
282
|
+
this.managedServerLeaseIdsByWorkspaceKey.clear();
|
|
230
283
|
this.managedServerInflightByWorkspaceKey.clear();
|
|
231
284
|
this.managedServerRetryBlockedUntilByWorkspaceKey.clear();
|
|
285
|
+
for (const timer of this.managedServerIdleTimerByWorkspaceKey.values()) {
|
|
286
|
+
clearTimeout(timer);
|
|
287
|
+
}
|
|
288
|
+
this.managedServerIdleTimerByWorkspaceKey.clear();
|
|
232
289
|
for (const child of this.managedServerProcessByWorkspaceKey.values()) {
|
|
233
290
|
if (!child.killed) {
|
|
234
291
|
child.kill("SIGTERM");
|
|
@@ -244,6 +301,77 @@ export class OpenCodeBaseUrlResolver {
|
|
|
244
301
|
recordManagedServerFailure(workspaceKey) {
|
|
245
302
|
this.managedServerRetryBlockedUntilByWorkspaceKey.set(workspaceKey, this.now() + this.managedServerRetryCooldownMs);
|
|
246
303
|
}
|
|
304
|
+
noteManagedServerActivity(workspaceKey) {
|
|
305
|
+
if (!this.managedServerProcessByWorkspaceKey.has(workspaceKey)) {
|
|
306
|
+
return;
|
|
307
|
+
}
|
|
308
|
+
this.managedServerLastUsedAtByWorkspaceKey.set(workspaceKey, this.now());
|
|
309
|
+
this.clearManagedServerIdleTimer(workspaceKey);
|
|
310
|
+
if (this.getManagedServerLeaseCount(workspaceKey) === 0) {
|
|
311
|
+
this.scheduleManagedServerIdleDisposal(workspaceKey);
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
scheduleManagedServerIdleDisposal(workspaceKey) {
|
|
315
|
+
if (this.disposed || this.getManagedServerLeaseCount(workspaceKey) > 0) {
|
|
316
|
+
return;
|
|
317
|
+
}
|
|
318
|
+
const child = this.managedServerProcessByWorkspaceKey.get(workspaceKey);
|
|
319
|
+
if (!isChildProcessAlive(child)) {
|
|
320
|
+
return;
|
|
321
|
+
}
|
|
322
|
+
const baseUrl = this.managedServerBaseUrlByWorkspaceKey.get(workspaceKey);
|
|
323
|
+
if (!baseUrl) {
|
|
324
|
+
return;
|
|
325
|
+
}
|
|
326
|
+
const lastUsedAt = this.managedServerLastUsedAtByWorkspaceKey.get(workspaceKey) ?? this.now();
|
|
327
|
+
this.clearManagedServerIdleTimer(workspaceKey);
|
|
328
|
+
const timer = setTimeout(() => {
|
|
329
|
+
void this.disposeManagedServerIfIdle(workspaceKey, lastUsedAt);
|
|
330
|
+
}, this.managedServerIdleTimeoutMs);
|
|
331
|
+
this.managedServerIdleTimerByWorkspaceKey.set(workspaceKey, timer);
|
|
332
|
+
}
|
|
333
|
+
clearManagedServerIdleTimer(workspaceKey) {
|
|
334
|
+
const timer = this.managedServerIdleTimerByWorkspaceKey.get(workspaceKey);
|
|
335
|
+
if (!timer) {
|
|
336
|
+
return;
|
|
337
|
+
}
|
|
338
|
+
clearTimeout(timer);
|
|
339
|
+
this.managedServerIdleTimerByWorkspaceKey.delete(workspaceKey);
|
|
340
|
+
}
|
|
341
|
+
async disposeManagedServerIfIdle(workspaceKey, expectedLastUsedAt) {
|
|
342
|
+
if (this.disposed) {
|
|
343
|
+
return;
|
|
344
|
+
}
|
|
345
|
+
const child = this.managedServerProcessByWorkspaceKey.get(workspaceKey);
|
|
346
|
+
const baseUrl = this.managedServerBaseUrlByWorkspaceKey.get(workspaceKey);
|
|
347
|
+
const lastUsedAt = this.managedServerLastUsedAtByWorkspaceKey.get(workspaceKey) ?? 0;
|
|
348
|
+
if (!isChildProcessAlive(child)
|
|
349
|
+
|| !baseUrl
|
|
350
|
+
|| this.getManagedServerLeaseCount(workspaceKey) > 0
|
|
351
|
+
|| lastUsedAt !== expectedLastUsedAt) {
|
|
352
|
+
return;
|
|
353
|
+
}
|
|
354
|
+
this.clearManagedServerIdleTimer(workspaceKey);
|
|
355
|
+
try {
|
|
356
|
+
await this.disposeManagedServerInstance(baseUrl);
|
|
357
|
+
}
|
|
358
|
+
catch {
|
|
359
|
+
// 这里只做兜底清理,官方 dispose 失败时继续走本地信号。
|
|
360
|
+
}
|
|
361
|
+
await delay(this.managedServerDisposeGraceMs);
|
|
362
|
+
if (this.disposed
|
|
363
|
+
|| this.getManagedServerLeaseCount(workspaceKey) > 0
|
|
364
|
+
|| (this.managedServerLastUsedAtByWorkspaceKey.get(workspaceKey) ?? 0) !== expectedLastUsedAt) {
|
|
365
|
+
return;
|
|
366
|
+
}
|
|
367
|
+
const activeChild = this.managedServerProcessByWorkspaceKey.get(workspaceKey);
|
|
368
|
+
if (isChildProcessAlive(activeChild)) {
|
|
369
|
+
activeChild.kill("SIGTERM");
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
getManagedServerLeaseCount(workspaceKey) {
|
|
373
|
+
return this.managedServerLeaseIdsByWorkspaceKey.get(workspaceKey)?.size ?? 0;
|
|
374
|
+
}
|
|
247
375
|
}
|
|
248
376
|
function parseServeProcesses(output, commandPath) {
|
|
249
377
|
const records = [];
|
|
@@ -295,6 +423,32 @@ function normalizeBaseUrl(value) {
|
|
|
295
423
|
}
|
|
296
424
|
return normalized.replace(/\/+$/, "");
|
|
297
425
|
}
|
|
426
|
+
function isChildProcessAlive(child) {
|
|
427
|
+
return Boolean(child && !child.killed);
|
|
428
|
+
}
|
|
429
|
+
async function disposeManagedOpenCodeInstance(baseUrl) {
|
|
430
|
+
const controller = new AbortController();
|
|
431
|
+
const timer = setTimeout(() => {
|
|
432
|
+
controller.abort();
|
|
433
|
+
}, DEFAULT_MANAGED_SERVER_DISPOSE_GRACE_MS);
|
|
434
|
+
try {
|
|
435
|
+
const response = await fetch(new URL("/instance/dispose", `${baseUrl}/`), {
|
|
436
|
+
method: "POST",
|
|
437
|
+
signal: controller.signal
|
|
438
|
+
});
|
|
439
|
+
if (!response.ok) {
|
|
440
|
+
throw new Error(`OPENCODE_HTTP_${response.status}`);
|
|
441
|
+
}
|
|
442
|
+
}
|
|
443
|
+
finally {
|
|
444
|
+
clearTimeout(timer);
|
|
445
|
+
}
|
|
446
|
+
}
|
|
447
|
+
function delay(ms) {
|
|
448
|
+
return new Promise((resolve) => {
|
|
449
|
+
setTimeout(resolve, ms);
|
|
450
|
+
});
|
|
451
|
+
}
|
|
298
452
|
function dedupeBaseUrls(values) {
|
|
299
453
|
const result = [];
|
|
300
454
|
const seen = new Set();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opencode-base-url-resolver.js","sourceRoot":"","sources":["../../../src/config/opencode-base-url-resolver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"opencode-base-url-resolver.js","sourceRoot":"","sources":["../../../src/config/opencode-base-url-resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { createWechatClawRuntimeServer } from "./server.js";
|
|
2
|
+
const args = process.argv.slice(2);
|
|
3
|
+
const runtimeRootDir = readFlag(args, "--runtime-root-dir");
|
|
4
|
+
const authToken = readFlag(args, "--auth-token");
|
|
5
|
+
if (!runtimeRootDir) {
|
|
6
|
+
throw new Error("WECHAT_CLAW_RUNTIME_ROOT_DIR_REQUIRED");
|
|
7
|
+
}
|
|
8
|
+
if (!authToken) {
|
|
9
|
+
throw new Error("WECHAT_CLAW_RUNTIME_AUTH_TOKEN_REQUIRED");
|
|
10
|
+
}
|
|
11
|
+
const app = await createWechatClawRuntimeServer({
|
|
12
|
+
runtimeRootDir,
|
|
13
|
+
authToken
|
|
14
|
+
});
|
|
15
|
+
const address = await app.listen({
|
|
16
|
+
host: "127.0.0.1",
|
|
17
|
+
port: 0
|
|
18
|
+
});
|
|
19
|
+
const port = Number(new URL(address).port);
|
|
20
|
+
process.stdout.write(`${JSON.stringify({ type: "ready", port })}\n`);
|
|
21
|
+
const shutdown = async () => {
|
|
22
|
+
await app.close();
|
|
23
|
+
process.exit(0);
|
|
24
|
+
};
|
|
25
|
+
process.once("SIGTERM", () => {
|
|
26
|
+
void shutdown();
|
|
27
|
+
});
|
|
28
|
+
process.once("SIGINT", () => {
|
|
29
|
+
void shutdown();
|
|
30
|
+
});
|
|
31
|
+
function readFlag(argv, flag) {
|
|
32
|
+
const index = argv.indexOf(flag);
|
|
33
|
+
if (index < 0) {
|
|
34
|
+
return null;
|
|
35
|
+
}
|
|
36
|
+
return argv[index + 1] ?? null;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../../../../src/helpers/wechat-claw-runtime/main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,aAAa,CAAC;AAE5D,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AACnC,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;AAC5D,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;AAEjD,IAAI,CAAC,cAAc,EAAE,CAAC;IACpB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;AAC3D,CAAC;AAED,IAAI,CAAC,SAAS,EAAE,CAAC;IACf,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAC;AAC7D,CAAC;AAED,MAAM,GAAG,GAAG,MAAM,6BAA6B,CAAC;IAC9C,cAAc;IACd,SAAS;CACV,CAAC,CAAC;AACH,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,MAAM,CAAC;IAC/B,IAAI,EAAE,WAAW;IACjB,IAAI,EAAE,CAAC;CACR,CAAC,CAAC;AACH,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC;AAC3C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,IAAI,CAAC,CAAC;AAErE,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;IAC1B,MAAM,GAAG,CAAC,KAAK,EAAE,CAAC;IAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE;IAC3B,KAAK,QAAQ,EAAE,CAAC;AAClB,CAAC,CAAC,CAAC;AACH,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE;IAC1B,KAAK,QAAQ,EAAE,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,SAAS,QAAQ,CAAC,IAAc,EAAE,IAAY;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC;AACjC,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { AppError } from "../../../shared/errors/app-error.js";
|
|
2
|
+
export declare function invalidWechatClawInput(detail: string, field?: string): AppError;
|
|
3
|
+
export declare function wechatClawStateError(detail: string): AppError;
|
|
4
|
+
export declare function wechatClawUpstreamError(detail: string, data?: Record<string, unknown>): AppError;
|
|
5
|
+
export declare function wechatClawAuthError(detail: string): AppError;
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { AppError } from "../../../shared/errors/app-error.js";
|
|
2
|
+
export function invalidWechatClawInput(detail, field) {
|
|
3
|
+
return new AppError({
|
|
4
|
+
statusCode: 400,
|
|
5
|
+
errorCode: "INVALID_INPUT",
|
|
6
|
+
detail,
|
|
7
|
+
field
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
export function wechatClawStateError(detail) {
|
|
11
|
+
return new AppError({
|
|
12
|
+
statusCode: 409,
|
|
13
|
+
errorCode: "WECHAT_CLAW_RUNTIME_STATE_INVALID",
|
|
14
|
+
detail
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
export function wechatClawUpstreamError(detail, data) {
|
|
18
|
+
return new AppError({
|
|
19
|
+
statusCode: 502,
|
|
20
|
+
errorCode: "WECHAT_CLAW_UPSTREAM_ERROR",
|
|
21
|
+
detail,
|
|
22
|
+
data
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
export function wechatClawAuthError(detail) {
|
|
26
|
+
return new AppError({
|
|
27
|
+
statusCode: 401,
|
|
28
|
+
errorCode: "WECHAT_CLAW_RUNTIME_UNAUTHORIZED",
|
|
29
|
+
detail
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../../../src/helpers/wechat-claw-runtime/modules/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAE/D,MAAM,UAAU,sBAAsB,CAAC,MAAc,EAAE,KAAc;IACnE,OAAO,IAAI,QAAQ,CAAC;QAClB,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,eAAe;QAC1B,MAAM;QACN,KAAK;KACN,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,OAAO,IAAI,QAAQ,CAAC;QAClB,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,mCAAmC;QAC9C,MAAM;KACP,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,MAAc,EACd,IAA8B;IAE9B,OAAO,IAAI,QAAQ,CAAC;QAClB,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,4BAA4B;QACvC,MAAM;QACN,IAAI;KACL,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAc;IAChD,OAAO,IAAI,QAAQ,CAAC;QAClB,UAAU,EAAE,GAAG;QACf,SAAS,EAAE,kCAAkC;QAC7C,MAAM;KACP,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { type WechatClawRuntimeAccountConfig, type WechatClawRuntimeLoginActionResult, type WechatClawRuntimeLoginStatusResult } from "./types.js";
|
|
2
|
+
import { WechatClawRuntimeStateStore } from "./runtime-state-store.js";
|
|
3
|
+
import { WechatClawApiClient } from "./wechat-api-client.js";
|
|
4
|
+
export declare class WechatClawLoginService {
|
|
5
|
+
private readonly store;
|
|
6
|
+
private readonly apiClient;
|
|
7
|
+
constructor(store: WechatClawRuntimeStateStore, apiClient: WechatClawApiClient);
|
|
8
|
+
startLogin(accountId: string, config: WechatClawRuntimeAccountConfig): Promise<WechatClawRuntimeLoginActionResult>;
|
|
9
|
+
refreshLoginStatus(accountId: string): Promise<WechatClawRuntimeLoginStatusResult>;
|
|
10
|
+
logout(accountId: string): {
|
|
11
|
+
accountId: string;
|
|
12
|
+
actedAt: string;
|
|
13
|
+
detail: string;
|
|
14
|
+
session: null;
|
|
15
|
+
};
|
|
16
|
+
}
|