qlogicagent 2.13.2 → 2.13.4

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.
@@ -4,6 +4,8 @@ export interface AgentConfigCoordinatorDeps {
4
4
  acpDetector: AcpDetector;
5
5
  getActiveProjectRoot(): string;
6
6
  }
7
+ export declare function resolveLlmrouterPublicOrigin(rawBaseUrl?: string): string | undefined;
8
+ export declare function resolveLlmrouterProtocolBaseUrl(agentId: string, rawBaseUrl?: string): string | undefined;
7
9
  export declare class AgentConfigCoordinator {
8
10
  private readonly deps;
9
11
  private store;
@@ -18,6 +18,14 @@ export declare function handleCommunityListShared(this: CommunityHandlerHost, ms
18
18
  export declare function handleCommunityMatchRegistry(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
19
19
  export declare function handleCommunityResolveInstall(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
20
20
  export declare function handleCommunityInstallResource(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
21
+ /**
22
+ * Handshake step ① — probe declared runtime dependencies (vetted catalog only).
23
+ * The plugin page calls this right after install so "点 + 即可用" holds: missing
24
+ * quick runtimes are auto-installed, heavy/unknown ones surface a consent card.
25
+ */
26
+ export declare function handleCommunityRuntimeStatus(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
27
+ /** Handshake step ② — install ONE vetted runtime dependency (catalog recipe only). */
28
+ export declare function handleCommunityInstallRuntime(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
21
29
  export declare function handleCommunityPublishSkill(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
22
30
  export declare function handleCommunityPublishPet(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
23
31
  export declare function handleCommunityRecordSignal(this: CommunityHandlerHost, msg: AgentRpcRequest): Promise<void>;
@@ -2,11 +2,13 @@ import { type AgentRpcError, type AgentRpcRequest } from "../../protocol/wire/in
2
2
  export interface SettingsHandlerHost {
3
3
  sendError?(id: string | number, code: number, message: string): void;
4
4
  sendResponse(id: string | number, result?: unknown, error?: AgentRpcError): void;
5
+ writeClipboard?(text: string): Promise<void>;
5
6
  }
6
7
  export declare function handleSettingsListProviders(this: SettingsHandlerHost, msg: AgentRpcRequest): Promise<void>;
7
8
  export declare function handleSettingsAddKey(this: SettingsHandlerHost, msg: AgentRpcRequest): Promise<void>;
8
9
  export declare function handleSettingsRemoveKey(this: SettingsHandlerHost, msg: AgentRpcRequest): void;
9
10
  export declare function handleSettingsGetKey(this: SettingsHandlerHost, msg: AgentRpcRequest): void;
11
+ export declare function handleSettingsCopyKey(this: SettingsHandlerHost, msg: AgentRpcRequest): Promise<void>;
10
12
  export declare function handleSettingsToggleKey(this: SettingsHandlerHost, msg: AgentRpcRequest): void;
11
13
  export declare function handleSettingsToggleModel(this: SettingsHandlerHost, msg: AgentRpcRequest): void;
12
14
  export declare function handleSettingsListModels(this: SettingsHandlerHost, msg: AgentRpcRequest): Promise<void>;
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Vetted runtime-dependency catalog for community skills.
3
+ *
4
+ * A skill manifest may declare `runtime: ["officecli"]` — bare ids only. The
5
+ * registry stays declarative: WHAT a skill needs lives in Hub data, but HOW to
6
+ * probe/install it lives here, reviewed in code. The installer never executes
7
+ * anything from registry payloads, so a compromised registry row cannot turn
8
+ * "install skill" into arbitrary code execution; unknown ids surface as
9
+ * "manual" in the handshake UI instead of running anything.
10
+ */
11
+ export interface RuntimeDependencySpec {
12
+ id: string;
13
+ /** Human-facing name shown in the handshake card. */
14
+ label: string;
15
+ /** Executable probed on PATH (and `extraWindowsPaths` fallbacks). */
16
+ bin: string;
17
+ probeArgs: string[];
18
+ /** Known install locations not yet on PATH in this process (fresh installs). */
19
+ extraWindowsPaths?: string[];
20
+ /**
21
+ * quick=true → the handshake auto-installs without an extra consent step
22
+ * (small, single-artifact, official installer). quick=false → the client
23
+ * must show a consent card first (large download / system-level changes).
24
+ */
25
+ quick: boolean;
26
+ /** Honest size estimate surfaced in the consent card. */
27
+ estSizeMB: number;
28
+ install: Partial<Record<"win32" | "default", {
29
+ command: string;
30
+ args: string[];
31
+ }>>;
32
+ installTimeoutMs: number;
33
+ docsUrl?: string;
34
+ }
35
+ export declare const RUNTIME_DEPENDENCIES: Record<string, RuntimeDependencySpec>;
36
+ export interface RuntimeDependencyStatus {
37
+ id: string;
38
+ /** false → not in the vetted catalog: the client can only show guidance. */
39
+ known: boolean;
40
+ label?: string;
41
+ present: boolean;
42
+ version?: string;
43
+ /** Absolute path when found via a known location instead of PATH. */
44
+ binPath?: string;
45
+ quick?: boolean;
46
+ estSizeMB?: number;
47
+ docsUrl?: string;
48
+ }
49
+ export declare function probeRuntimeDependency(id: string): Promise<RuntimeDependencyStatus>;
50
+ export interface RuntimeInstallResult {
51
+ id: string;
52
+ ok: true;
53
+ version?: string;
54
+ binPath?: string;
55
+ }
56
+ export declare function installRuntimeDependency(id: string): Promise<RuntimeInstallResult>;
@@ -568,6 +568,33 @@ export interface CommunityInstallResourceResult {
568
568
  preview?: CommunityInstallResourcePreview;
569
569
  signalWarning?: string;
570
570
  }
571
+ export interface CommunityRuntimeStatusParams {
572
+ ids: string[];
573
+ }
574
+ export interface CommunityRuntimeDependencyStatus {
575
+ id: string;
576
+ known: boolean;
577
+ label?: string;
578
+ present: boolean;
579
+ version?: string;
580
+ binPath?: string;
581
+ quick?: boolean;
582
+ estSizeMB?: number;
583
+ docsUrl?: string;
584
+ }
585
+ export interface CommunityRuntimeStatusResult {
586
+ ok: boolean;
587
+ items: CommunityRuntimeDependencyStatus[];
588
+ }
589
+ export interface CommunityInstallRuntimeParams {
590
+ id: string;
591
+ }
592
+ export interface CommunityInstallRuntimeResult {
593
+ ok: boolean;
594
+ id: string;
595
+ version?: string;
596
+ binPath?: string;
597
+ }
571
598
  export interface TodosListParams {
572
599
  /** Filter by status. */
573
600
  status?: "not-started" | "in-progress" | "completed" | "all";
@@ -803,6 +830,14 @@ export interface RpcMethodMap {
803
830
  params: CommunityInstallResourceParams;
804
831
  result: CommunityInstallResourceResult;
805
832
  };
833
+ "community.runtimeStatus": {
834
+ params: CommunityRuntimeStatusParams;
835
+ result: CommunityRuntimeStatusResult;
836
+ };
837
+ "community.installRuntime": {
838
+ params: CommunityInstallRuntimeParams;
839
+ result: CommunityInstallRuntimeResult;
840
+ };
806
841
  "community.publishSkill": {
807
842
  params: CommunityPublishSkillParams;
808
843
  result: CommunityPublishSkillResult;
@@ -14,6 +14,18 @@ export declare function getCatalogEntry(id: string): AcpBackendConfig | undefine
14
14
  /** Ordered curated catalog: base ACP config merged with grid/install metadata. */
15
15
  export declare function getAgentCatalog(): AcpBackendConfig[];
16
16
  export declare function resolveWindowsCopilotLoader(): string | null;
17
+ export declare function getNpmInstallPackageName(command: string | undefined): string | null;
18
+ export declare function compareSemverVersions(a: string, b: string): number;
19
+ export declare function isVersionNewer(latest: string | null | undefined, current: string | null | undefined): boolean;
20
+ export declare function readGlobalNpmPackageVersion(packageName: string | null | undefined): string | null;
21
+ export declare function fetchNpmLatestPackageVersion(packageName: string | null | undefined): string | null;
22
+ export declare function resolveInstalledNpmPackageVersionFromInstall(install: AcpBackendConfig["install"] | undefined): string | null;
23
+ export declare function getCatalogPackageVersionInfo(entry: AcpBackendConfig, detectedVersion?: string): {
24
+ packageName?: string;
25
+ installedVersion?: string;
26
+ latestVersion?: string;
27
+ updateAvailable: boolean;
28
+ };
17
29
  export declare function normalizeWindowsAcpCommand(cliPath: string, args: string[]): {
18
30
  cliPath: string;
19
31
  acpArgs: string[];
@@ -45,6 +57,10 @@ export interface CatalogKeySources {
45
57
  llmrouterKey?: string;
46
58
  /** Base URL an llmrouter-routed agent should call (our gateway endpoint). */
47
59
  llmrouterBaseUrl?: string;
60
+ /** Resolve an agent/protocol-specific LLMRouter base URL. */
61
+ getLlmrouterBaseUrl?: (agentId: string, entry: AcpBackendConfig) => string | null | undefined;
62
+ /** Default LLMRouter model for agent CLIs that require an explicit model pin. */
63
+ llmrouterModel?: string;
48
64
  /** Resolve a provider's direct third-party key for keySource:"direct". */
49
65
  getDirectKey?: (providerId: string) => string | null | undefined;
50
66
  /** The host's active text-generation model (deepseek / volcengine / …) to "pass through" to
@@ -26,3 +26,7 @@ export declare function readProjectScopedSkills(): Set<string>;
26
26
  export declare function markProjectScoped(name: string): boolean;
27
27
  /** Unmark a skill (promote to global). Idempotent. Returns true if removed. */
28
28
  export declare function unmarkProjectScoped(name: string): boolean;
29
+ /** Globally muted skills (inactive everywhere). */
30
+ export declare function readGloballyDisabledSkills(): Set<string>;
31
+ /** Mute/unmute a global skill everywhere. Idempotent. Returns true if the registry changed. */
32
+ export declare function setSkillGloballyDisabled(name: string, disabled: boolean): boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qlogicagent",
3
- "version": "2.13.2",
3
+ "version": "2.13.4",
4
4
  "description": "XiaozhiClaw Agent CLI — subprocess architecture (JSON-RPC over stdio)",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",