qlogicagent 2.10.32 → 2.10.34

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 (137) hide show
  1. package/dist/agent.js +6 -21
  2. package/dist/cli.js +387 -388
  3. package/dist/index.js +389 -390
  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/handlers/workflow-handler.events.test.d.ts +1 -0
  42. package/dist/types/cli/mcp-bootstrap.d.ts +20 -0
  43. package/dist/types/cli/mcp-plugin-bootstrap.d.ts +2 -27
  44. package/dist/types/cli/media-runtime-facade.d.ts +20 -0
  45. package/dist/types/cli/memory-candidate-service.d.ts +74 -0
  46. package/dist/types/cli/memory-coordinator.d.ts +3 -3
  47. package/dist/types/cli/permission-approval-bridge.d.ts +15 -0
  48. package/dist/types/cli/permission-bootstrap.d.ts +6 -6
  49. package/dist/types/cli/permission-runtime-service.d.ts +9 -0
  50. package/dist/types/cli/pet-confirm-coordinator.d.ts +2 -2
  51. package/dist/types/cli/plugin-bootstrap.d.ts +14 -0
  52. package/dist/types/cli/product-coordinator.d.ts +25 -0
  53. package/dist/types/cli/project-command-service.d.ts +26 -0
  54. package/dist/types/cli/provider-core-facade.d.ts +1 -0
  55. package/dist/types/cli/runtime-hook-bootstrap.d.ts +2 -1
  56. package/dist/types/cli/runtime-watcher-bootstrap.d.ts +2 -2
  57. package/dist/types/cli/session-coordinator.d.ts +5 -3
  58. package/dist/types/cli/session-query-service.d.ts +23 -0
  59. package/dist/types/cli/skill-meta-subturn-service.d.ts +22 -0
  60. package/dist/types/cli/skill-meta-tool-bootstrap.d.ts +9 -7
  61. package/dist/types/cli/skills-query-service.d.ts +26 -0
  62. package/dist/types/cli/stdio-agent-session-bootstrap.d.ts +78 -0
  63. package/dist/types/cli/stdio-runtime-bootstrap.d.ts +16 -0
  64. package/dist/types/cli/stdio-runtime-services.d.ts +36 -0
  65. package/dist/types/cli/stdio-server.d.ts +19 -18
  66. package/dist/types/cli/test-support/tool-catalog-fixture.d.ts +3 -0
  67. package/dist/types/cli/tool-bootstrap-providers.d.ts +3 -0
  68. package/dist/types/cli/tool-bootstrap.d.ts +7 -20
  69. package/dist/types/cli/tool-catalog.d.ts +4 -2
  70. package/dist/types/cli/tool-invoker-factory.d.ts +2 -0
  71. package/dist/types/cli/tool-registration-modules.contract.test.d.ts +1 -0
  72. package/dist/types/cli/tool-registry-adapter.d.ts +5 -0
  73. package/dist/types/contracts/hooks.d.ts +1 -1
  74. package/dist/types/index.d.ts +1 -2
  75. package/dist/types/orchestration/product-persistence.d.ts +7 -3
  76. package/dist/types/orchestration/solo-persistence.d.ts +8 -4
  77. package/dist/types/orchestration/subagent/agent-registry.d.ts +3 -3
  78. package/dist/types/orchestration/tool-cascade.d.ts +12 -3
  79. package/dist/types/orchestration/tool-loop/tool-schema.d.ts +4 -1
  80. package/dist/types/orchestration/workflow/qla-executor-host.d.ts +3 -3
  81. package/dist/types/protocol/methods.d.ts +27 -1
  82. package/dist/types/protocol/wire/acp-protocol.d.ts +0 -2
  83. package/dist/types/protocol/wire/agent-events.d.ts +2 -2
  84. package/dist/types/protocol/wire/agent-rpc.d.ts +4 -4
  85. package/dist/types/protocol/wire/capability-manifest.d.ts +2 -1
  86. package/dist/types/protocol/wire/capability-transport.d.ts +2 -2
  87. package/dist/types/protocol/wire/chat-types.d.ts +4 -0
  88. package/dist/types/protocol/wire/index.d.ts +2 -2
  89. package/dist/types/protocol/wire/notification-payloads.d.ts +40 -1
  90. package/dist/types/protocol/wire/web-capability.d.ts +3 -0
  91. package/dist/types/runtime/community/community-consent-client.d.ts +21 -1
  92. package/dist/types/runtime/execution/dream-agent.d.ts +1 -1
  93. package/dist/types/runtime/execution/forked-agent.d.ts +1 -1
  94. package/dist/types/runtime/execution/tool-eligibility.d.ts +14 -37
  95. package/dist/types/runtime/execution/tool-eligibility.test.d.ts +1 -0
  96. package/dist/types/runtime/hooks/context-compression.d.ts +1 -1
  97. package/dist/types/runtime/infra/agent-paths.d.ts +0 -4
  98. package/dist/types/runtime/infra/default-path-service.d.ts +32 -0
  99. package/dist/types/runtime/infra/llmrouter-catalog.d.ts +6 -5
  100. package/dist/types/runtime/infra/model-registry.d.ts +1 -2
  101. package/dist/types/runtime/infra/process-config-port.d.ts +2 -0
  102. package/dist/types/runtime/infra/provider-catalog-adapter.d.ts +48 -0
  103. package/dist/types/runtime/infra/token-budget.d.ts +1 -1
  104. package/dist/types/runtime/pet/pet-reaction-service.d.ts +1 -1
  105. package/dist/types/runtime/pet/pet-reaction-service.test.d.ts +1 -0
  106. package/dist/types/runtime/pet/pet-soul-service.d.ts +1 -0
  107. package/dist/types/runtime/ports/agent-runtime-ports.d.ts +76 -0
  108. package/dist/types/runtime/ports/config-port.d.ts +4 -0
  109. package/dist/types/runtime/ports/index.d.ts +8 -2
  110. package/dist/types/runtime/ports/model-transport-contracts.d.ts +125 -0
  111. package/dist/types/runtime/ports/path-service.d.ts +18 -0
  112. package/dist/types/runtime/ports/permission-contracts.d.ts +8 -3
  113. package/dist/types/runtime/ports/tool-contracts.d.ts +63 -2
  114. package/dist/types/runtime/session/session-persistence.d.ts +1 -1
  115. package/dist/types/runtime/tasks/task-types.d.ts +2 -1
  116. package/dist/types/skills/index.d.ts +1 -109
  117. package/dist/types/skills/mcp/mcp-manager.d.ts +13 -0
  118. package/dist/types/skills/memory/local-memory-provider.d.ts +0 -4
  119. package/dist/types/skills/memory/local-store-records.d.ts +184 -0
  120. package/dist/types/skills/memory/local-store.d.ts +9 -14
  121. package/dist/types/skills/memory/memory-db-path.d.ts +7 -0
  122. package/dist/types/skills/memory/memory-embedding-config.d.ts +31 -0
  123. package/dist/types/skills/memory/memory-provider-factory.d.ts +3 -14
  124. package/dist/types/skills/memory/memory-vector-utils.d.ts +2 -0
  125. package/dist/types/skills/memory/sqlite-memory-mappers.d.ts +6 -0
  126. package/dist/types/skills/memory/sqlite-memory-schema.d.ts +3 -0
  127. package/dist/types/skills/permissions/hook-runner.d.ts +1 -1
  128. package/dist/types/skills/permissions/rule-engine.d.ts +2 -5
  129. package/dist/types/skills/permissions/settings-watcher.d.ts +6 -35
  130. package/dist/types/skills/permissions/types.d.ts +1 -1
  131. package/dist/types/skills/plugins/plugin-loader.d.ts +10 -0
  132. package/dist/types/skills/portable-tool.d.ts +10 -0
  133. package/dist/types/skills/tools/cron-tool.d.ts +0 -20
  134. package/dist/types/skills/tools.d.ts +24 -59
  135. package/dist/types/transport/acp-server.d.ts +7 -7
  136. package/package.json +2 -1
  137. /package/dist/types/{cli/rpc-registry.community.test.d.ts → agent/tool-loop.contract.test.d.ts} +0 -0
@@ -0,0 +1,48 @@
1
+ import { type ProviderVariantCapability } from "@xiaozhiclaw/provider-core";
2
+ export type RuntimeProviderVariantCapability = ProviderVariantCapability;
3
+ export interface RuntimeProviderCatalogProvider {
4
+ id: string;
5
+ name: string;
6
+ transport: string;
7
+ baseUrl: string;
8
+ defaultModel?: string;
9
+ group?: string;
10
+ }
11
+ export interface RuntimeProviderCatalogModel {
12
+ id: string;
13
+ name: string;
14
+ aliases?: string[];
15
+ contextWindow?: number;
16
+ maxOutput?: number;
17
+ streamRequired?: boolean;
18
+ toolCall?: boolean;
19
+ reasoning?: boolean;
20
+ vision?: boolean;
21
+ mediaType?: string;
22
+ costInput?: number;
23
+ costOutput?: number;
24
+ costCacheRead?: number;
25
+ costCacheWrite?: number;
26
+ pricing?: Record<string, unknown>;
27
+ }
28
+ export interface RuntimeProviderVariantResolutionInput {
29
+ publicModel: string;
30
+ requestedProtocol?: "openai-chat" | "openai-responses" | "anthropic-messages" | "volcengine-responses";
31
+ capabilities: RuntimeProviderVariantCapability[];
32
+ purpose: string;
33
+ userPreference?: {
34
+ providerIds?: string[];
35
+ };
36
+ }
37
+ export interface RuntimeProviderVariantResolution {
38
+ provider: string;
39
+ nativeModelId: string;
40
+ }
41
+ export declare class ProviderCatalogAdapter {
42
+ private readonly registry;
43
+ private readonly resolver;
44
+ getProvider(providerId: string): RuntimeProviderCatalogProvider | undefined;
45
+ listProviders(): RuntimeProviderCatalogProvider[];
46
+ listModels(providerId: string): RuntimeProviderCatalogModel[];
47
+ resolveBest(input: RuntimeProviderVariantResolutionInput): RuntimeProviderVariantResolution | undefined;
48
+ }
@@ -5,7 +5,7 @@
5
5
  * 1. Per-task token budget (from TaskStateBase.tokenBudget)
6
6
  * 2. Session-level aggregate budget (all tasks combined)
7
7
  * 3. Budget continuation messages (CC tokenBudget.ts pattern)
8
- * 4. Graceful degradation (warn 鈫?force-stop, never hard-crash)
8
+ * 4. Graceful degradation (warn -> force-stop, never hard-crash)
9
9
  *
10
10
  * CC reference: utils/tokenBudget.ts, main.tsxmax-budget-usd /task-budget
11
11
  *
@@ -4,7 +4,7 @@
4
4
  * P0: Local template pools (no LLM).
5
5
  * P1+: LLM-generated personalized reactions via small model.
6
6
  */
7
- import type { PetSoul } from "./pet-soul-service.js";
7
+ import { type PetSoul } from "./pet-soul-service.js";
8
8
  export type ReactionPool = "greeting" | "completion" | "error" | "curiosity" | "bored" | "memory" | "tool_success";
9
9
  export type ReactionStyle = "normal" | "thinking" | "excited" | "sleepy";
10
10
  /**
@@ -30,6 +30,7 @@ export interface PetBreed {
30
30
  };
31
31
  rarity: string;
32
32
  }
33
+ export declare function hasPetAgentBoundaryViolationText(value: string): boolean;
33
34
  export declare class PetSoulService {
34
35
  private soul;
35
36
  private storagePath;
@@ -0,0 +1,76 @@
1
+ import type { HookRegistry } from "../../contracts/hooks.js";
2
+ import type { OpenAiToolCall } from "./tool-call-contracts.js";
3
+ import type { AgentLogger, ToolDefinition, ToolInvoker } from "./agent-execution-contracts.js";
4
+ export interface RecallCategoryHint {
5
+ preferred: string[];
6
+ deprioritized: string[];
7
+ }
8
+ export interface RuntimeCompressibleMessage {
9
+ role: string;
10
+ content?: string | unknown;
11
+ }
12
+ export interface RuntimeCompressionResult {
13
+ messages: RuntimeCompressibleMessage[];
14
+ droppedCount: number;
15
+ tokensFreed?: number;
16
+ strategy: string;
17
+ }
18
+ export interface ToolExecutionResultPort {
19
+ callId: string;
20
+ toolName: string;
21
+ ok: boolean;
22
+ error?: string;
23
+ blocked?: boolean;
24
+ blockReason?: string;
25
+ durationMs?: number;
26
+ details?: Record<string, unknown>;
27
+ message: unknown;
28
+ }
29
+ export interface StreamingToolExecutorPort {
30
+ addTool(toolCall: OpenAiToolCall): void;
31
+ getRemainingResults(): AsyncIterable<ToolExecutionResultPort>;
32
+ }
33
+ export interface StreamingToolExecutorPortConfig {
34
+ toolInvoker: ToolInvoker;
35
+ hooks?: HookRegistry;
36
+ sessionId: string;
37
+ turnId: string;
38
+ log: AgentLogger;
39
+ signal?: AbortSignal;
40
+ maxConcurrentTools?: number;
41
+ }
42
+ export interface ContextCompressionEnginePort {
43
+ compressAsync(messages: RuntimeCompressibleMessage[], budget: number, context: {
44
+ model: string;
45
+ sessionId: string;
46
+ }): Promise<RuntimeCompressionResult>;
47
+ }
48
+ export interface ToolLoopRuntimePorts {
49
+ createContentReplacementState(): unknown;
50
+ enforceToolResultBudget(messages: Array<{
51
+ role: string;
52
+ content?: string | unknown;
53
+ tool_call_id?: string;
54
+ }>, state: unknown, sessionId: string): Promise<{
55
+ messages: unknown[];
56
+ newlyReplacedCount: number;
57
+ }>;
58
+ getActiveContextCompressionEngine(): ContextCompressionEnginePort | null;
59
+ compressMessages(messages: RuntimeCompressibleMessage[], options: {
60
+ budget: number;
61
+ model: string;
62
+ }): RuntimeCompressionResult;
63
+ getBudgetContinuationMessage(usagePct: number, totalUsed: number, tokenBudget: number): string;
64
+ createStreamingToolExecutor(config: StreamingToolExecutorPortConfig): StreamingToolExecutorPort;
65
+ resolveToolEligibility(tools: ToolDefinition[], context: unknown): {
66
+ eligibleTools: ToolDefinition[];
67
+ blockedTools: Array<{
68
+ toolName: string;
69
+ }>;
70
+ };
71
+ }
72
+ export interface AgentRuntimePorts {
73
+ toolLoop: ToolLoopRuntimePorts;
74
+ detectRecallCategories(query: string): RecallCategoryHint;
75
+ resolveModelForPurpose(purpose: "smallModel" | string): string | null;
76
+ }
@@ -0,0 +1,4 @@
1
+ export interface ConfigPort {
2
+ get(key: string): string | undefined;
3
+ }
4
+ export declare function createRecordConfigPort(values: Record<string, string | undefined>): ConfigPort;
@@ -2,12 +2,18 @@ export type { MemoryWriter, MemoryWriteMetadata } from "./memory-writer.js";
2
2
  export type { MemoryRecallSource } from "./memory-recall-source.js";
3
3
  export type { MemoryProvider, MemorySearchOptions, MemorySearchResult, MemoryIngestMessage, MemoryIngestOptions, MemoryExtractionItem, MemoryConsolidationWriteResult, MemoryLearningSink, MemoryToolLocalProvider, MemoryActivitySummary, MemoryAtlasRecord, MemoryAtlasResult, MemoryUpdatePatch, MemoryHandlerProvider, MemoryDreamProvider, MemoryDecayProvider, MemoryRuntimeHookProvider, MemoryToolProvider, MemoryDreamRuntimeProvider, } from "./memory-provider.js";
4
4
  export type { PathService } from "./path-service.js";
5
+ export type { ConfigPort } from "./config-port.js";
6
+ export { createRecordConfigPort } from "./config-port.js";
5
7
  export { PERMISSION_MODES, } from "./permission-contracts.js";
6
- export type { ApprovalRequest, ApprovalResponse, PermissionApprovalResolver, PermissionBehavior, PermissionConfig, PermissionDecisionReason, PermissionMetadataResolver, PermissionMode, PermissionResult, PermissionRuleEnginePort, PermissionRuleEntry, PermissionUpdate, ToolPermissionCheckInput, } from "./permission-contracts.js";
8
+ export type { ApprovalRequest, ApprovalResponse, PermissionApprovalResolver, PermissionBehavior, PermissionConfig, PermissionDecisionReason, PermissionMetadataResolver, PermissionMode, PermissionRiskLevel, PermissionResult, PermissionRuleEnginePort, PermissionRuleEntry, PermissionUpdate, ToolPermissionCheckInput, } from "./permission-contracts.js";
7
9
  export type { ProjectMemoryFileInfo, ProjectMemoryResult, ProjectMemoryStore, ProjectMemoryStoreFactory, } from "./project-memory-store.js";
8
- export type { ToolBootstrap, ToolCatalog } from "./tool-contracts.js";
10
+ export type { RuntimeToolContract, ToolBootstrap, ToolBootstrapConfig, ToolBootstrapProvider, ToolBootstrapProviderContext, ToolBootstrapProgress, ToolCatalog, ToolRegistrationModule, ToolRegistrationModuleKind, } from "./tool-contracts.js";
11
+ export { defineToolRegistrationModule } from "./tool-contracts.js";
9
12
  export type { Checkpoint, CheckpointBackend, CheckpointResult } from "./checkpoint-contracts.js";
10
13
  export type { WorktreeBackend, WorktreeInfo, WorktreeResult } from "./worktree-contracts.js";
11
14
  export type { WebSearchBackend, WebSearchOutput, WebSearchResult } from "./web-search-contracts.js";
12
15
  export { buildToolResultMessage, type OpenAiToolCall, type ToolResultMessageInput } from "./tool-call-contracts.js";
13
16
  export type { AgentLogger, AgentRunRequest, ChatMessage, ForkedAgentRunner, ForkedAgentRunnerFactory, HookRegistry, TokenUsage, ToolDefinition, ToolInvoker, TurnEvent, } from "./agent-execution-contracts.js";
17
+ export type { AccumulatedToolCall, LLMChunk, LLMRequest, LLMTransport, } from "./model-transport-contracts.js";
18
+ export { accumulateToolCalls } from "./model-transport-contracts.js";
19
+ export type { AgentRuntimePorts, ContextCompressionEnginePort, RecallCategoryHint, RuntimeCompressibleMessage, RuntimeCompressionResult, StreamingToolExecutorPort, StreamingToolExecutorPortConfig, ToolExecutionResultPort, ToolLoopRuntimePorts, } from "./agent-runtime-ports.js";
@@ -0,0 +1,125 @@
1
+ import type { ChatMessage, ToolDefinition } from "./agent-execution-contracts.js";
2
+ export type StructuredOutputConfig = {
3
+ mode: "json_object";
4
+ } | {
5
+ mode: "json_schema";
6
+ name: string;
7
+ schema: Record<string, unknown>;
8
+ strict?: boolean;
9
+ };
10
+ export interface LLMRequest {
11
+ model: string;
12
+ messages: ChatMessage[];
13
+ tools?: ToolDefinition[];
14
+ toolChoice?: "auto" | "none" | "required" | {
15
+ type: "function";
16
+ name: string;
17
+ };
18
+ temperature?: number;
19
+ topP?: number;
20
+ maxTokens?: number;
21
+ reasoning?: {
22
+ effort: "minimal" | "low" | "medium" | "high" | "xhigh";
23
+ includeEncryptedReasoning?: boolean;
24
+ };
25
+ maxToolCalls?: number;
26
+ prefixMessage?: string;
27
+ streamRequired?: boolean;
28
+ disableBuiltinTools?: boolean;
29
+ builtinTools?: Array<{
30
+ type: string;
31
+ config?: Record<string, unknown>;
32
+ }>;
33
+ previousResponseId?: string;
34
+ store?: boolean;
35
+ storeExpireAt?: number;
36
+ instructions?: string;
37
+ structuredOutput?: StructuredOutputConfig;
38
+ caching?: {
39
+ type: "enabled" | "disabled";
40
+ prefix?: boolean;
41
+ };
42
+ contextManagement?: {
43
+ edits: Array<Record<string, unknown>>;
44
+ };
45
+ cachedContent?: string;
46
+ prediction?: {
47
+ type: "content";
48
+ content: string;
49
+ };
50
+ promptCacheKey?: string;
51
+ promptCacheRetention?: "in_memory" | "24h";
52
+ serviceTier?: "auto" | "default" | "flex" | "priority";
53
+ openaiBuiltinTools?: Array<{
54
+ type: string;
55
+ [key: string]: unknown;
56
+ }>;
57
+ conversationId?: string;
58
+ parallelToolCalls?: boolean;
59
+ textVerbosity?: "low" | "medium" | "high";
60
+ }
61
+ export type LLMChunk = {
62
+ type: "delta";
63
+ text: string;
64
+ } | {
65
+ type: "tool_call_delta";
66
+ index: number;
67
+ id?: string;
68
+ name?: string;
69
+ arguments: string;
70
+ } | {
71
+ type: "reasoning_delta";
72
+ text: string;
73
+ } | {
74
+ type: "reasoning_block_complete";
75
+ thinking: string;
76
+ signature: string;
77
+ } | {
78
+ type: "usage";
79
+ promptTokens: number;
80
+ completionTokens: number;
81
+ reasoningTokens?: number;
82
+ cacheReadTokens?: number;
83
+ cacheCreationTokens?: number;
84
+ } | {
85
+ type: "response_id";
86
+ id: string;
87
+ } | {
88
+ type: "builtin_tool_status";
89
+ toolType: string;
90
+ event: string;
91
+ data?: Record<string, unknown>;
92
+ } | {
93
+ type: "annotations";
94
+ annotations: Array<{
95
+ type: string;
96
+ url?: string;
97
+ title?: string;
98
+ [key: string]: unknown;
99
+ }>;
100
+ } | {
101
+ type: "error";
102
+ message: string;
103
+ } | {
104
+ type: "done";
105
+ finishReason: string;
106
+ };
107
+ export interface AccumulatedToolCall {
108
+ id: string;
109
+ name: string;
110
+ arguments: string;
111
+ }
112
+ export interface LLMTransport {
113
+ stream(request: LLMRequest, apiKey: string, signal?: AbortSignal): AsyncGenerator<LLMChunk>;
114
+ complete?(request: {
115
+ model: string;
116
+ prompt: string;
117
+ suffix?: string;
118
+ maxTokens?: number;
119
+ temperature?: number;
120
+ stop?: string[];
121
+ }, apiKey: string, signal?: AbortSignal): AsyncGenerator<unknown>;
122
+ }
123
+ export declare function accumulateToolCalls(accumulator: Map<number, AccumulatedToolCall>, chunk: LLMChunk & {
124
+ type: "tool_call_delta";
125
+ }): void;
@@ -2,4 +2,22 @@ export interface PathService {
2
2
  getActiveProjectRoot(): string;
3
3
  setActiveWorkdir(dir: string): void;
4
4
  resolveProjectDir(projectId?: string): string | undefined;
5
+ resolveActiveOwnerUserId(): string;
6
+ getUserAgentHome(): string;
7
+ getOwnerProfileDir(ownerUserId?: string): string;
8
+ getProfileMemoryDir(ownerUserId?: string): string;
9
+ getUserSettingsPath(): string;
10
+ getUserSkillsDir(): string;
11
+ getUserPluginsDir(): string;
12
+ getUserMcpConfigPath(): string;
13
+ getUserPluginCacheDir(): string;
14
+ getUserMarketplaceConfigPath(): string;
15
+ getProjectAgentDir(projectRoot?: string): string;
16
+ getProjectSettingsPath(projectRoot?: string): string;
17
+ getProjectInstructionsPath(projectRoot?: string): string;
18
+ getProjectSkillsDir(projectRoot?: string): string;
19
+ getProjectRulesDir(projectRoot?: string): string;
20
+ getProjectSessionsRoot(projectRoot?: string): string;
21
+ getKnownProjectDirs(projectDirs: string[], excludeCwd?: string): string[];
22
+ getAllProjectSkillDirs(projectDirs: string[], excludeCwd?: string): string[];
5
23
  }
@@ -1,6 +1,7 @@
1
- export type PermissionMode = "default" | "bypassPermissions" | "acceptEdits" | "dontAsk" | "plan" | "auto";
1
+ export type PermissionMode = "default" | "auto" | "full_access";
2
2
  export declare const PERMISSION_MODES: readonly PermissionMode[];
3
- export type PermissionBehavior = "allow" | "deny" | "ask";
3
+ export type PermissionBehavior = "allow" | "ask" | "deny";
4
+ export type PermissionRiskLevel = "read" | "write" | "system" | "external_egress";
4
5
  export interface PermissionRuleEntry {
5
6
  pattern: string;
6
7
  behavior: PermissionBehavior;
@@ -68,6 +69,7 @@ export interface ToolPermissionCheckInput {
68
69
  toolName: string;
69
70
  arguments?: Record<string, unknown>;
70
71
  meta?: {
72
+ riskLevel?: PermissionRiskLevel;
71
73
  isReadOnly?: boolean;
72
74
  isDangerous?: boolean;
73
75
  requiresApproval?: boolean;
@@ -84,13 +86,16 @@ export interface ApprovalRequest {
84
86
  }
85
87
  export interface ApprovalResponse {
86
88
  approvalId: string;
87
- decision: "approved" | "denied";
89
+ decision: "allow" | "deny";
88
90
  updatedInput?: Record<string, unknown>;
89
91
  permissionUpdate?: PermissionUpdate;
90
92
  }
91
93
  export interface PermissionRuleEnginePort {
94
+ getMode(): PermissionMode;
92
95
  setMode(mode: PermissionMode): void;
96
+ getRules(): readonly PermissionRuleEntry[];
93
97
  replaceRules(rules: PermissionRuleEntry[]): void;
98
+ getDefaultBehavior(): PermissionBehavior;
94
99
  setDefaultBehavior(behavior: PermissionBehavior): void;
95
100
  }
96
101
  export interface PermissionApprovalResolver {
@@ -1,23 +1,84 @@
1
1
  import type { ToolDefinition } from "../../protocol/wire/index.js";
2
+ import type { PathService } from "./path-service.js";
3
+ import type { PermissionRiskLevel } from "./permission-contracts.js";
2
4
  export interface RuntimeToolContract {
3
5
  name: string;
4
6
  label: string;
5
7
  description: string;
6
8
  parameters: Record<string, unknown>;
9
+ category?: string;
10
+ displayName?: {
11
+ key: string;
12
+ fallback: string;
13
+ values?: Partial<Record<string, string>>;
14
+ };
15
+ displayDescription?: {
16
+ key: string;
17
+ fallback: string;
18
+ values?: Partial<Record<string, string>>;
19
+ };
20
+ searchHint?: string;
21
+ isConcurrencySafe?: boolean;
22
+ isReadOnly?: boolean;
23
+ riskLevel?: PermissionRiskLevel;
7
24
  isEnabled?: () => boolean;
8
25
  shouldDefer?: boolean;
9
- execute?(toolCallId: string, params: Record<string, unknown>, signal?: AbortSignal): Promise<{
26
+ execute?(toolCallId: string, params: any, signal?: AbortSignal): Promise<{
10
27
  content: Array<{
28
+ type: "text" | "image";
11
29
  text?: string;
30
+ data?: string;
31
+ mimeType?: string;
12
32
  }>;
33
+ details?: Record<string, unknown>;
34
+ imageUrls?: string[];
13
35
  }>;
14
36
  }
15
37
  export interface ToolCatalog {
16
38
  findTool(name: string): RuntimeToolContract | undefined;
17
39
  getToolManifest(includeDeferred?: boolean): ToolDefinition[];
18
40
  getToolNames(): string[];
41
+ setTools(tools: RuntimeToolContract[]): void;
42
+ addTool(tool: RuntimeToolContract): void;
43
+ addTools(tools: RuntimeToolContract[]): void;
44
+ removeTool(name: string): boolean;
45
+ activateTool(name: string): boolean;
46
+ clearActivatedTools(): void;
47
+ }
48
+ export interface ToolBootstrapProgress {
49
+ output: string;
50
+ elapsedTimeSeconds: number;
51
+ totalLines: number;
52
+ totalBytes: number;
53
+ }
54
+ export interface ToolBootstrapConfig {
55
+ workdir?: string;
56
+ toolCatalog?: ToolCatalog;
57
+ pathService?: PathService;
58
+ log?: {
59
+ info(message: string): void;
60
+ warn(message: string): void;
61
+ error(message: string): void;
62
+ debug(message: string): void;
63
+ };
64
+ onExecProgress?(progress: ToolBootstrapProgress): void;
19
65
  }
20
66
  export interface ToolBootstrap {
21
- getAllBaseTools(): RuntimeToolContract[];
67
+ getAllBaseTools(config?: ToolBootstrapConfig): RuntimeToolContract[];
22
68
  setWorkdir(dir: string): void;
23
69
  }
70
+ export interface ToolBootstrapProviderContext {
71
+ config?: ToolBootstrapConfig;
72
+ }
73
+ export interface ToolBootstrapProvider {
74
+ id: string;
75
+ kind?: ToolRegistrationModuleKind;
76
+ register(tools: RuntimeToolContract[], context: ToolBootstrapProviderContext): void;
77
+ }
78
+ export type ToolRegistrationModuleKind = "core" | "dev" | "mcp" | "plugin" | "skill" | "local" | "media" | "compat";
79
+ export interface ToolRegistrationModule<TContext extends object = Record<string, unknown>> {
80
+ id: string;
81
+ kind: ToolRegistrationModuleKind;
82
+ register(context: TContext): void | Promise<void>;
83
+ }
84
+ export declare function defineToolRegistrationModule<TContext extends object>(module: ToolRegistrationModule<TContext>): ToolRegistrationModule<TContext>;
@@ -107,7 +107,7 @@ export declare function deleteSession(sessionId: string, projectRoot: string): P
107
107
  */
108
108
  export declare function pruneOldSessions(projectRoot: string): Promise<number>;
109
109
  export interface TaskSummaryDeps {
110
- transport: import("@xiaozhiclaw/provider-core").LLMTransport;
110
+ transport: import("../ports/index.js").LLMTransport;
111
111
  apiKey: string;
112
112
  model: string;
113
113
  }
@@ -9,6 +9,7 @@
9
9
  *
10
10
  * Reference: claude-code src/tasks/types.ts
11
11
  */
12
+ import type { PermissionMode } from "../ports/permission-contracts.js";
12
13
  /**
13
14
  * The 7 task types from CC's sub-agent architecture.
14
15
  *
@@ -98,7 +99,7 @@ export interface InProcessTeammateTaskState extends TaskStateBase {
98
99
  teamName: string;
99
100
  agentName: string;
100
101
  /** Teammate's independent permission mode. */
101
- permissionMode: string;
102
+ permissionMode: PermissionMode;
102
103
  /** Async mailbox for coordinator ↔ worker communication. */
103
104
  mailboxId?: string;
104
105
  /** Isolated git worktree path for this teammate (CC team worktree parity). */
@@ -1,115 +1,7 @@
1
1
  export type { PortableTool, PortableToolResult, ToolContentBlock, } from "./portable-tool.js";
2
- export { setToolPool, addTool, addTools, removeTool, findTool, hasTool, getToolNames, getToolCount, executeTool, getToolManifest, getTools, activateTool, isToolActivated, clearActivatedTools, AGENT_DISALLOWED_TOOLS, CUSTOM_AGENT_DISALLOWED_TOOLS, filterToolsForAgent, } from "./tools.js";
3
- export { MEMORY_TOOL_NAME, MEMORY_TOOL_ACTIONS, MEMORY_TOOL_SCHEMA, MEMORY_TOOL_DESCRIPTION, MEMORY_TOOL_LABEL, isMemoryContentSafe, executeMemoryTool, } from "./memory/memory-tool.js";
4
- export type { MemoryToolAction, MemoryToolParams, MemoryToolResult, MemoryToolExecutorDeps, } from "./memory/memory-tool.js";
5
- export { Memdir, getMemdirPath, getIndexPath } from "./memory/memdir.js";
6
- export type { MemdirFileInfo, MemdirResult } from "./memory/memdir.js";
7
- export { createMemoryProvider, resolveMemoryConfigFromEnv } from "./memory/memory-provider-factory.js";
8
- export type { MemoryProviderFactoryConfig, MemoryProviderFactoryResult } from "./memory/memory-provider-factory.js";
9
- export { LocalMemoryProvider } from "./memory/local-memory-provider.js";
10
- export type { LocalMemoryProviderConfig, ExtractedMemoryItem } from "./memory/local-memory-provider.js";
11
- export { THINK_TOOL_NAME, THINK_TOOL_SCHEMA, createThinkTool } from "./think-tool.js";
12
- export type { ThinkToolParams } from "./think-tool.js";
13
- export { READ_TOOL_NAME, READ_TOOL_SCHEMA, createReadTool } from "./tools/read-tool.js";
14
- export type { ReadToolParams, ReadToolDeps, ReadResultType } from "./tools/read-tool.js";
15
- export { WRITE_TOOL_NAME, WRITE_TOOL_SCHEMA, createWriteTool } from "./tools/write-tool.js";
16
- export type { WriteToolParams, WriteToolDeps } from "./tools/write-tool.js";
17
- export { EDIT_TOOL_NAME, EDIT_TOOL_SCHEMA, createEditTool } from "./tools/edit-tool.js";
18
- export type { EditToolParams, EditToolDeps } from "./tools/edit-tool.js";
19
- export { APPLY_PATCH_TOOL_NAME, APPLY_PATCH_TOOL_SCHEMA, createApplyPatchTool } from "./tools/apply-patch-tool.js";
20
- export type { ApplyPatchToolParams, ApplyPatchToolDeps, ApplyPatchSummary } from "./tools/apply-patch-tool.js";
21
- export { EXEC_TOOL_NAME, EXEC_TOOL_SCHEMA, createExecTool, ASSISTANT_BLOCKING_BUDGET_MS } from "./tools/exec-tool.js";
22
- export type { ExecToolParams, ExecToolHost, ExecProgress, ExecToolOutput } from "./tools/exec-tool.js";
23
- export { isPowerShellToolEnabled, getDefaultShellType, generateCommandId, createBashProvider, createPowerShellProvider, encodePowerShellCommand, classifyCommand, commandHasAnyCd, SEARCH_COMMANDS, READ_COMMANDS, LIST_COMMANDS, SILENT_COMMANDS, SAFE_ENV_VARS, BARE_SHELL_PREFIXES, stripSafeWrappers, stripAllLeadingEnvVars, getSimpleCommandPrefix, getFirstWordPrefix, stripWrappersFromArgv, detectBlockedSleepPattern, TaskOutput, generateTaskId, getTaskOutputDir, setTaskOutputDir, getTaskOutputPath, MAX_TASK_OUTPUT_BYTES, wrapSpawn, createAbortedCommand, createFailedCommand, exec, getCwd, setCwd, initCwd, getOriginalCwd, setShellProvider, getShellProvider, } from "./tools/shell/index.js";
24
- export type { ShellType, ShellProvider, BuildCommandOpts, BuiltCommand, BashProviderOptions, CommandClassification, ProgressCallback, ExecResult, ShellCommand, ExecOptions, } from "./tools/shell/index.js";
25
- export { SEARCH_TOOL_NAME, SEARCH_TOOL_SCHEMA, createSearchTool } from "./tools/search-tool.js";
26
- export type { SearchToolParams, SearchToolDeps, SearchMode, SearchOutput, SearchFileResult, SearchContentResult, } from "./tools/search-tool.js";
27
- export { IMAGE_GENERATE_TOOL_NAME, IMAGE_GENERATE_TOOL_SCHEMA, createImageGenerateTool } from "./tools/image-generate-tool.js";
28
- export type { ImageGenerateToolParams, ImageGenerateToolDeps, ImageGenerateResult } from "./tools/image-generate-tool.js";
29
- export { VIDEO_GENERATE_TOOL_NAME, VIDEO_GENERATE_TOOL_SCHEMA, createVideoGenerateTool } from "./tools/video-generate-tool.js";
30
- export type { VideoGenerateToolParams, VideoGenerateToolDeps, VideoGenerateResult } from "./tools/video-generate-tool.js";
31
- export { VIDEO_MERGE_TOOL_NAME, VIDEO_MERGE_TOOL_SCHEMA, createVideoMergeTool } from "./tools/video-merge-tool.js";
32
- export type { VideoMergeToolParams, VideoMergeToolDeps, VideoMergeClip, VideoMergeResult } from "./tools/video-merge-tool.js";
33
- export { VIDEO_UPSCALE_TOOL_NAME, VIDEO_UPSCALE_TOOL_SCHEMA, createVideoUpscaleTool } from "./tools/video-upscale-tool.js";
34
- export type { VideoUpscaleToolParams, VideoUpscaleToolDeps, VideoUpscaleResult } from "./tools/video-upscale-tool.js";
35
- export { VIDEO_EDIT_TOOL_NAME, VIDEO_EDIT_TOOL_SCHEMA, createVideoEditTool } from "./tools/video-edit-tool.js";
36
- export type { VideoEditToolParams, VideoEditToolDeps, VideoEditResult } from "./tools/video-edit-tool.js";
37
- export { MUSIC_GENERATE_TOOL_NAME, MUSIC_GENERATE_TOOL_SCHEMA, createMusicGenerateTool } from "./tools/music-generate-tool.js";
38
- export type { MusicGenerateToolParams, MusicGenerateToolDeps, MusicGenerateResult } from "./tools/music-generate-tool.js";
39
- export { TTS_TOOL_NAME, TTS_TOOL_SCHEMA, createTtsTool } from "./tools/tts-tool.js";
40
- export type { TtsToolParams, TtsToolDeps, TtsResult } from "./tools/tts-tool.js";
41
- export { WEB_FETCH_TOOL_NAME, WEB_FETCH_TOOL_SCHEMA, createWebFetchTool } from "./tools/web-fetch-tool.js";
42
- export type { WebFetchToolParams, WebFetchToolDeps, WebFetchResult } from "./tools/web-fetch-tool.js";
43
- export { WEB_SEARCH_TOOL_NAME, WEB_SEARCH_TOOL_SCHEMA, createWebSearchTool } from "./tools/web-search-tool.js";
44
- export type { WebSearchToolParams, WebSearchToolDeps, WebSearchResult, WebSearchOutput } from "./tools/web-search-tool.js";
45
- export { ASK_USER_TOOL_NAME, ASK_USER_TOOL_SCHEMA, createAskUserTool } from "./tools/ask-user-tool.js";
46
- export type { AskUserToolParams, AskUserToolDeps, AskUserQuestion, AskUserOption, AskUserAnswer } from "./tools/ask-user-tool.js";
47
- export { BRIEF_TOOL_NAME, BRIEF_TOOL_SCHEMA, createBriefTool } from "./tools/brief-tool.js";
48
- export type { BriefToolParams, BriefToolDeps, BriefMessageStatus, BriefAttachment, BriefDeliveryResult, BriefModeConfig, } from "./tools/brief-tool.js";
49
- export { TOOL_SEARCH_TOOL_NAME, TOOL_SEARCH_TOOL_SCHEMA, createToolSearchTool } from "./tools/tool-search-tool.js";
50
- export type { ToolSearchToolParams, ToolSearchToolDeps, DeferredToolInfo, ToolSearchOutput } from "./tools/tool-search-tool.js";
51
- export { SKILL_TOOL_NAME, SKILL_TOOL_SCHEMA, createSkillMetaTool } from "./tools/skill-tool.js";
52
- export type { SkillAction, SkillToolParams, SkillToolDeps, SkillListItem, SkillListOutput, SkillViewOutput, SkillManageResult } from "./tools/skill-tool.js";
53
- export { PATCH_TOOL_NAME, PATCH_TOOL_SCHEMA, createPatchTool, fuzzyFind } from "./tools/patch-tool.js";
54
- export type { PatchToolParams, PatchToolDeps, PatchResult, MatchStrategy, MatchResult } from "./tools/patch-tool.js";
55
- export { AGENT_TOOL_NAME, AGENT_TOOL_SCHEMA, createAgentTool } from "./tools/agent-tool.js";
56
- export type { AgentToolParams, AgentToolDeps, AgentResult } from "./tools/agent-tool.js";
57
- export { TASK_TOOL_NAME, TASK_TOOL_SCHEMA, TASK_ACTIONS, createTaskTool, summarizeTaskList } from "./tools/task-tool.js";
58
- export type { TaskToolParams, TaskToolOptions, TaskToolHooks, TaskItem, TaskListSummary, TaskAction, TaskStatus } from "./tools/task-tool.js";
59
- export { REPL_TOOL_NAME, REPL_TOOL_SCHEMA, REPL_HIDES_TOOLS, createReplTool } from "./tools/repl-tool.js";
60
- export type { ReplToolParams, ReplToolDeps, ReplPrimitives, ReplExecResult } from "./tools/repl-tool.js";
61
- export { BROWSER_TOOL_NAME, BROWSER_TOOL_SCHEMA, createBrowserTool } from "./tools/browser-tool.js";
62
- export type { BrowserToolParams, BrowserToolDeps, BrowserAction, BrowserSnapshot, BrowserScreenshot } from "./tools/browser-tool.js";
63
- export { CRON_TOOL_NAME, CRON_TOOL_SCHEMA, MAX_CRON_JOBS, createCronTool } from "./tools/cron-tool.js";
64
- export type { CronToolParams, CronToolDeps, CronJob, CronResult, CronAction } from "./tools/cron-tool.js";
65
- export { CHECKPOINT_TOOL_NAME, CHECKPOINT_TOOL_SCHEMA, createCheckpointTool } from "./tools/checkpoint-tool.js";
66
- export type { CheckpointToolParams, CheckpointToolDeps, Checkpoint, CheckpointResult, CheckpointAction } from "./tools/checkpoint-tool.js";
67
- export { NOTIFY_TOOL_NAME, NOTIFY_TOOL_SCHEMA, createNotifyTool } from "./tools/notify-tool.js";
68
- export type { NotifyToolParams, NotifyToolDeps, NotifyResult } from "./tools/notify-tool.js";
69
- export { SEND_MESSAGE_TOOL_NAME, SEND_MESSAGE_TOOL_SCHEMA, createSendMessageTool } from "./tools/send-message-tool.js";
70
- export type { SendMessageToolParams, SendMessageToolDeps, SendMessageResult } from "./tools/send-message-tool.js";
71
- export { TEAM_TOOL_NAME, TEAM_TOOL_SCHEMA, createTeamTool } from "./tools/team-tool.js";
72
- export type { TeamToolParams, TeamToolDeps, TeamMember, Team, TeamResult, TeamAction } from "./tools/team-tool.js";
73
- export { LSP_TOOL_NAME, LSP_TOOL_SCHEMA, createLspTool } from "./tools/lsp-tool.js";
74
- export type { LspToolParams, LspToolDeps, LspOperation, LspLocation, LspSymbol, LspDiagnostic, LspHoverInfo, LspCompletion, LspRenameEdit, LspCodeAction, LspResult } from "./tools/lsp-tool.js";
75
- export { PLAN_MODE_TOOL_NAME, PLAN_MODE_TOOL_SCHEMA, PLAN_MODE_ALLOWED_TOOLS, createPlanModeTool } from "./tools/plan-mode-tool.js";
76
- export type { PlanModeToolParams, PlanModeToolDeps, PlanModeAction, PlanModeState, PlanModeResult } from "./tools/plan-mode-tool.js";
77
- export { WORKTREE_TOOL_NAME, WORKTREE_TOOL_SCHEMA, createWorktreeTool } from "./tools/worktree-tool.js";
78
- export type { WorktreeToolParams, WorktreeToolDeps, WorktreeAction, WorktreeInfo, WorktreeResult } from "./tools/worktree-tool.js";
79
- export { MCP_TOOL_NAME, MCP_TOOL_SCHEMA, createMcpTool, createMcpAuthProxy } from "./tools/mcp-tool.js";
80
- export { normalizeNameForMcp, buildMcpToolName, getMcpServerPrefix, parseMcpToolName, isMcpToolName, MCP_CONNECTION_TIMEOUT_MS, MCP_REQUEST_TIMEOUT_MS, MCP_TOOL_CALL_TIMEOUT_MS, MCP_MAX_RECONNECT_ATTEMPTS, MCP_MAX_DESCRIPTION_LENGTH, } from "./tools/mcp-tool.js";
81
- export type { McpToolParams, McpToolDeps, McpAction, McpManageAction, McpServer, McpToolInfo, McpResource, McpResourceContent, McpCallResult, McpAuthResult, McpPromptResult, McpManageResult, McpAuthProxyDeps, McpServerConfig, McpStdioConfig, McpSseConfig, McpHttpConfig, McpWsConfig, McpInProcessConfig, McpServerState, McpConnectionStatus, McpServerCapabilities, McpExternalTool, McpToolAnnotations, McpToolIdentifier, McpToolsChangedEvent, McpResourceDefinition, McpResourceTemplate, McpPersistedResourceContent, McpPromptDefinition, McpPromptMessage, McpPromptArgument, McpPromptContent, McpElicitResult, McpElicitRequest, McpOAuthConfig, McpOAuthTokens, McpAuthState, McpLogEntry, McpLogLevel, McpTransportType, } from "./tools/mcp-tool.js";
82
- export type { McpResourceContentItem, } from "./tools/mcp-client-types.js";
83
- export { CONFIG_TOOL_NAME, CONFIG_TOOL_SCHEMA, CONFIG_READONLY_KEYS, createConfigTool } from "./tools/config-tool.js";
84
- export type { ConfigToolParams, ConfigToolDeps, ConfigAction, ConfigSetting, ConfigResult } from "./tools/config-tool.js";
85
- export { SLEEP_TOOL_NAME, SLEEP_TOOL_SCHEMA, createSleepTool } from "./tools/sleep-tool.js";
86
- export type { SleepToolParams, SleepToolDeps, SleepResult } from "./tools/sleep-tool.js";
87
- export { MONITOR_TOOL_NAME, MONITOR_TOOL_SCHEMA, createMonitorTool } from "./tools/monitor-tool.js";
88
- export type { MonitorToolParams, MonitorToolDeps, MonitorSource, MonitorAction, MonitorCondition, MonitorInfo, MonitorResult, } from "./tools/monitor-tool.js";
89
- export { STRUCTURED_OUTPUT_TOOL_NAME, STRUCTURED_OUTPUT_TOOL_SCHEMA, STRUCTURED_OUTPUT_MAX_CHARS, createStructuredOutputTool, createConfiguredStructuredOutputTool, isStructuredOutputEnabled, } from "./tools/structured-output-tool.js";
90
- export type { StructuredOutputToolParams, StructuredOutputToolDeps, StructuredOutputResult, SchemaValidationError, ConfiguredToolResult, SchemaCompiler, } from "./tools/structured-output-tool.js";
91
- export { INSTRUCTIONS_TOOL_NAME, INSTRUCTIONS_TOOL_SCHEMA, createInstructionsTool, } from "./tools/instructions-tool.js";
92
- export type { InstructionFileInfo, InstructionFileContent, InstructionsToolDeps, InstructionsAction, InstructionsToolParams, } from "./tools/instructions-tool.js";
2
+ export { AGENT_DISALLOWED_TOOLS, CUSTOM_AGENT_DISALLOWED_TOOLS, filterToolsForAgent, } from "./tool-access.js";
93
3
  export type { ParsedSkillFrontmatter, WorkspaceSkill, SkillInstallSpec, SkillMetadata, SkillInvocationPolicy, SkillEntry, SkillCommandDispatchSpec, SkillCommandSpec, SkillSnapshot, SkillScanSeverity, SkillScanFinding, SkillScanSummary, SkillScanOptions, SkillFsDeps, SkillPathDeps, SkillLoadLimits, SkillSearchPaths, SkillLoaderDeps, } from "./skill-system/skill-types.js";
94
4
  export { parseFrontmatter, resolveSkillMetadata, resolveSkillInvocationPolicy, resolveSkillKey, } from "./skill-system/skill-frontmatter.js";
95
5
  export { loadSkillEntries, filterSkillEntries, buildSkillSnapshot, } from "./skill-system/skill-loader.js";
96
6
  export { scanSource, scanSkillDirectory, hasCriticalFindings, isScannable, } from "./skill-system/skill-guard.js";
97
7
  export type { SkillGuardDeps } from "./skill-system/skill-guard.js";
98
- export { trackSkillInvocation, getSkillStats, getAllSkillStats, resetStatsCache, } from "./skill-system/skill-source.js";
99
- export type { SkillStatsFile, SkillUsageStats, } from "./skill-system/skill-source.js";
100
- export { loadLifecycleStore, saveLifecycleStore, ensureRecord, recordInvocation, recordView, recordPatch, removeRecord, pinSkill, unpinSkill, runCurator, executeCuratorCycle, archiveSkillOnDisk, unarchiveSkillOnDisk, getSkillsByState, getLifecycleRecord, } from "./skill-system/skill-lifecycle.js";
101
- export type { SkillLifecycleState, SkillLifecycleRecord, SkillLifecycleStore, CuratorResult, } from "./skill-system/skill-lifecycle.js";
102
- export { validateSkillContent, generateSkillContent, autoFixFrontmatter, } from "./skill-system/skill-validation.js";
103
- export type { FrontmatterValidationResult } from "./skill-system/skill-validation.js";
104
- export { McpStdioClient } from "./mcp/mcp-stdio-client.js";
105
- export { McpManager, parseMcpConfig } from "./mcp/mcp-manager.js";
106
- export type { McpServerEntry, McpManagerConfig } from "./mcp/mcp-manager.js";
107
- export { PluginLoader } from "./plugins/plugin-loader.js";
108
- export { PLUGIN_HOOK_MAP } from "./plugins/plugin-api.js";
109
- export type { PluginApi, PluginModule, PluginHookPhase } from "./plugins/plugin-api.js";
110
- export type { PluginLoaderConfig } from "./plugins/plugin-loader.js";
111
- export type { LoadedPlugin } from "./plugins/plugin-api.js";
112
- export { PermissionRuleEngine, parsePermissionConfig } from "./permissions/rule-engine.js";
113
- export { PermissionChecker } from "./permissions/hook-runner.js";
114
- export type { PermissionCheckerDeps } from "./permissions/hook-runner.js";
115
- export type { PermissionMode, PermissionBehavior, PermissionResult, PermissionRuleEntry, PermissionConfig, PermissionUpdate, PermissionDecisionReason, ToolPermissionCheckInput, ApprovalRequest, ApprovalResponse, } from "./permissions/types.js";
@@ -1,3 +1,9 @@
1
+ import type { PortableTool } from "../portable-tool.js";
2
+ interface ToolRegistryLike {
3
+ addTools(tools: PortableTool[]): void;
4
+ getToolNames(): string[];
5
+ removeTool(name: string): boolean;
6
+ }
1
7
  /** MCP resource entry from resources/list */
2
8
  export interface McpResourceEntry {
3
9
  uri: string;
@@ -42,12 +48,15 @@ export interface McpManagerConfig {
42
48
  };
43
49
  /** Active workspace boundary for local-path arguments passed into MCP tools. */
44
50
  workspaceRoot?: string;
51
+ /** Runtime-owned catalog used for dynamic MCP tool injection. */
52
+ toolCatalog?: ToolRegistryLike;
45
53
  }
46
54
  export declare class McpManager {
47
55
  private clients;
48
56
  private injected;
49
57
  private log;
50
58
  private workspaceRoot?;
59
+ private toolCatalog?;
51
60
  constructor(config: McpManagerConfig);
52
61
  /**
53
62
  * Connect to all configured MCP servers. Failures are logged but don't block.
@@ -81,6 +90,10 @@ export declare class McpManager {
81
90
  readResource(serverName: string, uri: string): Promise<McpResourceContent[]>;
82
91
  private wrapToolsForWorkspaceBoundary;
83
92
  private reinjectTools;
93
+ private registerTools;
94
+ private getRegisteredToolNames;
95
+ private removeRegisteredTool;
84
96
  }
85
97
  export declare function validateMcpToolWorkspaceBoundary(toolName: string, args: unknown, workspaceRoot: string | undefined): string | null;
86
98
  export declare function parseMcpConfig(json: unknown): McpServerEntry[];
99
+ export {};