commanderclaw 1.1.16 → 1.1.20

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.
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Backend Detector
3
+ *
4
+ * Detects the ACP backend type for the current environment.
5
+ */
6
+ import type { BackendType } from './types';
7
+ export declare function detectBackend(): BackendType;
8
+ //# sourceMappingURL=backend-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"backend-detector.d.ts","sourceRoot":"","sources":["../../../src/plugin/session/backend-detector.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,wBAAgB,aAAa,IAAI,WAAW,CA4B3C"}
@@ -0,0 +1,49 @@
1
+ /**
2
+ * Session Manager
3
+ *
4
+ * Manages session strategies and provides a unified interface for session operations.
5
+ */
6
+ import type { SessionStrategy, SessionHandle, CreateSessionOptions } from './types';
7
+ export declare class SessionManager {
8
+ private activeStrategy;
9
+ private backendType;
10
+ constructor();
11
+ private initStrategy;
12
+ /**
13
+ * Get the backend type that was detected
14
+ */
15
+ getBackendType(): string;
16
+ /**
17
+ * Get the active strategy name
18
+ */
19
+ getStrategyName(): string;
20
+ /**
21
+ * Get the active strategy
22
+ */
23
+ getActiveStrategy(): SessionStrategy | null;
24
+ /**
25
+ * Create a new session
26
+ */
27
+ createSession(sessionId: string, options?: CreateSessionOptions): Promise<SessionHandle | null>;
28
+ /**
29
+ * Get an existing session
30
+ */
31
+ getSession(sessionId: string): SessionHandle | null;
32
+ /**
33
+ * Switch to an existing session
34
+ */
35
+ switchSession(sessionId: string): void;
36
+ /**
37
+ * Get the currently active session
38
+ */
39
+ getActiveSession(): SessionHandle | null;
40
+ /**
41
+ * Close a session
42
+ */
43
+ closeSession(sessionId: string): Promise<void>;
44
+ }
45
+ /**
46
+ * Get the singleton SessionManager instance
47
+ */
48
+ export declare function getSessionManager(): SessionManager;
49
+ //# sourceMappingURL=manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../../src/plugin/session/manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAKpF,qBAAa,cAAc;IACzB,OAAO,CAAC,cAAc,CAAgC;IACtD,OAAO,CAAC,WAAW,CAAqB;;IAMxC,OAAO,CAAC,YAAY;IAyBpB;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACH,iBAAiB,IAAI,eAAe,GAAG,IAAI;IAI3C;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;IAcrG;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAInD;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAItC;;OAEG;IACH,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAIxC;;OAEG;IACG,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAGrD;AAKD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,cAAc,CAKlD"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * OpenClaw Session Strategy
3
+ *
4
+ * Uses ACP Runtime to create and manage sessions for OpenClaw-based agents (QClaw, OpenCode, etc.).
5
+ */
6
+ import type { SessionStrategy, SessionHandle, CreateSessionOptions } from './types';
7
+ import type { BackendType } from './types';
8
+ export declare class OpenClawSessionStrategy implements SessionStrategy {
9
+ readonly name: string;
10
+ private runtime;
11
+ private sessions;
12
+ private activeSessionId;
13
+ private initialized;
14
+ private initPromise;
15
+ constructor(backendType: BackendType);
16
+ private initRuntime;
17
+ private ensureInitialized;
18
+ isAvailable(): boolean;
19
+ createSession(sessionId: string, options?: CreateSessionOptions): Promise<SessionHandle>;
20
+ getSession(sessionId: string): SessionHandle | null;
21
+ switchSession(sessionId: string): void;
22
+ getActiveSession(): SessionHandle | null;
23
+ closeSession(sessionId: string): Promise<void>;
24
+ }
25
+ //# sourceMappingURL=openclaw-strategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"openclaw-strategy.d.ts","sourceRoot":"","sources":["../../../src/plugin/session/openclaw-strategy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AACpF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,qBAAa,uBAAwB,YAAW,eAAe;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,OAAO,CAAa;IAC5B,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAA8B;gBAErC,WAAW,EAAE,WAAW;YAKtB,WAAW;YAcX,iBAAiB;IAM/B,WAAW,IAAI,OAAO;IAIhB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC;IAyC9F,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAInD,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQtC,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAKlC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAsBrD"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Simple Session Strategy
3
+ *
4
+ * Fallback strategy that uses in-memory session mapping.
5
+ * Used when ACP Runtime is not available.
6
+ */
7
+ import type { SessionStrategy, SessionHandle, CreateSessionOptions } from './types';
8
+ export declare class SimpleSessionStrategy implements SessionStrategy {
9
+ readonly name = "simple";
10
+ private sessions;
11
+ private activeSessionId;
12
+ isAvailable(): boolean;
13
+ createSession(sessionId: string, options?: CreateSessionOptions): Promise<SessionHandle>;
14
+ getSession(sessionId: string): SessionHandle | null;
15
+ switchSession(sessionId: string): void;
16
+ getActiveSession(): SessionHandle | null;
17
+ closeSession(sessionId: string): Promise<void>;
18
+ }
19
+ //# sourceMappingURL=simple-strategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"simple-strategy.d.ts","sourceRoot":"","sources":["../../../src/plugin/session/simple-strategy.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEpF,qBAAa,qBAAsB,YAAW,eAAe;IAC3D,QAAQ,CAAC,IAAI,YAAY;IAEzB,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,eAAe,CAAuB;IAE9C,WAAW,IAAI,OAAO;IAIhB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC;IAuB9F,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;IAInD,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAQtC,gBAAgB,IAAI,aAAa,GAAG,IAAI;IAKlC,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAOrD"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Session Strategy Interface
3
+ *
4
+ * Strategy pattern for supporting different Agent types (OpenClaw, QClaw, custom).
5
+ */
6
+ import type { SessionHandle, CreateSessionOptions } from './types';
7
+ export interface SessionStrategy {
8
+ /** Strategy name (e.g., 'qclaw', 'opencode', 'simple') */
9
+ readonly name: string;
10
+ /**
11
+ * Create a new session.
12
+ * Returns the session handle with local sessionKey.
13
+ */
14
+ createSession(sessionId: string, options?: CreateSessionOptions): Promise<SessionHandle>;
15
+ /**
16
+ * Get an existing session by sessionId.
17
+ * Returns null if session doesn't exist.
18
+ */
19
+ getSession(sessionId: string): SessionHandle | null;
20
+ /**
21
+ * Switch to an existing session.
22
+ * Throws if session doesn't exist.
23
+ */
24
+ switchSession(sessionId: string): void;
25
+ /**
26
+ * Get the currently active session.
27
+ * Returns null if no session is active.
28
+ */
29
+ getActiveSession(): SessionHandle | null;
30
+ /**
31
+ * Close and remove a session.
32
+ */
33
+ closeSession(sessionId: string): Promise<void>;
34
+ /**
35
+ * Check if this strategy is available in the current environment.
36
+ */
37
+ isAvailable(): boolean;
38
+ }
39
+ //# sourceMappingURL=strategy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"strategy.d.ts","sourceRoot":"","sources":["../../../src/plugin/session/strategy.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEnE,MAAM,WAAW,eAAe;IAC9B,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;;OAGG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,oBAAoB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;IAEzF;;;OAGG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAAC;IAEpD;;;OAGG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvC;;;OAGG;IACH,gBAAgB,IAAI,aAAa,GAAG,IAAI,CAAC;IAEzC;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE/C;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC;CACxB"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * Session Association Types
3
+ *
4
+ * Types for associating CommanderClaw sessions with Agent local sessions.
5
+ */
6
+ export interface SessionHandle {
7
+ /** CommanderClaw session ID */
8
+ sessionId: string;
9
+ /** Agent local sessionKey */
10
+ localSessionKey: string;
11
+ /** When the session was created */
12
+ createdAt: Date;
13
+ /** Additional metadata from ACP Runtime */
14
+ metadata?: {
15
+ backendSessionId?: string;
16
+ agentSessionId?: string;
17
+ cwd?: string;
18
+ [key: string]: unknown;
19
+ };
20
+ }
21
+ export interface CreateSessionOptions {
22
+ /** Session key from CommanderClaw server */
23
+ sessionKey?: string;
24
+ /** Session mode: persistent (default) or oneshot */
25
+ mode?: 'persistent' | 'oneshot';
26
+ /** Working directory for the session */
27
+ cwd?: string;
28
+ /** Environment variables */
29
+ env?: Record<string, string>;
30
+ }
31
+ export type SessionSwitchAction = 'create' | 'switch' | 'close';
32
+ export interface SessionSwitchPayload {
33
+ sessionId: string;
34
+ sessionKey: string;
35
+ action?: SessionSwitchAction;
36
+ options?: CreateSessionOptions;
37
+ }
38
+ export type BackendType = 'qclaw' | 'opencode' | 'claude' | 'cursor' | 'custom' | 'simple';
39
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugin/session/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,aAAa;IAC5B,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,6BAA6B;IAC7B,eAAe,EAAE,MAAM,CAAC;IACxB,mCAAmC;IACnC,SAAS,EAAE,IAAI,CAAC;IAChB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE;QACT,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,4CAA4C;IAC5C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oDAAoD;IACpD,IAAI,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAChC,wCAAwC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC9B;AAED,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAEhE,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC;AAED,MAAM,MAAM,WAAW,GACnB,OAAO,GACP,UAAU,GACV,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "commanderclaw",
3
- "version": "1.1.16",
3
+ "version": "1.1.20",
4
4
  "description": "Multi-device Agent Coordination Framework - CLI and OpenClaw/QClaw Plugin",
5
5
  "type": "module",
6
6
  "bin": {