qlogicagent 2.10.33 → 2.10.35

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.
Files changed (184) hide show
  1. package/dist/agent.js +6 -21
  2. package/dist/cli.js +386 -387
  3. package/dist/index.js +388 -389
  4. package/dist/orchestration.js +8 -8
  5. package/dist/permissions.js +1 -1
  6. package/dist/protocol.js +1 -1
  7. package/dist/types/agent/agent.d.ts +4 -2
  8. package/dist/types/agent/tool-loop/artifact-events.d.ts +17 -0
  9. package/dist/types/agent/tool-loop/loop-helpers.d.ts +15 -0
  10. package/dist/types/agent/tool-loop/recovery-helpers.d.ts +18 -0
  11. package/dist/types/agent/tool-loop/single-round.d.ts +2 -0
  12. package/dist/types/agent/tool-loop/tool-result-events.d.ts +7 -0
  13. package/dist/types/agent/tool-loop.d.ts +12 -11
  14. package/dist/types/agent/types.d.ts +3 -1
  15. package/dist/types/cli/acp-session-handlers.d.ts +2 -0
  16. package/dist/types/cli/agent-runtime-bootstrap.d.ts +2 -1
  17. package/dist/types/cli/agent-runtime-ports-adapter.d.ts +2 -0
  18. package/dist/types/cli/agent-runtime-session-state.d.ts +24 -0
  19. package/dist/types/cli/base-tool-bootstrap.d.ts +2 -0
  20. package/dist/types/cli/core-tool-coordinator.d.ts +3 -0
  21. package/dist/types/cli/core-tools/agent-tool-bootstrap.d.ts +3 -1
  22. package/dist/types/cli/core-tools/agent-tool-service.d.ts +3 -1
  23. package/dist/types/cli/core-tools/checkpoint-tool-bootstrap.d.ts +3 -1
  24. package/dist/types/cli/core-tools/config-tool-bootstrap.d.ts +3 -1
  25. package/dist/types/cli/core-tools/cron-tool-bootstrap.d.ts +3 -1
  26. package/dist/types/cli/core-tools/monitor-tool-bootstrap.d.ts +3 -1
  27. package/dist/types/cli/core-tools/team-tool-bootstrap.d.ts +3 -1
  28. package/dist/types/cli/core-tools/utility-tool-bootstrap.d.ts +3 -1
  29. package/dist/types/cli/dev-tool-bootstrap.d.ts +4 -0
  30. package/dist/types/cli/dev-tools/dev-tool-bootstrap-service.d.ts +6 -0
  31. package/dist/types/cli/dev-tools/dev-tool-registry.d.ts +7 -0
  32. package/dist/types/cli/dream-host-adapter.d.ts +1 -0
  33. package/dist/types/cli/handlers/community-handler.d.ts +2 -1
  34. package/dist/types/cli/handlers/config-handler.d.ts +2 -0
  35. package/dist/types/cli/handlers/dream-handler.d.ts +2 -0
  36. package/dist/types/cli/handlers/pet-handler.d.ts +1 -0
  37. package/dist/types/cli/handlers/product-handler.d.ts +18 -40
  38. package/dist/types/cli/handlers/project-handler.d.ts +1 -1
  39. package/dist/types/cli/handlers/turn-handler.d.ts +3 -1
  40. package/dist/types/cli/handlers/workflow-handler.d.ts +2 -0
  41. package/dist/types/cli/mcp-bootstrap.d.ts +20 -0
  42. package/dist/types/cli/mcp-plugin-bootstrap.d.ts +2 -27
  43. package/dist/types/cli/media-runtime-facade.d.ts +20 -0
  44. package/dist/types/cli/memory-candidate-service.d.ts +74 -0
  45. package/dist/types/cli/memory-coordinator.d.ts +3 -3
  46. package/dist/types/cli/permission-approval-bridge.d.ts +15 -0
  47. package/dist/types/cli/permission-bootstrap.d.ts +6 -6
  48. package/dist/types/cli/permission-runtime-service.d.ts +9 -0
  49. package/dist/types/cli/pet-confirm-coordinator.d.ts +2 -2
  50. package/dist/types/cli/plugin-bootstrap.d.ts +14 -0
  51. package/dist/types/cli/product-coordinator.d.ts +25 -0
  52. package/dist/types/cli/project-command-service.d.ts +26 -0
  53. package/dist/types/cli/provider-core-facade.d.ts +1 -0
  54. package/dist/types/cli/runtime-hook-bootstrap.d.ts +2 -1
  55. package/dist/types/cli/runtime-watcher-bootstrap.d.ts +2 -2
  56. package/dist/types/cli/session-coordinator.d.ts +5 -3
  57. package/dist/types/cli/session-query-service.d.ts +23 -0
  58. package/dist/types/cli/skill-meta-subturn-service.d.ts +22 -0
  59. package/dist/types/cli/skill-meta-tool-bootstrap.d.ts +9 -7
  60. package/dist/types/cli/skills-query-service.d.ts +26 -0
  61. package/dist/types/cli/stdio-agent-session-bootstrap.d.ts +78 -0
  62. package/dist/types/cli/stdio-runtime-bootstrap.d.ts +16 -0
  63. package/dist/types/cli/stdio-runtime-services.d.ts +36 -0
  64. package/dist/types/cli/stdio-server.d.ts +19 -18
  65. package/dist/types/cli/test-support/tool-catalog-fixture.d.ts +3 -0
  66. package/dist/types/cli/tool-bootstrap-providers.d.ts +3 -0
  67. package/dist/types/cli/tool-bootstrap.d.ts +7 -20
  68. package/dist/types/cli/tool-catalog.d.ts +4 -2
  69. package/dist/types/cli/tool-invoker-factory.d.ts +2 -0
  70. package/dist/types/cli/tool-registry-adapter.d.ts +5 -0
  71. package/dist/types/contracts/hooks.d.ts +1 -1
  72. package/dist/types/index.d.ts +1 -2
  73. package/dist/types/orchestration/product-persistence.d.ts +7 -3
  74. package/dist/types/orchestration/solo-persistence.d.ts +8 -4
  75. package/dist/types/orchestration/subagent/agent-registry.d.ts +3 -3
  76. package/dist/types/orchestration/tool-cascade.d.ts +12 -3
  77. package/dist/types/orchestration/tool-loop/tool-schema.d.ts +4 -1
  78. package/dist/types/orchestration/workflow/qla-executor-host.d.ts +3 -3
  79. package/dist/types/protocol/methods.d.ts +27 -1
  80. package/dist/types/protocol/wire/acp-protocol.d.ts +0 -2
  81. package/dist/types/protocol/wire/agent-rpc.d.ts +4 -4
  82. package/dist/types/protocol/wire/capability-manifest.d.ts +2 -1
  83. package/dist/types/protocol/wire/capability-transport.d.ts +2 -2
  84. package/dist/types/protocol/wire/chat-types.d.ts +4 -0
  85. package/dist/types/protocol/wire/index.d.ts +1 -1
  86. package/dist/types/protocol/wire/notification-payloads.d.ts +2 -1
  87. package/dist/types/protocol/wire/web-capability.d.ts +3 -0
  88. package/dist/types/runtime/community/community-consent-client.d.ts +21 -1
  89. package/dist/types/runtime/execution/dream-agent.d.ts +1 -1
  90. package/dist/types/runtime/execution/forked-agent.d.ts +1 -1
  91. package/dist/types/runtime/execution/tool-eligibility.d.ts +14 -37
  92. package/dist/types/runtime/hooks/context-compression.d.ts +1 -1
  93. package/dist/types/runtime/infra/agent-paths.d.ts +0 -4
  94. package/dist/types/runtime/infra/default-path-service.d.ts +32 -0
  95. package/dist/types/runtime/infra/llmrouter-catalog.d.ts +6 -5
  96. package/dist/types/runtime/infra/model-registry.d.ts +1 -2
  97. package/dist/types/runtime/infra/process-config-port.d.ts +2 -0
  98. package/dist/types/runtime/infra/provider-catalog-adapter.d.ts +48 -0
  99. package/dist/types/runtime/infra/token-budget.d.ts +1 -1
  100. package/dist/types/runtime/ports/agent-runtime-ports.d.ts +76 -0
  101. package/dist/types/runtime/ports/config-port.d.ts +4 -0
  102. package/dist/types/runtime/ports/index.d.ts +8 -2
  103. package/dist/types/runtime/ports/model-transport-contracts.d.ts +125 -0
  104. package/dist/types/runtime/ports/path-service.d.ts +18 -0
  105. package/dist/types/runtime/ports/permission-contracts.d.ts +8 -3
  106. package/dist/types/runtime/ports/tool-contracts.d.ts +63 -2
  107. package/dist/types/runtime/session/session-persistence.d.ts +1 -1
  108. package/dist/types/runtime/tasks/task-types.d.ts +2 -1
  109. package/dist/types/skills/index.d.ts +1 -109
  110. package/dist/types/skills/mcp/mcp-manager.d.ts +13 -0
  111. package/dist/types/skills/memory/local-memory-provider.d.ts +0 -4
  112. package/dist/types/skills/memory/local-store-records.d.ts +184 -0
  113. package/dist/types/skills/memory/local-store.d.ts +9 -14
  114. package/dist/types/skills/memory/memory-db-path.d.ts +7 -0
  115. package/dist/types/skills/memory/memory-embedding-config.d.ts +31 -0
  116. package/dist/types/skills/memory/memory-provider-factory.d.ts +3 -14
  117. package/dist/types/skills/memory/memory-vector-utils.d.ts +2 -0
  118. package/dist/types/skills/memory/sqlite-memory-mappers.d.ts +6 -0
  119. package/dist/types/skills/memory/sqlite-memory-schema.d.ts +3 -0
  120. package/dist/types/skills/permissions/hook-runner.d.ts +1 -1
  121. package/dist/types/skills/permissions/rule-engine.d.ts +2 -5
  122. package/dist/types/skills/permissions/settings-watcher.d.ts +6 -35
  123. package/dist/types/skills/permissions/types.d.ts +1 -1
  124. package/dist/types/skills/plugins/plugin-loader.d.ts +10 -0
  125. package/dist/types/skills/portable-tool.d.ts +10 -0
  126. package/dist/types/skills/tools/cron-tool.d.ts +0 -20
  127. package/dist/types/skills/tools.d.ts +24 -59
  128. package/dist/types/transport/acp-server.d.ts +7 -7
  129. package/package.json +3 -1
  130. package/dist/types/agent/memory-recall-context.test.d.ts +0 -1
  131. package/dist/types/cli/acp-extended-host-adapter.test.d.ts +0 -1
  132. package/dist/types/cli/acp-session-handlers.test.d.ts +0 -1
  133. package/dist/types/cli/agent-status-notifier.test.d.ts +0 -1
  134. package/dist/types/cli/cli-acp-request-handler.test.d.ts +0 -1
  135. package/dist/types/cli/community-skill-installer.test.d.ts +0 -1
  136. package/dist/types/cli/core-tools/cron-workflow-service.test.d.ts +0 -1
  137. package/dist/types/cli/dev-tools/repl-lsp-tool-services.test.d.ts +0 -1
  138. package/dist/types/cli/handlers/community-handler.test.d.ts +0 -1
  139. package/dist/types/cli/handlers/config-handler.test.d.ts +0 -1
  140. package/dist/types/cli/handlers/config-handler.tools-list.test.d.ts +0 -1
  141. package/dist/types/cli/handlers/files-handler.instructions.test.d.ts +0 -1
  142. package/dist/types/cli/handlers/media-handler.test.d.ts +0 -1
  143. package/dist/types/cli/handlers/pet-handler.test.d.ts +0 -1
  144. package/dist/types/cli/handlers/session-handler.resume.test.d.ts +0 -1
  145. package/dist/types/cli/handlers/settings-handler.remote-catalog.test.d.ts +0 -1
  146. package/dist/types/cli/handlers/skills-handler.profile.test.d.ts +0 -1
  147. package/dist/types/cli/handlers/turn-handler.approval.test.d.ts +0 -1
  148. package/dist/types/cli/handlers/workflow-handler.events.test.d.ts +0 -1
  149. package/dist/types/cli/idle-dream-coordinator.test.d.ts +0 -1
  150. package/dist/types/cli/mcp-plugin-bootstrap.test.d.ts +0 -1
  151. package/dist/types/cli/media-file-api-service.test.d.ts +0 -1
  152. package/dist/types/cli/multi-agent-handler-host.test.d.ts +0 -1
  153. package/dist/types/cli/permission-bootstrap.test.d.ts +0 -1
  154. package/dist/types/cli/permission-settings-store.test.d.ts +0 -1
  155. package/dist/types/cli/pet-confirm-coordinator.test.d.ts +0 -1
  156. package/dist/types/cli/pet-runtime.test.d.ts +0 -1
  157. package/dist/types/cli/rpc-registry.community.test.d.ts +0 -1
  158. package/dist/types/cli/session-coordinator.test.d.ts +0 -1
  159. package/dist/types/cli/session-history-coordinator.test.d.ts +0 -1
  160. package/dist/types/cli/skill-meta-tool-bootstrap.test.d.ts +0 -1
  161. package/dist/types/cli/stdio-server.contract.test.d.ts +0 -1
  162. package/dist/types/cli/tool-bootstrap.instructions.test.d.ts +0 -1
  163. package/dist/types/cli/tool-bootstrap.media-provider-alias.test.d.ts +0 -1
  164. package/dist/types/cli/turn-lifecycle.test.d.ts +0 -1
  165. package/dist/types/cli/turn-media-setup.test.d.ts +0 -1
  166. package/dist/types/cli/turn-permission-sync.test.d.ts +0 -1
  167. package/dist/types/cli/turn-project-router.test.d.ts +0 -1
  168. package/dist/types/cli/turn-skill-autopersist.test.d.ts +0 -1
  169. package/dist/types/permissions.public-api.test.d.ts +0 -1
  170. package/dist/types/protocol/wire/gateway-contract.test.d.ts +0 -1
  171. package/dist/types/runtime/community/community-consent-client.test.d.ts +0 -1
  172. package/dist/types/runtime/community/community-desensitization-red-team-cli.test.d.ts +0 -1
  173. package/dist/types/runtime/community/community-desensitization.test.d.ts +0 -1
  174. package/dist/types/runtime/infra/agent-paths.test.d.ts +0 -1
  175. package/dist/types/runtime/infra/model-registry.test.d.ts +0 -1
  176. package/dist/types/runtime/infra/profile-storage.test.d.ts +0 -1
  177. package/dist/types/runtime/infra/skill-injector.test.d.ts +0 -1
  178. package/dist/types/runtime/pet/pet-growth-engine.test.d.ts +0 -1
  179. package/dist/types/runtime/pet/pet-reaction-service.test.d.ts +0 -1
  180. package/dist/types/runtime/pet/pet-soul-service.test.d.ts +0 -1
  181. package/dist/types/runtime/prompt/environment-context.test.d.ts +0 -1
  182. package/dist/types/runtime/prompt/fresh-workspace-evidence.test.d.ts +0 -1
  183. package/dist/types/runtime/prompt/instruction-loader.test.d.ts +0 -1
  184. package/dist/types/runtime/session/session-persistence.test.d.ts +0 -1
@@ -1,5 +1,5 @@
1
1
  import type { NotificationMethod, NotificationMethodMap } from "../protocol/notifications.js";
2
- import type { ApprovalResponse } from "../runtime/ports/index.js";
2
+ import type { ApprovalResponse, PermissionRiskLevel } from "../runtime/ports/index.js";
3
3
  export interface PetConfirmPermissionResolver {
4
4
  resolveApproval(response: ApprovalResponse): void;
5
5
  }
@@ -15,6 +15,6 @@ export declare class PetConfirmCoordinator {
15
15
  private readonly deps;
16
16
  private readonly pendingConfirms;
17
17
  constructor(deps: PetConfirmCoordinatorDeps);
18
- requestConfirm(toolName: string, description: string, risk: "low" | "medium" | "high", timeoutMs?: number): Promise<boolean>;
18
+ requestConfirm(toolName: string, description: string, risk: PermissionRiskLevel, timeoutMs?: number): Promise<boolean>;
19
19
  handleResponse({ confirmId, approved }: PetConfirmResponse): void;
20
20
  }
@@ -0,0 +1,14 @@
1
+ import type { HookRegistry } from "../contracts/hooks.js";
2
+ import type { RuntimeLogger } from "../runtime/hooks/hook-registry.js";
3
+ import type { PathService, ToolCatalog } from "../runtime/ports/index.js";
4
+ import { PluginLoader } from "../skills/plugins/plugin-loader.js";
5
+ export interface PluginBootstrapDeps {
6
+ config: Record<string, unknown>;
7
+ hooks: HookRegistry;
8
+ log: RuntimeLogger;
9
+ pathService: PathService;
10
+ toolCatalog: ToolCatalog;
11
+ setPluginLoader(loader: PluginLoader): void;
12
+ }
13
+ export declare const pluginToolRegistrationModule: import("../runtime/ports/tool-contracts.js").ToolRegistrationModule<PluginBootstrapDeps>;
14
+ export declare function configurePluginBootstrap(deps: PluginBootstrapDeps): void;
@@ -0,0 +1,25 @@
1
+ import { ProductOrchestrator } from "../orchestration/agent-instance.js";
2
+ import { ProductPlanner } from "../orchestration/product-planner.js";
3
+ import { AgentProcessManager } from "../runtime/infra/agent-process.js";
4
+ import type { AgentConfigStore } from "../runtime/infra/agent-config-store.js";
5
+ import type { AcpDetector } from "../runtime/infra/acp-detector.js";
6
+ export interface ProductCoordinatorHost {
7
+ acpDetector: AcpDetector;
8
+ agentConfigStore: AgentConfigStore | null;
9
+ productOrchestrator: ProductOrchestrator | null;
10
+ productPlanner: ProductPlanner | null;
11
+ productProcessManager: AgentProcessManager | null;
12
+ emitAgentStatus(agentId: string, state: string, extra?: {
13
+ missedBeats?: number;
14
+ lastActivityAt?: number;
15
+ usage?: {
16
+ inputTokens: number;
17
+ outputTokens: number;
18
+ totalTokens: number;
19
+ };
20
+ }): void;
21
+ handleMcpToolCall(memberId: string, tool: string, args: Record<string, unknown>): Promise<unknown>;
22
+ sendNotification(method: string, params: Record<string, unknown>): void;
23
+ }
24
+ export declare function ensureProductOrchestrator(host: ProductCoordinatorHost): ProductOrchestrator;
25
+ export declare function ensureProductPlanner(host: ProductCoordinatorHost): ProductPlanner;
@@ -0,0 +1,26 @@
1
+ import type { ProjectInfo } from "../protocol/methods.js";
2
+ import type { ProjectMemoryStore, ProjectMemoryStoreFactory } from "../runtime/ports/index.js";
3
+ export interface ProjectCommandHost {
4
+ memdir: ProjectMemoryStore | null;
5
+ projectMemoryStoreFactory: ProjectMemoryStoreFactory;
6
+ mediaPersistence: {
7
+ setProjectDir(projectDir: string): void;
8
+ };
9
+ setActiveWorkdir(dir: string): void;
10
+ }
11
+ export interface ProjectCreateCommand {
12
+ name: string;
13
+ workspaceDir?: string;
14
+ type?: string;
15
+ groupId?: string;
16
+ }
17
+ export interface ProjectCreateResult {
18
+ project: ProjectInfo;
19
+ nameDuplicate?: ProjectInfo;
20
+ isAgentTeamProject: boolean;
21
+ deduplicated?: boolean;
22
+ }
23
+ type ProjectPlanStatus = NonNullable<ProjectInfo["planStatus"]>;
24
+ export declare function isProjectPlanStatus(value: unknown): value is ProjectPlanStatus;
25
+ export declare function createProject(host: ProjectCommandHost, command: ProjectCreateCommand): ProjectCreateResult;
26
+ export {};
@@ -25,3 +25,4 @@ export interface VolcengineFileTransport {
25
25
  }
26
26
  export declare function isVolcengineFileTransport(transport: unknown): transport is VolcengineFileTransport;
27
27
  export declare function createGeminiFileApi(): GeminiFileAPI;
28
+ export declare function cleanGeminiToolSchema(schema: Record<string, unknown>): Record<string, unknown>;
@@ -2,7 +2,7 @@ import type { AgentLogger } from "../agent/types.js";
2
2
  import type { HookRegistry } from "../contracts/hooks.js";
3
3
  import { type MemoryPrefetchState } from "../runtime/hooks/memory-hooks.js";
4
4
  import type { TaskStore } from "../runtime/infra/task-runtime.js";
5
- import type { MemoryDreamRuntimeProvider, MemoryHandlerProvider, MemoryLearningSink, ProjectMemoryStore } from "../runtime/ports/index.js";
5
+ import type { MemoryDreamRuntimeProvider, MemoryHandlerProvider, MemoryLearningSink, ProjectMemoryStore, ToolCatalog } from "../runtime/ports/index.js";
6
6
  import type { LLMTransport } from "./provider-core-facade.js";
7
7
  export interface RuntimeHookBootstrapDeps {
8
8
  log: AgentLogger;
@@ -10,6 +10,7 @@ export interface RuntimeHookBootstrapDeps {
10
10
  sessionId: string;
11
11
  projectRoot: string;
12
12
  memdir: ProjectMemoryStore;
13
+ toolCatalog: ToolCatalog;
13
14
  currentUserId: string;
14
15
  prefetchState: MemoryPrefetchState;
15
16
  getLastUserMessage(): string | undefined;
@@ -1,12 +1,12 @@
1
1
  import type { AgentLogger } from "../agent/types.js";
2
2
  import type { HookRegistry } from "../contracts/hooks.js";
3
3
  import { type FileWatcher } from "../runtime/infra/file-watcher.js";
4
- import type { PermissionRuleEngine } from "../skills/permissions/rule-engine.js";
4
+ import type { PermissionRuleEnginePort } from "../runtime/ports/index.js";
5
5
  export type { FileWatcher };
6
6
  export interface RuntimeWatcherBootstrapDeps {
7
7
  config: Record<string, unknown>;
8
8
  hooks: HookRegistry;
9
- ruleEngine: PermissionRuleEngine;
9
+ ruleEngine: PermissionRuleEnginePort;
10
10
  sessionId: string;
11
11
  currentFileWatcher: FileWatcher | null;
12
12
  log: AgentLogger;
@@ -1,9 +1,11 @@
1
- import type { PathService } from "../runtime/ports/index.js";
1
+ import type { PathService, ToolBootstrap } from "../runtime/ports/index.js";
2
2
  import type { MediaPersistence } from "../runtime/infra/media-persistence.js";
3
- export declare class CliPathService implements PathService {
3
+ import { DefaultPathService } from "../runtime/infra/default-path-service.js";
4
+ export declare class CliPathService extends DefaultPathService implements PathService {
4
5
  private readonly mediaPersistence;
6
+ private readonly toolBootstrap;
5
7
  private activeWorkdir;
6
- constructor(mediaPersistence: MediaPersistence);
8
+ constructor(mediaPersistence: MediaPersistence, toolBootstrap: ToolBootstrap);
7
9
  getActiveProjectRoot(): string;
8
10
  setActiveWorkdir(dir: string): void;
9
11
  resolveProjectDir(projectId?: string): string | undefined;
@@ -0,0 +1,23 @@
1
+ import { SessionLocator } from "../runtime/session/session-locator.js";
2
+ export interface SessionWorkspaceHost {
3
+ getActiveProjectRoot(): string;
4
+ }
5
+ export interface ThreadListItem {
6
+ id: string;
7
+ title?: string;
8
+ status: "active";
9
+ turnCount: number;
10
+ createdAt?: string;
11
+ lastActiveAt?: string;
12
+ }
13
+ export declare class SessionQueryService {
14
+ private readonly locator;
15
+ private readonly pathService;
16
+ constructor(locator?: SessionLocator, pathService?: import("../runtime/ports/path-service.js").PathService);
17
+ getActiveProjectId(): string;
18
+ getProjectWorkspaceDir(projectId: string): string;
19
+ resolveWorkspaceDir(sessionId: string, projectId?: string): string;
20
+ listThreads(limit: number, projectId?: string): Promise<ThreadListItem[]>;
21
+ resolveSessionWorkspaceDir(host: SessionWorkspaceHost, sessionId: string, projectId?: string): string;
22
+ }
23
+ export declare function safeSessionId(sessionId: string): string;
@@ -0,0 +1,22 @@
1
+ import type { TurnEvent, TurnRequest } from "../agent/types.js";
2
+ import type { HookRegistry } from "../contracts/hooks.js";
3
+ import type { ToolCatalog } from "../runtime/ports/index.js";
4
+ import { type SkillLifecycleRecord } from "../skills/skill-system/skill-lifecycle.js";
5
+ export interface SkillSubturnAgent {
6
+ run(request: TurnRequest, signal?: AbortSignal): AsyncGenerator<TurnEvent>;
7
+ }
8
+ export interface SkillSubturnHost {
9
+ getAgent(): SkillSubturnAgent | null;
10
+ getCurrentSessionId(): string;
11
+ getCurrentHooks(): HookRegistry | null;
12
+ }
13
+ export interface ExecuteSkillSubturnParams {
14
+ host: SkillSubturnHost;
15
+ toolCatalog: ToolCatalog;
16
+ skillName: string;
17
+ skillContent: string;
18
+ userArgs?: string;
19
+ signal?: AbortSignal;
20
+ }
21
+ export declare function executeSkillSubturn(params: ExecuteSkillSubturnParams): Promise<string>;
22
+ export declare function resolveSkillSubagentTypeForLifecycle(skillName: string, record: SkillLifecycleRecord | undefined): string;
@@ -1,14 +1,13 @@
1
- import type { TurnEvent, TurnRequest } from "../agent/types.js";
2
1
  import type { HookRegistry } from "../contracts/hooks.js";
3
2
  import type { NotificationMethod, NotificationMethodMap } from "../protocol/notifications.js";
4
- import type { MemoryLearningSink } from "../runtime/ports/index.js";
3
+ import type { MemoryLearningSink, PathService, ToolCatalog } from "../runtime/ports/index.js";
5
4
  import type { WorkspaceSkill } from "../skills/skill-system/skill-types.js";
6
- import type { SkillLifecycleRecord } from "../skills/skill-system/skill-lifecycle.js";
5
+ import { type SkillSubturnAgent } from "./skill-meta-subturn-service.js";
6
+ export { resolveSkillSubagentTypeForLifecycle } from "./skill-meta-subturn-service.js";
7
7
  export interface SkillMetaToolBootstrapDeps {
8
8
  config: Record<string, unknown>;
9
- }
10
- export interface SkillSubturnAgent {
11
- run(request: TurnRequest, signal?: AbortSignal): AsyncGenerator<TurnEvent>;
9
+ pathService: PathService;
10
+ toolCatalog: ToolCatalog;
12
11
  }
13
12
  export type SkillLearningMemorySink = MemoryLearningSink;
14
13
  export interface SkillMetaToolHost {
@@ -21,5 +20,8 @@ export interface SkillMetaToolHost {
21
20
  getMemoryLearningSink(): SkillLearningMemorySink | null;
22
21
  getMemoryUserId(): string;
23
22
  }
23
+ export interface SkillMetaToolRegistrationContext extends SkillMetaToolBootstrapDeps {
24
+ host: SkillMetaToolHost;
25
+ }
26
+ export declare const skillMetaToolRegistrationModule: import("../runtime/ports/tool-contracts.js").ToolRegistrationModule<SkillMetaToolRegistrationContext>;
24
27
  export declare function configureSkillMetaToolBootstrap(host: SkillMetaToolHost, deps: SkillMetaToolBootstrapDeps): void;
25
- export declare function resolveSkillSubagentTypeForLifecycle(skillName: string, record: SkillLifecycleRecord | undefined): string;
@@ -0,0 +1,26 @@
1
+ export interface SkillListEntry {
2
+ id: string;
3
+ name: string;
4
+ path: string;
5
+ active: boolean;
6
+ scope: "project" | "global";
7
+ category: "automation";
8
+ displayName: {
9
+ key: string;
10
+ fallback: string;
11
+ };
12
+ displayDescription: {
13
+ key: string;
14
+ fallback: string;
15
+ };
16
+ fallbackName: string;
17
+ fallbackDescription: string;
18
+ systemGenerated: boolean;
19
+ version?: string;
20
+ description?: string;
21
+ }
22
+ export declare function extractSkillMeta(skillMdPath: string): {
23
+ version?: string;
24
+ description?: string;
25
+ };
26
+ export declare function listSkillsForProject(projectRoot?: string): SkillListEntry[];
@@ -0,0 +1,78 @@
1
+ import type { Agent } from "../agent/agent.js";
2
+ import type { ToolInvoker } from "../agent/types.js";
3
+ import type { HookRegistry } from "../contracts/hooks.js";
4
+ import type { NotificationMethod, NotificationMethodMap } from "../protocol/notifications.js";
5
+ import type { AcpPermissionRequestParams } from "../protocol/wire/index.js";
6
+ import type { MemoryPrefetchState } from "../runtime/hooks/memory-hooks.js";
7
+ import type { TaskStore } from "../runtime/infra/task-runtime.js";
8
+ import type { MemoryDreamRuntimeProvider, MemoryHandlerProvider, PermissionMetadataResolver, PermissionRuleEnginePort, PathService, ProjectMemoryStore, ToolCatalog } from "../runtime/ports/index.js";
9
+ import type { McpManager } from "../skills/mcp/mcp-manager.js";
10
+ import type { PluginLoader } from "../skills/plugins/plugin-loader.js";
11
+ import type { CliCoreToolHostDeps } from "./core-tool-coordinator.js";
12
+ import { type CliAgentClient } from "./cli-agent-builder.js";
13
+ import type { ResolvedTextGenerationConfig } from "./model-client-resolver.js";
14
+ import type { LLMTransport, ProviderRegistry } from "./provider-core-facade.js";
15
+ import type { MediaPersistence } from "../runtime/infra/media-persistence.js";
16
+ import type { FileWatcher } from "./agent-runtime-bootstrap.js";
17
+ export interface StdioAgentSessionBootstrapDeps {
18
+ config: Record<string, unknown> & {
19
+ maxRounds?: number;
20
+ };
21
+ resolvedTextConfig: ResolvedTextGenerationConfig;
22
+ verbose: boolean;
23
+ taskStore: TaskStore;
24
+ sessionId: string;
25
+ getTurnId(): string;
26
+ projectRoot: string;
27
+ pathService: PathService;
28
+ memdir: ProjectMemoryStore;
29
+ currentUserId: string;
30
+ memoryPrefetchState: MemoryPrefetchState;
31
+ getLastUserMessage(): string | undefined;
32
+ getLastAssistantMessage(): string | undefined;
33
+ resolveSmallModelClient(): {
34
+ transport: LLMTransport;
35
+ apiKey: string;
36
+ model: string;
37
+ } | null;
38
+ providerRegistry: ProviderRegistry;
39
+ mediaPersistence: MediaPersistence;
40
+ toolCatalog: ToolCatalog;
41
+ runtimeSession: {
42
+ mcpManager: McpManager | null;
43
+ permissionUnregister: (() => void) | null;
44
+ fileWatcher: FileWatcher | null;
45
+ getPluginSkills(): ReturnType<PluginLoader["getPluginSkills"]>;
46
+ applyBootstrap(result: {
47
+ hooks: HookRegistry;
48
+ memoryHandlerProvider: MemoryHandlerProvider | null;
49
+ memoryDreamProvider: MemoryDreamRuntimeProvider | null;
50
+ memoryUserId: string;
51
+ permissionChecker: PermissionMetadataResolver;
52
+ permissionUnregister: () => void;
53
+ ruleEngine: PermissionRuleEnginePort;
54
+ }): void;
55
+ };
56
+ setMcpManager(manager: McpManager | null): void;
57
+ setMcpReady(ready: Promise<void>): void;
58
+ setPluginLoader(loader: PluginLoader): void;
59
+ setFileWatcher(watcher: FileWatcher | null): void;
60
+ getAgent(): Agent | null;
61
+ getAcpPermissionSession(): {
62
+ sessionId: string;
63
+ requestPermission(params: AcpPermissionRequestParams): Promise<{
64
+ optionId?: string;
65
+ }>;
66
+ } | undefined;
67
+ isPetActive(): boolean;
68
+ coreToolHost: CliCoreToolHostDeps;
69
+ log(message: string): void;
70
+ sendNotification<M extends NotificationMethod>(method: M, params: NotificationMethodMap[M]): void;
71
+ }
72
+ export interface StdioAgentSessionBootstrapResult {
73
+ agent: Agent;
74
+ agentClient: CliAgentClient;
75
+ toolInvoker: ToolInvoker;
76
+ hooks: HookRegistry;
77
+ }
78
+ export declare function bootstrapStdioAgentSession(deps: StdioAgentSessionBootstrapDeps): StdioAgentSessionBootstrapResult;
@@ -0,0 +1,16 @@
1
+ import type { NotificationMethod, NotificationMethodMap } from "../protocol/notifications.js";
2
+ import type { ModelPurpose } from "../runtime/infra/model-registry.js";
3
+ import type { LLMTransport } from "./provider-core-facade.js";
4
+ import { type StdioRuntimeServices } from "./stdio-runtime-services.js";
5
+ export interface StdioRuntimeBootstrapDeps {
6
+ verbose: boolean;
7
+ getActiveProjectRoot(): string;
8
+ resolveClientForPurpose(purpose: ModelPurpose): {
9
+ transport: LLMTransport;
10
+ apiKey: string;
11
+ model: string;
12
+ } | null;
13
+ log(message: string): void;
14
+ sendNotification<M extends NotificationMethod>(method: M, params: NotificationMethodMap[M]): void;
15
+ }
16
+ export declare function bootstrapStdioRuntimeServices(deps: StdioRuntimeBootstrapDeps): StdioRuntimeServices;
@@ -0,0 +1,36 @@
1
+ import type { NotificationMethod, NotificationMethodMap } from "../protocol/notifications.js";
2
+ import type { MemoryDreamRuntimeProvider, MemoryHandlerProvider, PathService, ToolBootstrap, ToolCatalog } from "../runtime/ports/index.js";
3
+ import { MediaPersistence } from "../runtime/infra/media-persistence.js";
4
+ import { MediaClient, ProviderRegistry, type LLMTransport } from "./provider-core-facade.js";
5
+ import { type MemoryProviderState } from "./memory-coordinator.js";
6
+ import { type PetRuntime } from "./pet-runtime.js";
7
+ import { type TurnMediaSetupHost } from "./turn-media-setup.js";
8
+ export interface StdioRuntimeServicesDeps {
9
+ getActiveProjectRoot(): string;
10
+ resolveClientForPurpose(purpose: import("../runtime/infra/model-registry.js").ModelPurpose): {
11
+ transport: LLMTransport;
12
+ apiKey: string;
13
+ model: string;
14
+ } | null;
15
+ sendNotification<M extends NotificationMethod>(method: M, params: NotificationMethodMap[M]): void;
16
+ }
17
+ export interface StdioRuntimeServices {
18
+ providerRegistry: ProviderRegistry;
19
+ mediaClient: MediaClient;
20
+ mediaPersistence: MediaPersistence;
21
+ pathService: PathService;
22
+ toolCatalog: ToolCatalog;
23
+ toolBootstrap: ToolBootstrap;
24
+ petRuntime: PetRuntime;
25
+ configureTurnMedia(params: {
26
+ host: Omit<TurnMediaSetupHost, "mediaClient">;
27
+ config?: Record<string, unknown>;
28
+ turnId: string;
29
+ }): void;
30
+ ensureMemoryProvider(currentUserId: string): MemoryProviderState;
31
+ closeMemoryProviders(state: {
32
+ memoryProvider: MemoryHandlerProvider | null;
33
+ memoryDreamProvider: MemoryDreamRuntimeProvider | null;
34
+ }): void;
35
+ }
36
+ export declare function createStdioRuntimeServices(deps: StdioRuntimeServicesDeps): StdioRuntimeServices;
@@ -26,18 +26,12 @@ export declare class StdioServer {
26
26
  private turnDone;
27
27
  private verbose;
28
28
  private transport;
29
- private registry;
30
- private mediaClient;
29
+ private readonly runtimeServices;
30
+ private readonly runtimeSession;
31
31
  private agent;
32
32
  private lastLlmConfigKey;
33
33
  private currentSessionId;
34
34
  private currentTurnId;
35
- private currentHooks;
36
- private mcpManager;
37
- private mcpReady;
38
- private pluginLoader;
39
- private permissionChecker;
40
- private permissionUnregister;
41
35
  /** Cached LLM transport for sub-agent forks (dream) */
42
36
  private currentTransport;
43
37
  private currentApiKey;
@@ -47,16 +41,8 @@ export declare class StdioServer {
47
41
  private sessionState;
48
42
  private currentMediaApiKeys;
49
43
  private taskStore;
50
- /** Media auto-download service — persists generated media files locally. */
51
- private mediaPersistence;
52
- private pathService;
53
- private toolCatalog;
54
44
  /** Session-scoped memory prefetch state (LRU dedup + byte limit). */
55
45
  private memoryPrefetchState;
56
- /** Local SQLite memory provider (when better-sqlite3 is available). */
57
- private memoryProvider;
58
- private memoryDreamProvider;
59
- private memoryUserId;
60
46
  /** Last user message text for auto-extract hook (set at turn start, cleared at turn end). */
61
47
  private lastUserMessageForAutoExtract;
62
48
  /** Last assistant message text for implicit extraction hook (set at turn end). */
@@ -65,7 +51,6 @@ export declare class StdioServer {
65
51
  private memdir;
66
52
  private readonly projectMemoryStoreFactory;
67
53
  /** Memory write gate state (P2+P3: category gate + supersedes). */
68
- private fileWatcher;
69
54
  /** Pending ask_user requests waiting for host response */
70
55
  private pendingAskUser;
71
56
  /** Session-level task domain stickiness. Survives across turns within a session. */
@@ -76,9 +61,24 @@ export declare class StdioServer {
76
61
  private acpServer;
77
62
  private sessionHistory;
78
63
  private idleDreamCoordinator;
79
- private petRuntime;
80
64
  private readonly petConfirmCoordinator;
81
65
  private modelRegistryHydration;
66
+ private get registry();
67
+ private get mediaClient();
68
+ private get mediaPersistence();
69
+ private get pathService();
70
+ get toolCatalog(): import("../runtime/ports/tool-contracts.js").ToolCatalog;
71
+ private get petRuntime();
72
+ private get currentHooks();
73
+ private get permissionChecker();
74
+ private set permissionChecker(value);
75
+ private set mcpManager(value);
76
+ private get memoryProvider();
77
+ private set memoryProvider(value);
78
+ private get memoryDreamProvider();
79
+ private set memoryDreamProvider(value);
80
+ private get memoryUserId();
81
+ private set memoryUserId(value);
82
82
  constructor(config: StdioServerConfig);
83
83
  /**
84
84
  * Get the active project workspace directory.
@@ -87,6 +87,7 @@ export declare class StdioServer {
87
87
  private getActiveProjectRoot;
88
88
  ensureModelRegistryHydrated(): Promise<void>;
89
89
  syncToolListMediaConfig(): void;
90
+ configureTurnMedia(config: Record<string, unknown> | undefined, turnId: string): void;
90
91
  /**
91
92
  * Single entry point for updating the active workdir.
92
93
  * Centralizes all side-effects (bootstrap workdir, media persistence, etc.).
@@ -0,0 +1,3 @@
1
+ import type { RuntimeToolContract, ToolCatalog } from "../../runtime/ports/index.js";
2
+ export declare function createToolCatalogFixture(initialTools?: RuntimeToolContract[]): ToolCatalog;
3
+ export declare function createToolFixture(name: string, overrides?: Partial<RuntimeToolContract>): RuntimeToolContract;
@@ -0,0 +1,3 @@
1
+ import type { RuntimeToolContract, ToolBootstrapProvider, ToolBootstrapProviderContext, ToolRegistrationModuleKind } from "../runtime/ports/index.js";
2
+ export declare function runToolBootstrapProviders(providers: readonly ToolBootstrapProvider[], context: ToolBootstrapProviderContext): RuntimeToolContract[];
3
+ export declare function createToolBootstrapProvider(id: string, register: ToolBootstrapProvider["register"], kind?: ToolRegistrationModuleKind): ToolBootstrapProvider;
@@ -3,15 +3,10 @@ import { type TaskToolHooks } from "../skills/tools/task-tool.js";
3
3
  import { type ExecProgress } from "../skills/tools/exec-tool.js";
4
4
  import type { AgentLogger } from "../agent/types.js";
5
5
  import { type AskUserQuestion } from "../skills/tools/ask-user-tool.js";
6
- import { type MediaCapability, type MediaClient, type ProviderToolAPI } from "./provider-core-facade.js";
6
+ import type { PathService, ToolCatalog } from "../runtime/ports/index.js";
7
+ export { setMediaClientConfig, setProviderToolAPI } from "./media-runtime-facade.js";
7
8
  /** Enable or disable group security mode (blocks sensitive file access). */
8
9
  export declare function setGroupSecurityMode(enabled: boolean): void;
9
- /**
10
- * Set the provider's tool API for C-level cascade.
11
- * When set, web_search tool will try provider-native search first,
12
- * falling back to SearXNG. Called from stdio-server per session.
13
- */
14
- export declare function setProviderToolAPI(api: ProviderToolAPI | undefined): void;
15
10
  /** Set callback invoked after LLM-driven project switch. */
16
11
  export declare function setProjectSwitchCallback(cb: ((project: {
17
12
  id: string;
@@ -29,21 +24,13 @@ export declare function setTaskToolHooks(hooks: TaskToolHooks | undefined): void
29
24
  * If null, ask_user returns "user declined" to the LLM.
30
25
  */
31
26
  export declare function setAskUserCallback(callback: ((questions: AskUserQuestion[]) => Promise<Record<string, string> | null>) | null): void;
32
- /**
33
- * Set the media client + API keys for generation tools.
34
- * Tools will call vendor APIs directly through MediaTransport.
35
- * Keys map: { providerId: apiKey, ... }
36
- * Providers map: { "image": { provider: "volcengine", model: "doubao-seedream-5-0-260128" }, ... }
37
- */
38
- export declare function setMediaClientConfig(client: MediaClient | undefined, apiKeys?: Record<string, string>, onMediaUsage?: (model: string, billingUnit: string, quantity: number) => void, providers?: Partial<Record<MediaCapability, {
39
- provider: string;
40
- model: string;
41
- }>>, onMediaProgress?: (taskId: string, mediaType: string, percent: number, status: string, provider?: string) => void): void;
42
- /** Legacy no-op — workspace boundary is now always enforced for writes. */
43
- export declare function setBypassWorkspaceBoundary(_bypass: boolean): void;
27
+ /** Enable full-access mode for trusted sessions that may operate outside the workspace. */
28
+ export declare function setBypassWorkspaceBoundary(bypass: boolean): void;
44
29
  export declare function setBootstrapWorkdir(newWorkdir: string): void;
45
30
  export interface BootstrapConfig {
46
31
  workdir?: string;
32
+ toolCatalog?: ToolCatalog;
33
+ pathService?: PathService;
47
34
  log?: AgentLogger;
48
35
  /** Called during foreground shell execution with incremental progress. */
49
36
  onExecProgress?(progress: ExecProgress): void;
@@ -54,6 +41,6 @@ export interface BootstrapConfig {
54
41
  * CC parity: getAllBaseTools() returns flat array, installed via setToolPool().
55
42
  * Tools execute IN-PROCESS (zero IPC).
56
43
  *
57
- * @alias initToolDeps kept for backward compat with existing call sites.
44
+ * @alias initToolDeps -kept for backward compat with existing call sites.
58
45
  */
59
46
  export declare function getAllBaseTools(config?: BootstrapConfig): PortableTool[];
@@ -1,2 +1,4 @@
1
- import type { ToolCatalog } from "../runtime/ports/index.js";
2
- export declare function createCliToolCatalog(): ToolCatalog;
1
+ import type { ToolBootstrap, ToolCatalog } from "../runtime/ports/index.js";
2
+ import { type ToolRegistry } from "./tool-registry-adapter.js";
3
+ export declare function createCliToolCatalog(registry?: ToolRegistry): ToolCatalog;
4
+ export declare function createCliToolBootstrap(toolCatalog?: ToolCatalog): ToolBootstrap;
@@ -1,8 +1,10 @@
1
1
  import type { ToolInvoker } from "../agent/types.js";
2
2
  import type { NotificationMethod, NotificationMethodMap } from "../protocol/notifications.js";
3
3
  import type { MediaPersistence } from "../runtime/infra/media-persistence.js";
4
+ import type { ToolCatalog } from "../runtime/ports/index.js";
4
5
  export interface LocalToolInvokerDeps {
5
6
  mediaPersistence: MediaPersistence;
7
+ toolCatalog: ToolCatalog;
6
8
  getSessionId(): string;
7
9
  log(message: string): void;
8
10
  sendNotification<M extends NotificationMethod>(method: M, params: NotificationMethodMap[M]): void;
@@ -0,0 +1,5 @@
1
+ import { type ToolRegistry } from "../skills/tools.js";
2
+ import type { ToolCatalog } from "../runtime/ports/index.js";
3
+ export type { ToolRegistry };
4
+ export declare function createToolCatalogFromRegistry(registry?: ToolRegistry): ToolCatalog;
5
+ export declare function createLegacyToolCatalog(): ToolCatalog;
@@ -28,7 +28,7 @@ export interface HookApprovalContext extends HookTurnContext {
28
28
  approvalId: string;
29
29
  callId?: string;
30
30
  toolName?: string;
31
- decision?: "approved" | "denied" | "expired" | "cancelled";
31
+ decision?: "allow" | "deny" | "expired" | "cancelled";
32
32
  }
33
33
  export interface HookSubagentContext extends HookTurnContext {
34
34
  subagentId: string;
@@ -10,7 +10,6 @@ export type { AgentConfig } from "./config/config.js";
10
10
  export type { Transport } from "./cli/transport.js";
11
11
  export { StdioTransport } from "./cli/transport.js";
12
12
  export { StdioServer, type StdioServerConfig } from "./cli/stdio-server.js";
13
- export { ProviderRegistry, createLLMClient, } from "@xiaozhiclaw/provider-core";
14
- export type { LLMTransport, LLMRequest, LLMChunk } from "@xiaozhiclaw/provider-core";
13
+ export type { LLMTransport, LLMRequest, LLMChunk } from "./runtime/ports/index.js";
15
14
  export { createHookRegistry } from "./runtime/hooks/hook-registry.js";
16
15
  export { buildSkillInstruction, } from "./orchestration/index.js";
@@ -4,6 +4,7 @@
4
4
  * State is stored at `<project>/.qlogicagent/products/<productId>/product-state.json`.
5
5
  * Product listing is done by enumerating subdirectories.
6
6
  */
7
+ import type { PathService } from "../runtime/ports/index.js";
7
8
  import type { ProductPhase, ProductInstanceDef } from "../protocol/wire/acp-agent-management.js";
8
9
  import type { SerializedNode } from "./dag-scheduler.js";
9
10
  export interface PersistedProductState {
@@ -23,9 +24,12 @@ export interface PersistedProductState {
23
24
  createdAt: string;
24
25
  lastCheckpointAt: string;
25
26
  }
27
+ export interface ProductPersistenceOptions {
28
+ pathService?: PathService;
29
+ }
26
30
  /** Save product state to disk. */
27
- export declare function saveProductState(state: PersistedProductState, cwd?: string): Promise<void>;
31
+ export declare function saveProductState(state: PersistedProductState, cwd?: string, options?: ProductPersistenceOptions): Promise<void>;
28
32
  /** Load product state from disk. Returns undefined if not found. */
29
- export declare function loadProductState(productId: string, cwd?: string): Promise<PersistedProductState | undefined>;
33
+ export declare function loadProductState(productId: string, cwd?: string, options?: ProductPersistenceOptions): Promise<PersistedProductState | undefined>;
30
34
  /** List all product IDs with their persisted state. */
31
- export declare function listProducts(cwd?: string): Promise<PersistedProductState[]>;
35
+ export declare function listProducts(cwd?: string, options?: ProductPersistenceOptions): Promise<PersistedProductState[]>;
@@ -4,6 +4,7 @@
4
4
  * State is stored at `<project>/.qlogicagent/solos/<soloId>/solo-state.json`.
5
5
  * Mirrors the product-persistence.ts pattern.
6
6
  */
7
+ import type { PathService } from "../runtime/ports/index.js";
7
8
  import type { SoloState, SoloAgentState, SoloEvaluation } from "../protocol/wire/acp-agent-management.js";
8
9
  export interface PersistedSoloState {
9
10
  soloId: string;
@@ -33,11 +34,14 @@ export interface PersistedSoloState {
33
34
  evaluation?: SoloEvaluation;
34
35
  createdAt: number;
35
36
  }
37
+ export interface SoloPersistenceOptions {
38
+ pathService?: PathService;
39
+ }
36
40
  /** Save solo state to disk. */
37
- export declare function saveSoloState(state: PersistedSoloState, cwd?: string): Promise<void>;
41
+ export declare function saveSoloState(state: PersistedSoloState, cwd?: string, options?: SoloPersistenceOptions): Promise<void>;
38
42
  /** Load solo state from disk. Returns undefined if not found. */
39
- export declare function loadSoloState(soloId: string, cwd?: string): Promise<PersistedSoloState | undefined>;
43
+ export declare function loadSoloState(soloId: string, cwd?: string, options?: SoloPersistenceOptions): Promise<PersistedSoloState | undefined>;
40
44
  /** List all solo session IDs with their persisted state. */
41
- export declare function listSoloSessions(cwd?: string): Promise<PersistedSoloState[]>;
45
+ export declare function listSoloSessions(cwd?: string, options?: SoloPersistenceOptions): Promise<PersistedSoloState[]>;
42
46
  /** Delete solo state from disk. */
43
- export declare function deleteSoloState(soloId: string, cwd?: string): Promise<boolean>;
47
+ export declare function deleteSoloState(soloId: string, cwd?: string, options?: SoloPersistenceOptions): Promise<boolean>;
@@ -14,9 +14,9 @@ export interface AgentDefinition {
14
14
  description: string;
15
15
  /** Maximum turns this agent can execute before forced stop. */
16
16
  maxTurns: number;
17
- /** Tool access mode. */
18
- toolAccessMode: "full" | "read-only" | "none";
19
- /** Explicit allowed tool names (if empty, uses toolAccessMode filter). */
17
+ /** Tool capability profile. This is not a user permission mode. */
18
+ toolCapabilityProfile: "all_tools" | "read_tools" | "no_tools";
19
+ /** Explicit allowed tool names (if empty, uses toolCapabilityProfile filter). */
20
20
  allowedTools?: string[];
21
21
  /** Whether this agent can fork sub-agents itself. */
22
22
  canFork: boolean;