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.
- package/dist/agent-contract.js +1 -1
- package/dist/agent.js +39 -35
- package/dist/cli.js +1 -1
- package/dist/host-contract.js +1 -1
- package/dist/host-session-collection-contract.js +1 -1
- package/dist/index.js +624 -549
- package/dist/memory-category-contract.js +1 -0
- package/dist/orchestration.js +1 -1
- package/dist/project-memory-host.js +21 -21
- package/dist/protocol.js +1 -1
- package/dist/skill-category-contract.js +1 -0
- package/dist/skills/builtin/web-research/SKILL.md +37 -0
- package/dist/skills/mcp/astraclaw-native-mcp-server.js +1 -1
- package/dist/tunables.js +1 -1
- package/dist/types/agent/memory-recall-context.d.ts +6 -9
- package/dist/types/agent/memory-recall-injection.d.ts +1 -6
- package/dist/types/agent/tool-loop/agent-argument-normalizer.d.ts +12 -0
- package/dist/types/agent/tool-loop/artifact-final-contract.d.ts +8 -0
- package/dist/types/agent/tool-loop.d.ts +5 -0
- package/dist/types/agent/types.d.ts +5 -0
- package/dist/types/cli/acp-extended-handlers.d.ts +11 -9
- package/dist/types/cli/acp-session-handlers.d.ts +1 -1
- package/dist/types/cli/acp-session-host.d.ts +8 -0
- package/dist/types/cli/agent-runtime-bootstrap.d.ts +7 -1
- package/dist/types/cli/agent-runtime-session-state.d.ts +23 -6
- package/dist/types/cli/atomic-text-file.d.ts +31 -0
- package/dist/types/cli/background-context-capsule.d.ts +12 -0
- package/dist/types/cli/base-tool-bootstrap.d.ts +1 -0
- package/dist/types/cli/cli-acp-request-handler.d.ts +3 -1
- package/dist/types/cli/community-workflow-installer.d.ts +1 -1
- package/dist/types/cli/core-tool-coordinator.d.ts +1 -0
- package/dist/types/cli/core-tools/agent-tool-service.d.ts +17 -1
- package/dist/types/cli/dev-tool-bootstrap.d.ts +3 -2
- package/dist/types/cli/dev-tools/dev-tool-bootstrap-service.d.ts +1 -0
- package/dist/types/cli/dev-tools/dev-tool-registry.d.ts +3 -1
- package/dist/types/cli/dev-tools/incremental-repo-map.d.ts +81 -0
- package/dist/types/cli/dev-tools/lsp-supervisor.d.ts +59 -0
- package/dist/types/cli/dev-tools/lsp-tool-service.d.ts +2 -0
- package/dist/types/cli/handlers/community-handler.d.ts +2 -0
- package/dist/types/cli/handlers/dream-handler.d.ts +1 -1
- package/dist/types/cli/handlers/memory-handler.d.ts +2 -14
- package/dist/types/cli/handlers/product-handler.d.ts +6 -24
- package/dist/types/cli/handlers/turn-handler.d.ts +1 -0
- package/dist/types/cli/idle-dream-coordinator.d.ts +9 -5
- package/dist/types/cli/memory-background-coordinator.d.ts +26 -0
- package/dist/types/cli/memory-candidate-service.d.ts +2 -3
- package/dist/types/cli/memory-coordinator.d.ts +12 -8
- package/dist/types/cli/permission-bootstrap.d.ts +10 -1
- package/dist/types/cli/product-acp-params.d.ts +29 -0
- package/dist/types/cli/resolved-agent-cache.d.ts +18 -7
- package/dist/types/cli/rpc-registry.d.ts +2 -1
- package/dist/types/cli/runtime-hook-bootstrap.d.ts +2 -0
- package/dist/types/cli/stdio-acp-request-host.d.ts +7 -4
- package/dist/types/cli/stdio-agent-session-bootstrap.d.ts +8 -2
- package/dist/types/cli/stdio-rpc-handler-hosts.d.ts +4 -2
- package/dist/types/cli/stdio-runtime-bootstrap.d.ts +1 -0
- package/dist/types/cli/stdio-server.d.ts +53 -16
- package/dist/types/cli/stdio-session-runtime-coordinator.d.ts +0 -2
- package/dist/types/cli/task-distillation-coordinator.d.ts +42 -14
- package/dist/types/cli/tool-bootstrap-core-registration.d.ts +14 -4
- package/dist/types/cli/tool-bootstrap.d.ts +2 -1
- package/dist/types/cli/turn-core.d.ts +4 -0
- package/dist/types/cli/turn-lifecycle.d.ts +1 -0
- package/dist/types/contracts/hooks.d.ts +3 -2
- package/dist/types/contracts/turn-event.d.ts +7 -0
- package/dist/types/host-contract/index.d.ts +144 -14
- package/dist/types/host-contract/memory-category.d.ts +8 -0
- package/dist/types/host-contract/skill-category.d.ts +5 -0
- package/dist/types/host-session-collection-contract.d.ts +1 -0
- package/dist/types/orchestration/agent-instance.d.ts +15 -0
- package/dist/types/orchestration/dag-scheduler.d.ts +18 -0
- package/dist/types/orchestration/delegate-approval-policy.d.ts +8 -0
- package/dist/types/orchestration/goal-acceptance.d.ts +2 -5
- package/dist/types/orchestration/goal-loop-coordinator.d.ts +4 -2
- package/dist/types/orchestration/goal-mode-adapters.d.ts +16 -0
- package/dist/types/orchestration/goal-run-types.d.ts +6 -1
- package/dist/types/orchestration/product-budget.d.ts +35 -16
- package/dist/types/orchestration/product-persistence.d.ts +5 -14
- package/dist/types/orchestration/product-planner.d.ts +38 -0
- package/dist/types/orchestration/product-worktree.d.ts +4 -2
- package/dist/types/orchestration/solo-evaluator.d.ts +42 -2
- package/dist/types/orchestration/solo-spec-builder.d.ts +3 -0
- package/dist/types/orchestration/testing/delegate-test-bridge.d.ts +6 -0
- package/dist/types/orchestration/testing/run-state-client-double.d.ts +13 -0
- package/dist/types/orchestration/workflow/builtin-capabilities.d.ts +3 -0
- package/dist/types/orchestration/workflow/capability-catalog.d.ts +31 -0
- package/dist/types/orchestration/workflow/cron-schedule.d.ts +3 -4
- package/dist/types/orchestration/workflow/expression.d.ts +2 -1
- package/dist/types/orchestration/workflow/n8n-import.d.ts +3 -0
- package/dist/types/orchestration/workflow/node-registry.d.ts +2 -2
- package/dist/types/orchestration/workflow/node-schema.d.ts +20 -4
- package/dist/types/orchestration/workflow/params-schema.d.ts +7 -6
- package/dist/types/orchestration/workflow/qla-executor-host.d.ts +4 -1
- package/dist/types/orchestration/workflow/run-history-store.d.ts +33 -3
- package/dist/types/orchestration/workflow/semantic-acceptance.d.ts +65 -0
- package/dist/types/orchestration/workflow/workflow-authoring.d.ts +74 -0
- package/dist/types/orchestration/workflow/workflow-bundle.d.ts +4 -0
- package/dist/types/orchestration/workflow/workflow-controller.d.ts +16 -4
- package/dist/types/orchestration/workflow/workflow-edit-context.d.ts +46 -0
- package/dist/types/orchestration/workflow/workflow-intent-contract.d.ts +56 -0
- package/dist/types/orchestration/workflow/workflow-patch.d.ts +7 -0
- package/dist/types/orchestration/workflow/workflow-runtime.d.ts +5 -0
- package/dist/types/orchestration/workflow/workflow-scheduler.d.ts +11 -0
- package/dist/types/orchestration/workflow/workflow-store.d.ts +5 -0
- package/dist/types/orchestration/workflow/workflow-template-setup.d.ts +65 -0
- package/dist/types/orchestration/workflow/workflow-trigger.d.ts +4 -0
- package/dist/types/orchestration/workflow-chat-builder.d.ts +105 -20
- package/dist/types/orchestration/worktree-task-prompt.d.ts +1 -0
- package/dist/types/protocol/agent-contract.d.ts +49 -8
- package/dist/types/protocol/notifications.d.ts +1 -1
- package/dist/types/protocol/wire/acp-agent-management.d.ts +97 -9
- package/dist/types/protocol/wire/acp-protocol.d.ts +7 -1
- package/dist/types/protocol/wire/agent-methods.d.ts +15 -1
- package/dist/types/protocol/wire/index.d.ts +2 -4
- package/dist/types/protocol/wire/memory-provider-lifecycle.d.ts +1 -39
- package/dist/types/protocol/wire/notification-payloads.d.ts +96 -1
- package/dist/types/protocol/wire/web-capability.d.ts +2 -2
- package/dist/types/runtime/community/community-consent-client.d.ts +3 -0
- package/dist/types/runtime/config/tunable-defaults.d.ts +0 -6
- package/dist/types/runtime/execution/bounded-output-tail.d.ts +7 -0
- package/dist/types/runtime/execution/dream-agent.d.ts +8 -5
- package/dist/types/runtime/execution/dream-category-context.d.ts +3 -3
- package/dist/types/runtime/execution/structured-tool-progress.d.ts +21 -0
- package/dist/types/runtime/hooks/memory-hooks.d.ts +20 -8
- package/dist/types/runtime/infra/background-tasks.d.ts +5 -1
- package/dist/types/runtime/infra/cloud-auth-host-authority.d.ts +4 -0
- package/dist/types/runtime/infra/llmrouter-access-token.d.ts +0 -1
- package/dist/types/runtime/infra/subagent-turn-snapshot.d.ts +32 -0
- package/dist/types/runtime/infra/turn-telemetry-store.d.ts +22 -0
- package/dist/types/runtime/memory/implicit-extraction.d.ts +23 -7
- package/dist/types/runtime/ports/agent-runtime-ports.d.ts +0 -5
- package/dist/types/runtime/ports/index.d.ts +2 -3
- package/dist/types/runtime/ports/memory-provider.d.ts +31 -16
- package/dist/types/runtime/ports/memory-writer.d.ts +55 -6
- package/dist/types/runtime/ports/permission-contracts.d.ts +2 -0
- package/dist/types/runtime/ports/tool-contracts.d.ts +3 -1
- package/dist/types/runtime/prompt/identity-section.d.ts +2 -0
- package/dist/types/runtime/session/session-permission-store.d.ts +6 -0
- package/dist/types/runtime/tasks/task-types.d.ts +2 -0
- package/dist/types/skills/memory/host-memory-provider.d.ts +59 -9
- package/dist/types/skills/memory/memory-tool.d.ts +3 -1
- package/dist/types/skills/memory/task-distillation.d.ts +22 -3
- package/dist/types/skills/permissions/hook-runner.d.ts +8 -0
- package/dist/types/skills/permissions/operation-classifier.d.ts +7 -0
- package/dist/types/skills/skill-system/skill-category.d.ts +10 -0
- package/dist/types/skills/tools/agent-tool.d.ts +13 -21
- package/dist/types/skills/tools/edit-tool.d.ts +10 -2
- package/dist/types/skills/tools/exec-tool.d.ts +2 -2
- package/dist/types/skills/tools/file-text-snapshot.d.ts +24 -0
- package/dist/types/skills/tools/lsp-tool.d.ts +1 -1
- package/dist/types/skills/tools/patch-tool.d.ts +10 -3
- package/dist/types/skills/tools/read-tool.d.ts +23 -1
- package/dist/types/skills/tools/repo-map-tool.d.ts +52 -0
- package/dist/types/skills/tools/search-tool.d.ts +10 -1
- package/dist/types/skills/tools/shell/index.d.ts +1 -2
- package/dist/types/skills/tools/shell/shell-command.d.ts +1 -1
- package/dist/types/skills/tools/shell/shell-exec.d.ts +2 -2
- package/dist/types/skills/tools/shell/task-output.d.ts +12 -3
- package/dist/types/skills/tools/subagent-decision-tool.d.ts +15 -0
- package/dist/types/skills/tools/task-tool.d.ts +16 -2
- package/dist/types/skills/tools/write-tool.d.ts +2 -1
- package/dist/types/transport/acp-server.d.ts +1 -0
- package/dist/types/transport/host-cloud-auth-client.d.ts +10 -0
- package/dist/types/transport/host-community-client.d.ts +8 -0
- package/dist/types/transport/host-run-state-client.d.ts +6 -0
- package/dist/types/workflow-host.d.ts +8 -1
- package/dist/workflow-host.js +9 -9
- package/package.json +25 -6
- package/dist/types/cli/tool-bootstrap-web-registration.d.ts +0 -14
- package/dist/types/orchestration/tool-cascade.d.ts +0 -49
- package/dist/types/protocol/wire/channel-ingress.d.ts +0 -29
- package/dist/types/protocol/wire/channel.d.ts +0 -89
- package/dist/types/runtime/infra/native-mcp-config-sync.d.ts +0 -16
- package/dist/types/runtime/memory/categories.d.ts +0 -5
- package/dist/types/runtime/memory/recall-category-filter.d.ts +0 -42
- package/dist/types/runtime/ports/source-provider.d.ts +0 -39
- package/dist/types/runtime/ports/web-search-contracts.d.ts +0 -21
- package/dist/types/server/search-svc.d.ts +0 -1
- package/dist/types/skills/memory/local-embedding.d.ts +0 -80
- package/dist/types/skills/memory/memory-config-resolver.d.ts +0 -4
- package/dist/types/skills/memory/memory-embedding-config.d.ts +0 -31
- package/dist/types/skills/tools/web-answer-tool.d.ts +0 -27
- package/dist/types/skills/tools/web-fetch-tool.d.ts +0 -80
- package/dist/types/skills/tools/web-research-tool.d.ts +0 -48
- package/dist/types/skills/tools/web-search-tool.d.ts +0 -46
- package/dist/types/skills/web-search/brave-source.d.ts +0 -3
- package/dist/types/skills/web-search/crawl4ai-extractor.d.ts +0 -16
- package/dist/types/skills/web-search/embedding-rerank.d.ts +0 -13
- package/dist/types/skills/web-search/exa-source.d.ts +0 -3
- package/dist/types/skills/web-search/multi-source-backend.d.ts +0 -23
- package/dist/types/skills/web-search/redis-source-cache.d.ts +0 -6
- package/dist/types/skills/web-search/search-svc-source.d.ts +0 -5
- package/dist/types/skills/web-search/searxng-source.d.ts +0 -4
- package/dist/types/skills/web-search/serper-source.d.ts +0 -3
- package/dist/types/skills/web-search/source-factory.d.ts +0 -6
- package/dist/types/skills/web-search/stability.d.ts +0 -26
- 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
|
-
|
|
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", "
|
|
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", "
|
|
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
|
-
|
|
209
|
-
|
|
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"
|
|
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)异步化:
|
|
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
|
|
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 {
|
|
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:
|
|
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<
|
|
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
|
-
/**
|
|
38
|
-
procedureTag
|
|
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
|
|
45
|
+
recordProcedureRecalls(procedureIds: string[], sessionId: string): void;
|
|
43
46
|
/** V3.2: record negative feedback against distilled procedures (failed turn). cli-injected. */
|
|
44
|
-
recordProcedureNegatives
|
|
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
|
|
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
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
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
|
-
|
|
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,
|
|
18
|
+
export type { AgentRuntimePorts, ContextCompressionEnginePort, RuntimeCompressibleMessage, RuntimeCompressionResult, StreamingToolExecutorPort, StreamingToolExecutorPortConfig, ToolExecutionResultPort, ToolLoopRuntimePorts, } from "./agent-runtime-ports.js";
|