qlogicagent 2.20.2 → 2.20.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.
Files changed (197) hide show
  1. package/dist/agent-contract.js +1 -1
  2. package/dist/agent.js +39 -35
  3. package/dist/cli.js +1 -1
  4. package/dist/host-contract.js +1 -1
  5. package/dist/host-session-collection-contract.js +1 -1
  6. package/dist/index.js +624 -549
  7. package/dist/memory-category-contract.js +1 -0
  8. package/dist/orchestration.js +1 -1
  9. package/dist/project-memory-host.js +21 -21
  10. package/dist/protocol.js +1 -1
  11. package/dist/skill-category-contract.js +1 -0
  12. package/dist/skills/builtin/web-research/SKILL.md +37 -0
  13. package/dist/skills/mcp/astraclaw-native-mcp-server.js +1 -1
  14. package/dist/tunables.js +1 -1
  15. package/dist/types/agent/memory-recall-context.d.ts +6 -9
  16. package/dist/types/agent/memory-recall-injection.d.ts +1 -6
  17. package/dist/types/agent/tool-loop/agent-argument-normalizer.d.ts +12 -0
  18. package/dist/types/agent/tool-loop/artifact-final-contract.d.ts +8 -0
  19. package/dist/types/agent/tool-loop.d.ts +5 -0
  20. package/dist/types/agent/types.d.ts +5 -0
  21. package/dist/types/cli/acp-extended-handlers.d.ts +11 -9
  22. package/dist/types/cli/acp-session-handlers.d.ts +1 -1
  23. package/dist/types/cli/acp-session-host.d.ts +8 -0
  24. package/dist/types/cli/agent-runtime-bootstrap.d.ts +7 -1
  25. package/dist/types/cli/agent-runtime-session-state.d.ts +23 -6
  26. package/dist/types/cli/atomic-text-file.d.ts +31 -0
  27. package/dist/types/cli/background-context-capsule.d.ts +12 -0
  28. package/dist/types/cli/base-tool-bootstrap.d.ts +1 -0
  29. package/dist/types/cli/cli-acp-request-handler.d.ts +3 -1
  30. package/dist/types/cli/community-workflow-installer.d.ts +1 -1
  31. package/dist/types/cli/core-tool-coordinator.d.ts +1 -0
  32. package/dist/types/cli/core-tools/agent-tool-service.d.ts +17 -1
  33. package/dist/types/cli/dev-tool-bootstrap.d.ts +3 -2
  34. package/dist/types/cli/dev-tools/dev-tool-bootstrap-service.d.ts +1 -0
  35. package/dist/types/cli/dev-tools/dev-tool-registry.d.ts +3 -1
  36. package/dist/types/cli/dev-tools/incremental-repo-map.d.ts +81 -0
  37. package/dist/types/cli/dev-tools/lsp-supervisor.d.ts +59 -0
  38. package/dist/types/cli/dev-tools/lsp-tool-service.d.ts +2 -0
  39. package/dist/types/cli/handlers/community-handler.d.ts +2 -0
  40. package/dist/types/cli/handlers/dream-handler.d.ts +1 -1
  41. package/dist/types/cli/handlers/memory-handler.d.ts +2 -14
  42. package/dist/types/cli/handlers/product-handler.d.ts +6 -24
  43. package/dist/types/cli/handlers/turn-handler.d.ts +1 -0
  44. package/dist/types/cli/idle-dream-coordinator.d.ts +9 -5
  45. package/dist/types/cli/memory-background-coordinator.d.ts +26 -0
  46. package/dist/types/cli/memory-candidate-service.d.ts +2 -3
  47. package/dist/types/cli/memory-coordinator.d.ts +12 -8
  48. package/dist/types/cli/permission-bootstrap.d.ts +10 -1
  49. package/dist/types/cli/product-acp-params.d.ts +29 -0
  50. package/dist/types/cli/resolved-agent-cache.d.ts +18 -7
  51. package/dist/types/cli/rpc-registry.d.ts +2 -1
  52. package/dist/types/cli/runtime-hook-bootstrap.d.ts +2 -0
  53. package/dist/types/cli/stdio-acp-request-host.d.ts +7 -4
  54. package/dist/types/cli/stdio-agent-session-bootstrap.d.ts +8 -2
  55. package/dist/types/cli/stdio-rpc-handler-hosts.d.ts +4 -2
  56. package/dist/types/cli/stdio-runtime-bootstrap.d.ts +1 -0
  57. package/dist/types/cli/stdio-server.d.ts +53 -16
  58. package/dist/types/cli/stdio-session-runtime-coordinator.d.ts +0 -2
  59. package/dist/types/cli/task-distillation-coordinator.d.ts +42 -14
  60. package/dist/types/cli/tool-bootstrap-core-registration.d.ts +14 -4
  61. package/dist/types/cli/tool-bootstrap.d.ts +2 -1
  62. package/dist/types/cli/turn-core.d.ts +4 -0
  63. package/dist/types/cli/turn-lifecycle.d.ts +1 -0
  64. package/dist/types/contracts/hooks.d.ts +3 -2
  65. package/dist/types/contracts/turn-event.d.ts +7 -0
  66. package/dist/types/host-contract/index.d.ts +144 -14
  67. package/dist/types/host-contract/memory-category.d.ts +8 -0
  68. package/dist/types/host-contract/skill-category.d.ts +5 -0
  69. package/dist/types/host-session-collection-contract.d.ts +1 -0
  70. package/dist/types/orchestration/agent-instance.d.ts +15 -0
  71. package/dist/types/orchestration/dag-scheduler.d.ts +18 -0
  72. package/dist/types/orchestration/delegate-approval-policy.d.ts +8 -0
  73. package/dist/types/orchestration/goal-acceptance.d.ts +2 -5
  74. package/dist/types/orchestration/goal-loop-coordinator.d.ts +4 -2
  75. package/dist/types/orchestration/goal-mode-adapters.d.ts +16 -0
  76. package/dist/types/orchestration/goal-run-types.d.ts +6 -1
  77. package/dist/types/orchestration/product-budget.d.ts +35 -16
  78. package/dist/types/orchestration/product-persistence.d.ts +5 -14
  79. package/dist/types/orchestration/product-planner.d.ts +38 -0
  80. package/dist/types/orchestration/product-worktree.d.ts +4 -2
  81. package/dist/types/orchestration/solo-evaluator.d.ts +42 -2
  82. package/dist/types/orchestration/solo-spec-builder.d.ts +3 -0
  83. package/dist/types/orchestration/testing/delegate-test-bridge.d.ts +6 -0
  84. package/dist/types/orchestration/testing/run-state-client-double.d.ts +13 -0
  85. package/dist/types/orchestration/workflow/builtin-capabilities.d.ts +3 -0
  86. package/dist/types/orchestration/workflow/capability-catalog.d.ts +31 -0
  87. package/dist/types/orchestration/workflow/cron-schedule.d.ts +3 -4
  88. package/dist/types/orchestration/workflow/expression.d.ts +2 -1
  89. package/dist/types/orchestration/workflow/n8n-import.d.ts +3 -0
  90. package/dist/types/orchestration/workflow/node-registry.d.ts +2 -2
  91. package/dist/types/orchestration/workflow/node-schema.d.ts +20 -4
  92. package/dist/types/orchestration/workflow/params-schema.d.ts +7 -6
  93. package/dist/types/orchestration/workflow/qla-executor-host.d.ts +4 -1
  94. package/dist/types/orchestration/workflow/run-history-store.d.ts +33 -3
  95. package/dist/types/orchestration/workflow/semantic-acceptance.d.ts +65 -0
  96. package/dist/types/orchestration/workflow/workflow-authoring.d.ts +74 -0
  97. package/dist/types/orchestration/workflow/workflow-bundle.d.ts +4 -0
  98. package/dist/types/orchestration/workflow/workflow-controller.d.ts +16 -4
  99. package/dist/types/orchestration/workflow/workflow-edit-context.d.ts +46 -0
  100. package/dist/types/orchestration/workflow/workflow-intent-contract.d.ts +56 -0
  101. package/dist/types/orchestration/workflow/workflow-patch.d.ts +7 -0
  102. package/dist/types/orchestration/workflow/workflow-runtime.d.ts +5 -0
  103. package/dist/types/orchestration/workflow/workflow-scheduler.d.ts +11 -0
  104. package/dist/types/orchestration/workflow/workflow-store.d.ts +5 -0
  105. package/dist/types/orchestration/workflow/workflow-template-setup.d.ts +65 -0
  106. package/dist/types/orchestration/workflow/workflow-trigger.d.ts +4 -0
  107. package/dist/types/orchestration/workflow-chat-builder.d.ts +105 -20
  108. package/dist/types/orchestration/worktree-task-prompt.d.ts +1 -0
  109. package/dist/types/protocol/agent-contract.d.ts +49 -8
  110. package/dist/types/protocol/notifications.d.ts +1 -1
  111. package/dist/types/protocol/wire/acp-agent-management.d.ts +97 -9
  112. package/dist/types/protocol/wire/acp-protocol.d.ts +7 -1
  113. package/dist/types/protocol/wire/agent-methods.d.ts +15 -1
  114. package/dist/types/protocol/wire/index.d.ts +2 -4
  115. package/dist/types/protocol/wire/memory-provider-lifecycle.d.ts +1 -39
  116. package/dist/types/protocol/wire/notification-payloads.d.ts +96 -1
  117. package/dist/types/protocol/wire/web-capability.d.ts +2 -2
  118. package/dist/types/runtime/community/community-consent-client.d.ts +3 -0
  119. package/dist/types/runtime/config/tunable-defaults.d.ts +0 -6
  120. package/dist/types/runtime/execution/bounded-output-tail.d.ts +7 -0
  121. package/dist/types/runtime/execution/dream-agent.d.ts +8 -5
  122. package/dist/types/runtime/execution/dream-category-context.d.ts +3 -3
  123. package/dist/types/runtime/execution/structured-tool-progress.d.ts +21 -0
  124. package/dist/types/runtime/hooks/memory-hooks.d.ts +20 -8
  125. package/dist/types/runtime/infra/background-tasks.d.ts +5 -1
  126. package/dist/types/runtime/infra/cloud-auth-host-authority.d.ts +4 -0
  127. package/dist/types/runtime/infra/llmrouter-access-token.d.ts +0 -1
  128. package/dist/types/runtime/infra/subagent-turn-snapshot.d.ts +32 -0
  129. package/dist/types/runtime/infra/turn-telemetry-store.d.ts +22 -0
  130. package/dist/types/runtime/memory/implicit-extraction.d.ts +23 -7
  131. package/dist/types/runtime/ports/agent-runtime-ports.d.ts +0 -5
  132. package/dist/types/runtime/ports/index.d.ts +2 -3
  133. package/dist/types/runtime/ports/memory-provider.d.ts +31 -16
  134. package/dist/types/runtime/ports/memory-writer.d.ts +55 -6
  135. package/dist/types/runtime/ports/permission-contracts.d.ts +2 -0
  136. package/dist/types/runtime/ports/tool-contracts.d.ts +3 -1
  137. package/dist/types/runtime/prompt/identity-section.d.ts +2 -0
  138. package/dist/types/runtime/session/session-permission-store.d.ts +6 -0
  139. package/dist/types/runtime/tasks/task-types.d.ts +2 -0
  140. package/dist/types/skills/memory/host-memory-provider.d.ts +59 -9
  141. package/dist/types/skills/memory/memory-tool.d.ts +3 -1
  142. package/dist/types/skills/memory/task-distillation.d.ts +22 -3
  143. package/dist/types/skills/permissions/hook-runner.d.ts +8 -0
  144. package/dist/types/skills/permissions/operation-classifier.d.ts +7 -0
  145. package/dist/types/skills/skill-system/skill-category.d.ts +10 -0
  146. package/dist/types/skills/tools/agent-tool.d.ts +13 -21
  147. package/dist/types/skills/tools/edit-tool.d.ts +10 -2
  148. package/dist/types/skills/tools/exec-tool.d.ts +2 -2
  149. package/dist/types/skills/tools/file-text-snapshot.d.ts +24 -0
  150. package/dist/types/skills/tools/lsp-tool.d.ts +1 -1
  151. package/dist/types/skills/tools/patch-tool.d.ts +10 -3
  152. package/dist/types/skills/tools/read-tool.d.ts +23 -1
  153. package/dist/types/skills/tools/repo-map-tool.d.ts +52 -0
  154. package/dist/types/skills/tools/search-tool.d.ts +10 -1
  155. package/dist/types/skills/tools/shell/index.d.ts +1 -2
  156. package/dist/types/skills/tools/shell/shell-command.d.ts +1 -1
  157. package/dist/types/skills/tools/shell/shell-exec.d.ts +2 -2
  158. package/dist/types/skills/tools/shell/task-output.d.ts +12 -3
  159. package/dist/types/skills/tools/subagent-decision-tool.d.ts +15 -0
  160. package/dist/types/skills/tools/task-tool.d.ts +16 -2
  161. package/dist/types/skills/tools/write-tool.d.ts +2 -1
  162. package/dist/types/transport/acp-server.d.ts +1 -0
  163. package/dist/types/transport/host-cloud-auth-client.d.ts +10 -0
  164. package/dist/types/transport/host-community-client.d.ts +8 -0
  165. package/dist/types/transport/host-run-state-client.d.ts +6 -0
  166. package/dist/types/workflow-host.d.ts +8 -1
  167. package/dist/workflow-host.js +9 -9
  168. package/package.json +25 -6
  169. package/dist/types/cli/tool-bootstrap-web-registration.d.ts +0 -14
  170. package/dist/types/orchestration/tool-cascade.d.ts +0 -49
  171. package/dist/types/protocol/wire/channel-ingress.d.ts +0 -29
  172. package/dist/types/protocol/wire/channel.d.ts +0 -89
  173. package/dist/types/runtime/infra/native-mcp-config-sync.d.ts +0 -16
  174. package/dist/types/runtime/memory/categories.d.ts +0 -5
  175. package/dist/types/runtime/memory/recall-category-filter.d.ts +0 -42
  176. package/dist/types/runtime/ports/source-provider.d.ts +0 -39
  177. package/dist/types/runtime/ports/web-search-contracts.d.ts +0 -21
  178. package/dist/types/server/search-svc.d.ts +0 -1
  179. package/dist/types/skills/memory/local-embedding.d.ts +0 -80
  180. package/dist/types/skills/memory/memory-config-resolver.d.ts +0 -4
  181. package/dist/types/skills/memory/memory-embedding-config.d.ts +0 -31
  182. package/dist/types/skills/tools/web-answer-tool.d.ts +0 -27
  183. package/dist/types/skills/tools/web-fetch-tool.d.ts +0 -80
  184. package/dist/types/skills/tools/web-research-tool.d.ts +0 -48
  185. package/dist/types/skills/tools/web-search-tool.d.ts +0 -46
  186. package/dist/types/skills/web-search/brave-source.d.ts +0 -3
  187. package/dist/types/skills/web-search/crawl4ai-extractor.d.ts +0 -16
  188. package/dist/types/skills/web-search/embedding-rerank.d.ts +0 -13
  189. package/dist/types/skills/web-search/exa-source.d.ts +0 -3
  190. package/dist/types/skills/web-search/multi-source-backend.d.ts +0 -23
  191. package/dist/types/skills/web-search/redis-source-cache.d.ts +0 -6
  192. package/dist/types/skills/web-search/search-svc-source.d.ts +0 -5
  193. package/dist/types/skills/web-search/searxng-source.d.ts +0 -4
  194. package/dist/types/skills/web-search/serper-source.d.ts +0 -3
  195. package/dist/types/skills/web-search/source-factory.d.ts +0 -6
  196. package/dist/types/skills/web-search/stability.d.ts +0 -26
  197. package/dist/types/skills/web-search/web-tunable-resolver.d.ts +0 -16
@@ -168,6 +168,8 @@ export interface TurnSuggestionsNotification {
168
168
  export interface TurnMemoryRecallNotification {
169
169
  sessionId: string;
170
170
  turnId: string;
171
+ /** How the single Host retrieval chain was entered. */
172
+ source: "automatic" | "tool";
171
173
  count: number;
172
174
  /** Truncated texts of the memories actually injected (post-cap), for the expanded list. */
173
175
  titles: string[];
@@ -191,6 +193,20 @@ export interface TurnSubagentDeltaNotification {
191
193
  subagentId?: string;
192
194
  text: string;
193
195
  }
196
+ export type TurnSubagentActivityStatus = "running" | "completed" | "failed" | "blocked";
197
+ /** Tool-level sub-agent progress. Never carries hidden reasoning or raw model chain-of-thought. */
198
+ export interface TurnSubagentActivityNotification {
199
+ turnId: string;
200
+ parentTurnId: string;
201
+ subagentId: string;
202
+ agentType: string;
203
+ displayName: string;
204
+ activityId?: string;
205
+ toolName?: string;
206
+ conciseStatus: string;
207
+ status: TurnSubagentActivityStatus;
208
+ observedAt: string;
209
+ }
194
210
  /** Sidechain completed execution. */
195
211
  export interface TurnSidechainCompletedNotification {
196
212
  turnId: string;
@@ -306,7 +322,7 @@ export interface TurnTodosUpdatedNotification {
306
322
  export interface TurnExecProgressNotification {
307
323
  output: string;
308
324
  elapsedTimeSeconds: number;
309
- totalLines: number;
325
+ visibleLines: number;
310
326
  totalBytes: number;
311
327
  }
312
328
  /**
@@ -557,6 +573,27 @@ export interface SoloEvaluationNotification {
557
573
  soloId: string;
558
574
  winnerId: string;
559
575
  reasoning: string;
576
+ /** Present (true) only on the solo.select adoption event; absent on the auto-judge recommendation. */
577
+ adopted?: boolean;
578
+ /** displayId of the agent that acted as judge (trust caveat when it is also a racer). */
579
+ judgedBy?: string;
580
+ /** True when an independent, non-competing agent judged the race. */
581
+ judgeExternal?: boolean;
582
+ /** True when the verdict is a fallback (judge failed / unparseable) — flag for manual review. */
583
+ degraded?: boolean;
584
+ }
585
+ /** Full unified diff of one competitor's worktree, emitted when a turn settles (initial run or
586
+ * follow-up). Carries the same capped diff the judge scores, so the user sees what the judge sees. */
587
+ export interface SoloAgentDiffNotification {
588
+ soloId: string;
589
+ agentId: string;
590
+ diff: string;
591
+ }
592
+ /** Run-level Solo state transition (e.g. entering/leaving "evaluating"), so the UI can show the
593
+ * auto-judge phase instead of a silent gap between all-done and the verdict. */
594
+ export interface SoloStateNotification {
595
+ soloId: string;
596
+ state: "running" | "evaluating" | "completed" | "failed" | "cancelled";
560
597
  }
561
598
  /** Solo agent streaming delta. */
562
599
  export interface SoloAgentDeltaNotification {
@@ -611,6 +648,17 @@ export interface ProductBudgetWarningNotification {
611
648
  maxTotalTokens: number;
612
649
  percentage: number;
613
650
  }
651
+ /**
652
+ * Product budget hard limit hit (100%) — the run auto-paused. The counterpart of the 80% warning, and
653
+ * the louder of the two: the run has stopped. `maxTotalTokens` is absent for a time-only budget, so
654
+ * `reason` is what states WHICH ceiling tripped.
655
+ */
656
+ export interface ProductBudgetExceededNotification {
657
+ productId: string;
658
+ usedTokens: number;
659
+ maxTotalTokens?: number;
660
+ reason: string;
661
+ }
614
662
  /** Product completed (all tasks done or terminal). */
615
663
  export interface ProductCompletedNotification {
616
664
  productId: string;
@@ -777,8 +825,14 @@ export interface ProjectUnarchivedNotification {
777
825
  /** A sub-agent was spawned. */
778
826
  export interface TurnSubagentStartedNotification {
779
827
  turnId: string;
828
+ parentTurnId: string;
780
829
  subagentId: string;
781
830
  agentType: string;
831
+ displayName: string;
832
+ delegatedTask: string;
833
+ mode: "foreground" | "background";
834
+ startedAt: string;
835
+ /** @deprecated Use delegatedTask. */
782
836
  prompt?: string;
783
837
  }
784
838
  /** A sub-agent finished. */
@@ -790,6 +844,41 @@ export interface TurnSubagentEndedNotification {
790
844
  outputPreview?: string;
791
845
  error?: string;
792
846
  }
847
+ export interface TurnSubagentEvidenceItem {
848
+ source: "tool" | "artifact" | "verification";
849
+ label: string;
850
+ status: "passed" | "failed" | "observed";
851
+ }
852
+ export interface TurnSubagentTokenUsage {
853
+ inputTokens: number;
854
+ outputTokens: number;
855
+ totalTokens: number;
856
+ }
857
+ /** Canonical terminal lifecycle event for foreground and background sub-agents. */
858
+ export interface TurnSubagentCompletedNotification {
859
+ turnId: string;
860
+ parentTurnId: string;
861
+ subagentId: string;
862
+ agentType: string;
863
+ displayName: string;
864
+ status: "completed" | "failed" | "cancelled";
865
+ resultSummary?: string;
866
+ evidence: TurnSubagentEvidenceItem[];
867
+ toolsUsed: string[];
868
+ durationMs: number;
869
+ tokenUsage: TurnSubagentTokenUsage;
870
+ error?: string;
871
+ finishedAt: string;
872
+ }
873
+ /** Explicit parent synthesis decision; absence remains truthfully "pending", never inferred. */
874
+ export interface TurnSubagentDecisionNotification {
875
+ turnId: string;
876
+ parentTurnId: string;
877
+ subagentId: string;
878
+ decision: "adopted" | "partially_adopted" | "rejected";
879
+ summary?: string;
880
+ decidedAt: string;
881
+ }
793
882
  /** A task lifecycle state changed. */
794
883
  export interface TaskUpdatedNotification {
795
884
  taskId: string;
@@ -930,9 +1019,12 @@ export interface NotificationMethodMap {
930
1019
  "turn.memory_written": TurnMemoryWrittenNotification;
931
1020
  "turn.sidechain_started": TurnSidechainStartedNotification;
932
1021
  "turn.subagent_delta": TurnSubagentDeltaNotification;
1022
+ "turn.subagent_activity": TurnSubagentActivityNotification;
933
1023
  "turn.sidechain_completed": TurnSidechainCompletedNotification;
934
1024
  "turn.subagent_started": TurnSubagentStartedNotification;
935
1025
  "turn.subagent_ended": TurnSubagentEndedNotification;
1026
+ "turn.subagent_completed": TurnSubagentCompletedNotification;
1027
+ "turn.subagent_decision": TurnSubagentDecisionNotification;
936
1028
  "turn.annotations": TurnAnnotationsNotification;
937
1029
  "turn.media_result": TurnMediaResultNotification;
938
1030
  "turn.media_progress": TurnMediaProgressNotification;
@@ -968,11 +1060,14 @@ export interface NotificationMethodMap {
968
1060
  "solo.evaluation": SoloEvaluationNotification;
969
1061
  "solo.agentDelta": SoloAgentDeltaNotification;
970
1062
  "solo.agentUsage": SoloAgentUsageNotification;
1063
+ "solo.agentDiff": SoloAgentDiffNotification;
1064
+ "solo.state": SoloStateNotification;
971
1065
  "product.taskStarted": ProductTaskStartedNotification;
972
1066
  "product.taskCompleted": ProductTaskCompletedNotification;
973
1067
  "product.taskFailed": ProductTaskFailedNotification;
974
1068
  "product.checkpointed": ProductCheckpointedNotification;
975
1069
  "product.budgetWarning": ProductBudgetWarningNotification;
1070
+ "product.budgetExceeded": ProductBudgetExceededNotification;
976
1071
  "product.completed": ProductCompletedNotification;
977
1072
  "product.dagTopology": ProductDagTopologyNotification;
978
1073
  "product.budgetUpdate": ProductBudgetUpdateNotification;
@@ -1,4 +1,4 @@
1
- export declare const WEB_CAPABILITY_ID_VALUES: readonly ["web_search", "web_fetch", "deep_research", "browser_execution"];
1
+ export declare const WEB_CAPABILITY_ID_VALUES: readonly ["web_search", "web_fetch", "web_research", "browser_execution"];
2
2
  export type WebCapabilityId = (typeof WEB_CAPABILITY_ID_VALUES)[number];
3
3
  export declare const WEB_CAPABILITY_FAMILY_VALUES: readonly ["web-intelligence", "browser-execution"];
4
4
  export type WebCapabilityFamily = (typeof WEB_CAPABILITY_FAMILY_VALUES)[number];
@@ -16,7 +16,7 @@ export declare const TOOL_RISK_LEVEL_VALUES: readonly ["read", "write", "system"
16
16
  export type ToolRiskLevel = (typeof TOOL_RISK_LEVEL_VALUES)[number];
17
17
  export declare const WEB_ACTION_SCOPE_VALUES: readonly ["read-page", "read-authenticated-page", "fill-form", "submit-form", "download-file", "reuse-session"];
18
18
  export type WebActionScope = (typeof WEB_ACTION_SCOPE_VALUES)[number];
19
- export declare const WEB_DEGRADATION_TARGET_VALUES: readonly ["web_search", "web_fetch", "deep_research", "blocked"];
19
+ export declare const WEB_DEGRADATION_TARGET_VALUES: readonly ["web_search", "web_fetch", "web_research", "blocked"];
20
20
  export type WebDegradationTarget = (typeof WEB_DEGRADATION_TARGET_VALUES)[number];
21
21
  export declare const WEB_ESCALATION_REASON_VALUES: readonly ["requires-interaction", "requires-login-state", "requires-rendered-dom", "requires-persistent-session", "requires-state-changing-action"];
22
22
  export type WebEscalationReason = (typeof WEB_ESCALATION_REASON_VALUES)[number];
@@ -1,4 +1,5 @@
1
1
  import type { ConfigPort } from "../ports/index.js";
2
+ import type { HostCommunityClient } from "../../transport/host-community-client.js";
2
3
  export interface CommunityRuntimeResolution {
3
4
  id: string;
4
5
  platform: string;
@@ -62,4 +63,6 @@ export interface CommunityConsentClient {
62
63
  resolveRuntime(id: string, platform: string): Promise<CommunityRuntimeResolution>;
63
64
  }
64
65
  export declare function createCommunityConsentClient(options: CommunityConsentClientOptions): CommunityConsentClient;
66
+ /** Supervised desktop path: the Runtime Host owns refresh and performs authenticated Hub reads. */
67
+ export declare function createHostCommunityConsentClient(host: HostCommunityClient): CommunityConsentClient;
65
68
  export declare function createDefaultCommunityConsentClient(configPort?: ConfigPort): CommunityConsentClient | null;
@@ -220,12 +220,6 @@ export interface TunableDefaults {
220
220
  dreamCooldownMs: number;
221
221
  dreamMaxDurationMs: number;
222
222
  teamBudgetTokens: number;
223
- braveApiKey: string;
224
- exaApiKey: string;
225
- serperApiKey: string;
226
- searxngBaseUrl: string;
227
- crawl4aiBaseUrl: string;
228
- searchSvcBaseUrl: string;
229
223
  }
230
224
  /**
231
225
  * Snapshot of all current tunable values.
@@ -0,0 +1,7 @@
1
+ export interface BoundedOutputTail {
2
+ output: string;
3
+ totalBytes: number;
4
+ truncated: boolean;
5
+ }
6
+ /** Read at most maxBytes from the end of an append-only UTF-8 output file. */
7
+ export declare function readBoundedOutputTail(path: string, maxBytes: number): Promise<BoundedOutputTail>;
@@ -205,8 +205,8 @@ export interface DreamRunDeps {
205
205
  search(query: string, userId: string, options?: {
206
206
  limit?: number;
207
207
  }): Promise<Array<{
208
- blockId: string;
209
- text: string;
208
+ id: string;
209
+ content: string;
210
210
  score: number;
211
211
  }>>;
212
212
  proposeExtracted?(items: Array<{
@@ -219,11 +219,14 @@ export interface DreamRunDeps {
219
219
  }): Promise<{
220
220
  proposalsAdded?: number;
221
221
  }>;
222
- feedback?(memoryIds: string[], signal: "useful" | "irrelevant" | "outdated" | "wrong"): Promise<{
222
+ feedback?(memoryIds: string[], signal: "useful" | "irrelevant" | "outdated" | "wrong", context?: {
223
+ sessionId?: string;
224
+ silent?: boolean;
225
+ }): Promise<{
223
226
  affected: number;
224
227
  }>;
225
228
  /** Recent activity summary for temporal context injection into Dream.
226
- * B3(X7)异步化:16 面 host-state proxy 方法(host 模式经 x/host.request 跨进程)。 */
229
+ * B3(X7)异步化:Host 契约方法(host 模式经 x/host.request 跨进程)。 */
227
230
  getActivitySummary?(userId: string, days?: number): Promise<{
228
231
  dailyCounts: Array<{
229
232
  date: string;
@@ -238,7 +241,7 @@ export interface DreamRunDeps {
238
241
  }>;
239
242
  /** Synthesize a timeline narrative for a time range. B3(X7)异步化。 */
240
243
  synthesizeTimeline?(userId: string, startMs: number, endMs: number): Promise<string>;
241
- /** Get/set user profile entries. B3(X7):setProfile/getAllProfiles 异步化(16 面);getProfile 面外保持同步。 */
244
+ /** Get/set user profile entries. B3(X7):setProfile/getAllProfiles 异步化;getProfile 为本地同步读取。 */
242
245
  getProfile?(userId: string, key: string): string | null;
243
246
  setProfile?(userId: string, key: string, value: string): Promise<void>;
244
247
  getAllProfiles?(userId: string): Promise<Record<string, string>>;
@@ -1,8 +1,8 @@
1
- import type { QMemoryCategory } from "../memory/categories.js";
1
+ import type { LongTermMemoryCategory } from "../../host-contract/memory-category.js";
2
2
  /** A memory file with its inferred category and metadata. */
3
3
  export interface CategorizedMemoryFile {
4
4
  filename: string;
5
- category: QMemoryCategory | "uncategorized";
5
+ category: LongTermMemoryCategory | "uncategorized";
6
6
  /** First line description. */
7
7
  description: string;
8
8
  /** File size bytes. */
@@ -36,7 +36,7 @@ export declare function scanCategoryManifest(memoryRoot: string): Promise<Catego
36
36
  * - patterns: merge (consolidate duplicates into one authoritative entry)
37
37
  * - decisions: update (add "update" section if decision changed)
38
38
  */
39
- export declare const CATEGORY_MERGE_RULES: Record<QMemoryCategory | "uncategorized", string>;
39
+ export declare const CATEGORY_MERGE_RULES: Record<LongTermMemoryCategory | "uncategorized", string>;
40
40
  /**
41
41
  * Format the category manifest and merge rules as an injection block
42
42
  * for the dream consolidation prompt.
@@ -0,0 +1,21 @@
1
+ export declare const STRUCTURED_TOOL_PROGRESS_PREFIX = "::xiaozhiclaw-progress-v1::";
2
+ export interface StructuredToolProgressEvent {
3
+ source: string;
4
+ stage: string;
5
+ elapsedMs: number;
6
+ heartbeat: boolean;
7
+ completed?: number;
8
+ total?: number;
9
+ unit?: string;
10
+ }
11
+ export interface ExtractedStructuredToolProgress {
12
+ cleanOutput: string;
13
+ events: StructuredToolProgressEvent[];
14
+ }
15
+ /**
16
+ * Extracts the shared, producer-neutral progress envelope from process output.
17
+ * Unknown sources and stages are accepted when they use bounded public tokens;
18
+ * malformed or extended records remain visible as ordinary command output.
19
+ */
20
+ export declare function extractStructuredToolProgress(output: string): ExtractedStructuredToolProgress;
21
+ export declare function formatStructuredToolProgress(event: StructuredToolProgressEvent): string;
@@ -1,6 +1,6 @@
1
1
  import type { HookRegistry } from "../../contracts/hooks.js";
2
2
  import type { MemoryProvider } from "../ports/memory-provider.js";
3
- import type { MemoryWriter } from "../ports/memory-writer.js";
3
+ import type { MemoryExtractionQueue, MemoryWriter } from "../ports/memory-writer.js";
4
4
  import type { MemoryRecallSource } from "../ports/memory-recall-source.js";
5
5
  export declare const MEMORY_PREFETCH_CONFIG: {
6
6
  readonly MAX_SESSION_BYTES: number;
@@ -12,12 +12,13 @@ export declare const MEMORY_PREFETCH_CONFIG: {
12
12
  * skills/memory/task-distillation PROCEDURE_TAG (runtime cannot import skills
13
13
  * per the architecture boundary; task-distillation.test.ts asserts equality).
14
14
  */
15
- export declare const PROCEDURE_TAG_FALLBACK = "distilled@v1";
16
15
  export interface MemoryHooksDeps {
17
16
  /** QMemory adapter (MemoryProvider with search/health). */
18
17
  memoryProvider?: MemoryProvider;
19
18
  /** Local memory provider for direct writes (auto-extract). */
20
19
  localMemoryProvider?: MemoryWriter;
20
+ /** Host-owned durable hand-off for completed turns awaiting semantic extraction. */
21
+ memoryExtractionQueue?: MemoryExtractionQueue;
21
22
  /** User ID for memory lookups. */
22
23
  userId: string;
23
24
  /** Logger. */
@@ -30,22 +31,33 @@ export interface MemoryHooksDeps {
30
31
  /** Access to last assistant response (for implicit extraction). Set externally per turn. */
31
32
  getLastAssistantMessage?: () => string | undefined;
32
33
  /** Background LLM for implicit extraction. If provided, enables Layer 2. */
33
- llmExtract?: (prompt: string) => Promise<string | null>;
34
+ llmExtract?: (prompt: string, signal?: AbortSignal) => Promise<string | null>;
35
+ /** Shared process lane: queues learning work and aborts it for foreground turns. */
36
+ scheduleBackgroundMemoryWork(label: string, work: (signal: AbortSignal) => Promise<void>): Promise<boolean>;
34
37
  /** Part B write visibility: forwards turn.memory_written on auto-extract commits. */
35
38
  sendNotification?: (method: string, params: Record<string, unknown>) => void;
36
39
  /** V3.2 usage 仪表:procedure 复用的 session 维度与负反馈计数落盘目录。 */
37
- /** V3.2: tag marking a distilled procedure memory (recall filter). cli injects so runtime never imports skills. */
38
- procedureTag?: string;
40
+ /** Tag marking a distilled procedure memory. CLI injects it to preserve the runtime/skills boundary. */
41
+ procedureTag: string;
39
42
  /** V3.2: record distilled procedures whose text reached the prompt (positive reuse signal). cli-injected.
40
43
  * [A7] Called from memory.after_recall with the post-cap injected subset — NOT from
41
44
  * before_recall: search hits the model never saw must not build promotion evidence. */
42
- recordProcedureRecalls?: (procedureIds: string[], sessionId: string) => void;
45
+ recordProcedureRecalls(procedureIds: string[], sessionId: string): void;
43
46
  /** V3.2: record negative feedback against distilled procedures (failed turn). cli-injected. */
44
- recordProcedureNegatives?: (procedureIds: string[]) => void;
47
+ recordProcedureNegatives(procedureIds: string[]): void;
45
48
  /** [A7] Host-side access ledger (memories.access_count/last_accessed_at): report the L2 ids
46
49
  * actually injected this turn. cli-injected (fire-and-forget; Host stays the single writer —
47
50
  * search() no longer counts hits, so skipping this call means the memory goes uncounted). */
48
- recordInjectedAccess?: (memoryIds: string[]) => void;
51
+ recordInjectedAccess(memoryIds: string[], context: {
52
+ sessionId: string;
53
+ turnId: string;
54
+ }): void;
55
+ /** Host-owned recall outcome ledger. Best-effort accounting must never block a turn. */
56
+ recordRecallOutcome(input: {
57
+ sessionId: string;
58
+ turnId: string;
59
+ event: "used" | "helped" | "harmed" | "unattributed";
60
+ }): void;
49
61
  }
50
62
  /** Session-scoped state for dedup and byte budget (CC parity). */
51
63
  export interface MemoryPrefetchState {
@@ -42,6 +42,8 @@ export interface StartAgentTaskOptions {
42
42
  * background work that session spawned). Keyed by session — turn ids don't
43
43
  * cross the client/agent boundary, session ids do. */
44
44
  launchSessionId?: string;
45
+ /** Parent/root turn that owns this background task. */
46
+ launchTurnId?: string;
45
47
  /**
46
48
  * Idle (no-progress) reclaim window (ms): the task is force-failed as `timeout`
47
49
  * only after `idleMs` with no progress signal — an actively-producing task is
@@ -58,6 +60,8 @@ export interface RegisterBashTaskOptions {
58
60
  label?: string;
59
61
  pid?: number;
60
62
  handle: BashTaskHandle;
63
+ launchSessionId?: string;
64
+ launchTurnId?: string;
61
65
  }
62
66
  export interface TaskOutputSnapshot {
63
67
  task: TaskState;
@@ -168,7 +172,7 @@ export declare class BackgroundTaskManager {
168
172
  * superseded-turn abort or a natural turn-end, which leave background tasks
169
173
  * running. Returns the ids actually cancelled.
170
174
  */
171
- cancelTasksForSession(sessionId: string): string[];
175
+ cancelTasksForSession(sessionId: string, parentTurnId?: string): string[];
172
176
  /** Cancel every non-terminal task (session teardown). Returns cancelled ids. */
173
177
  cancelAllRunning(): string[];
174
178
  }
@@ -0,0 +1,4 @@
1
+ import type { HostCloudAuthClient } from "../../transport/host-cloud-auth-client.js";
2
+ /** Process-lifetime binding installed after ACP Host capability negotiation. */
3
+ export declare function configureHostCloudAuthAuthority(resolver: () => HostCloudAuthClient | undefined): void;
4
+ export declare function getHostCloudAuthAuthority(): HostCloudAuthClient | undefined;
@@ -9,5 +9,4 @@ export interface LlmrouterFetchResult {
9
9
  refreshedToken: boolean;
10
10
  }
11
11
  export declare function isJwtExpiredOrNearExpiry(token: string | undefined, skewSeconds?: number): boolean;
12
- export declare function refreshLlmrouterAccessToken(baseUrl: string, options?: Pick<LlmrouterFetchOptions, "fetchFn" | "signal">): Promise<boolean>;
13
12
  export declare function fetchWithLlmrouterAccess(path: string, options?: LlmrouterFetchOptions): Promise<LlmrouterFetchResult>;
@@ -0,0 +1,32 @@
1
+ import type { TurnSubagentActivityNotification, TurnSubagentCompletedNotification, TurnSubagentDecisionNotification, TurnSubagentStartedNotification } from "../../protocol/wire/notification-payloads.js";
2
+ export interface PersistedSubagentSnapshot {
3
+ subagentId: string;
4
+ agentType: string;
5
+ displayName?: string;
6
+ delegatedTask?: string;
7
+ mode?: "foreground" | "background";
8
+ status: "running" | "completed" | "failed" | "cancelled";
9
+ activities?: Array<{
10
+ activityId?: string;
11
+ toolName?: string;
12
+ conciseStatus: string;
13
+ status: "running" | "completed" | "failed" | "blocked";
14
+ observedAt: string;
15
+ }>;
16
+ toolsUsed?: string[];
17
+ resultSummary?: string;
18
+ evidence?: TurnSubagentCompletedNotification["evidence"];
19
+ durationMs?: number;
20
+ tokenUsage?: TurnSubagentCompletedNotification["tokenUsage"];
21
+ decision?: "pending" | "adopted" | "partially_adopted" | "rejected";
22
+ decisionSummary?: string;
23
+ error?: string;
24
+ startedAt?: string;
25
+ finishedAt?: string;
26
+ }
27
+ export declare function recordSubagentStarted(payload: TurnSubagentStartedNotification): PersistedSubagentSnapshot;
28
+ export declare function recordSubagentActivity(payload: TurnSubagentActivityNotification): PersistedSubagentSnapshot;
29
+ export declare function recordSubagentCompleted(payload: TurnSubagentCompletedNotification): PersistedSubagentSnapshot;
30
+ export declare function recordSubagentDecision(payload: TurnSubagentDecisionNotification): PersistedSubagentSnapshot | undefined;
31
+ export declare function subagentActivityBlock(snapshot: PersistedSubagentSnapshot): Record<string, unknown>;
32
+ export declare function clearSubagentTurnSnapshotsForTests(): void;
@@ -1,3 +1,4 @@
1
+ import type { HostDelegationTelemetrySummary } from "../../host-contract/index.js";
1
2
  export type AgentMode = "chat" | "solo" | "product" | "workflow" | "unknown";
2
3
  export interface TurnTelemetryUsage {
3
4
  inputTokens?: number;
@@ -27,6 +28,7 @@ export interface TurnTelemetrySnapshot {
27
28
  usage?: TurnTelemetryUsage;
28
29
  toolSummary?: TurnTelemetryToolSummary;
29
30
  fileContext?: TurnTelemetryFileContext;
31
+ delegationSummary?: HostDelegationTelemetrySummary;
30
32
  createdAt: string;
31
33
  finalizedAt?: string;
32
34
  }
@@ -38,6 +40,26 @@ export type TurnTelemetryPatch = Partial<Omit<TurnTelemetrySnapshot, "turnId" |
38
40
  * same turnId record. Safe to call before the projectId is known; the first call seeds it.
39
41
  */
40
42
  export declare function recordTurnTelemetry(turnId: string, patch: TurnTelemetryPatch): void;
43
+ export declare function recordTurnDelegationStarted(input: {
44
+ turnId: string;
45
+ subagentId: string;
46
+ agentType: string;
47
+ mode: "foreground" | "background";
48
+ }): void;
49
+ export declare function recordTurnDelegationCompleted(input: {
50
+ turnId: string;
51
+ subagentId: string;
52
+ agentType: string;
53
+ status: "completed" | "failed" | "cancelled";
54
+ durationMs: number;
55
+ totalTokens: number;
56
+ }): void;
57
+ export declare function recordTurnDelegationDecision(input: {
58
+ turnId: string;
59
+ subagentId: string;
60
+ decision: "adopted" | "partially_adopted" | "rejected";
61
+ }): void;
62
+ export declare function recordTurnArgumentCorrections(turnId: string, argumentCorrections: HostDelegationTelemetrySummary["argumentCorrections"]): void;
41
63
  /**
42
64
  * Flush the accumulated telemetry for a turn to disk and drop it from memory. Returns null
43
65
  * (after dropping the in-memory record) when no projectId resolved — telemetry, like the turn
@@ -6,19 +6,30 @@
6
6
  * Layer 2: Lightweight LLM pass (async, non-blocking) — extracts structured facts
7
7
  *
8
8
  * This runs AFTER turn.end, so the user already has their response.
9
- * Layer 2 fires only for turns with detectable signals. The often-quoted
10
- * "~10-20% of turns" was calibrated on general chat; this product's corpus is
11
- * engineering conversation, and the signal table is deliberately narrowed for
12
- * it (see the [B14] calibration note above SIGNAL_PATTERNS).
9
+ * With a semantic extractor configured, every completed user turn is eligible
10
+ * for the bounded Layer 2 pass. The regex detector is only a conservative
11
+ * no-model fallback and must remain independent of evaluation vocabulary.
13
12
  *
14
13
  * Reference: claude-code src/services/extractMemories/extractMemories.ts
15
14
  */
16
15
  import type { MemoryWriter } from "../ports/memory-writer.js";
16
+ import { type LongTermMemoryCategory, type MemoryClaimRelation } from "../../host-contract/memory-category.js";
17
17
  export interface ExtractedFact {
18
18
  text: string;
19
- category: "personal_fact" | "preference" | "event" | "lesson" | "pattern" | "decision";
19
+ /** Exact evidence span copied from the current user message; never assistant prose. */
20
+ evidenceQuote: string;
21
+ /** True only when this atomic fact replaces or cancels prior state. */
22
+ correction?: boolean;
23
+ category: LongTermMemoryCategory;
20
24
  importance: number;
25
+ confidence: number;
21
26
  eventDate?: string;
27
+ evidenceKind: "direct_user_statement" | "inference";
28
+ scope: "global" | "project" | "session";
29
+ entity: string;
30
+ predicate: string;
31
+ relation: MemoryClaimRelation;
32
+ value: Record<string, unknown>;
22
33
  }
23
34
  export interface ImplicitExtractionDeps {
24
35
  /** Local memory provider for writing extracted facts. */
@@ -34,9 +45,14 @@ export interface ImplicitExtractionDeps {
34
45
  * LLM invocation function (uses background/cheap model).
35
46
  * Returns structured JSON string or null if unavailable.
36
47
  */
37
- llmExtract?: (prompt: string) => Promise<string | null>;
48
+ llmExtract?: (prompt: string, signal?: AbortSignal) => Promise<string | null>;
49
+ signal?: AbortSignal;
50
+ sessionId?: string;
51
+ /** Durable Host extraction-job id used to make preemption/restart replay idempotent. */
52
+ idempotencyNamespace?: string;
38
53
  }
39
54
  export interface TurnPair {
55
+ priorUserMessage?: string;
40
56
  userMessage: string;
41
57
  assistantMessage: string;
42
58
  }
@@ -51,7 +67,7 @@ export declare function hasExtractionSignal(userMessage: string): boolean;
51
67
  * Layer 2: Use a lightweight LLM to extract structured facts from a turn pair.
52
68
  * Only called when Layer 1 signals are detected.
53
69
  */
54
- export declare function extractFactsViaLlm(turn: TurnPair, llmExtract: (prompt: string) => Promise<string | null>, today: string): Promise<ExtractedFact[]>;
70
+ export declare function extractFactsViaLlm(turn: TurnPair, llmExtract: (prompt: string) => Promise<string | null>, today: string, onDiagnostic?: (message: string) => void): Promise<ExtractedFact[]>;
55
71
  /**
56
72
  * Run the full implicit extraction pipeline for a completed turn.
57
73
  * This is async and non-blocking — call it after turn.end.
@@ -1,10 +1,6 @@
1
1
  import type { HookRegistry } from "../../contracts/hooks.js";
2
2
  import type { OpenAiToolCall } from "./tool-call-contracts.js";
3
3
  import type { AgentLogger, ToolDefinition, ToolInvoker } from "./agent-execution-contracts.js";
4
- export interface RecallCategoryHint {
5
- preferred: string[];
6
- deprioritized: string[];
7
- }
8
4
  export interface RuntimeCompressibleMessage {
9
5
  role: string;
10
6
  content?: string | unknown;
@@ -76,6 +72,5 @@ export interface ToolLoopRuntimePorts {
76
72
  }
77
73
  export interface AgentRuntimePorts {
78
74
  toolLoop: ToolLoopRuntimePorts;
79
- detectRecallCategories(query: string): RecallCategoryHint;
80
75
  resolveModelForPurpose(purpose: "smallModel" | string): string | null;
81
76
  }
@@ -1,4 +1,4 @@
1
- export type { MemoryWriter, MemoryWriteMetadata } from "./memory-writer.js";
1
+ export type { MemoryExtractionQueue, MemoryWriter, MemoryWriteMetadata, } from "./memory-writer.js";
2
2
  export type { MemoryRecallSource } from "./memory-recall-source.js";
3
3
  export type { MemoryProvider, MemorySearchOptions, MemorySearchResult, 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";
@@ -11,9 +11,8 @@ export type { RuntimeToolContract, ToolBootstrap, ToolBootstrapConfig, ToolBoots
11
11
  export { defineToolRegistrationModule } from "./tool-contracts.js";
12
12
  export type { Checkpoint, CheckpointBackend, CheckpointResult } from "./checkpoint-contracts.js";
13
13
  export type { WorktreeBackend, WorktreeInfo, WorktreeResult } from "./worktree-contracts.js";
14
- export type { WebSearchBackend, WebSearchOutput, WebSearchResult } from "./web-search-contracts.js";
15
14
  export { buildToolResultMessage, type OpenAiToolCall, type ToolResultMessageInput } from "./tool-call-contracts.js";
16
15
  export type { AgentLogger, AgentRunRequest, ChatMessage, ForkedAgentRunner, ForkedAgentRunnerFactory, HookRegistry, TokenUsage, ToolDefinition, ToolInvoker, TurnEvent, } from "./agent-execution-contracts.js";
17
16
  export type { AccumulatedToolCall, LLMChunk, LLMRequest, LLMTransport, } from "./model-transport-contracts.js";
18
17
  export { accumulateToolCalls } from "./model-transport-contracts.js";
19
- export type { AgentRuntimePorts, ContextCompressionEnginePort, RecallCategoryHint, RuntimeCompressibleMessage, RuntimeCompressionResult, StreamingToolExecutorPort, StreamingToolExecutorPortConfig, ToolExecutionResultPort, ToolLoopRuntimePorts, } from "./agent-runtime-ports.js";
18
+ export type { AgentRuntimePorts, ContextCompressionEnginePort, RuntimeCompressibleMessage, RuntimeCompressionResult, StreamingToolExecutorPort, StreamingToolExecutorPortConfig, ToolExecutionResultPort, ToolLoopRuntimePorts, } from "./agent-runtime-ports.js";