@xenosystem/agent-sdk 0.10.36 → 0.10.38
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/agents/index.cjs +9 -9
- package/dist/agents/index.d.cts +4 -1
- package/dist/agents/index.d.ts +4 -1
- package/dist/agents/index.js +16 -16
- package/dist/agents/metafile-cjs.json +1 -1
- package/dist/agents/metafile-esm.json +1 -1
- package/dist/artifacts/index.cjs +1 -1
- package/dist/artifacts/index.js +1 -1
- package/dist/artifacts/metafile-cjs.json +1 -1
- package/dist/artifacts/metafile-esm.json +1 -1
- package/dist/automation/index.cjs +35 -24
- package/dist/automation/index.d.cts +194 -12
- package/dist/automation/index.d.ts +194 -12
- package/dist/automation/index.js +35 -24
- package/dist/automation/metafile-cjs.json +1 -1
- package/dist/automation/metafile-esm.json +1 -1
- package/dist/control-plane/index.cjs +8 -8
- package/dist/control-plane/index.js +8 -8
- package/dist/control-plane/metafile-cjs.json +1 -1
- package/dist/control-plane/metafile-esm.json +1 -1
- package/dist/coordination/index.cjs +2 -2
- package/dist/coordination/index.js +2 -2
- package/dist/coordination/metafile-cjs.json +1 -1
- package/dist/coordination/metafile-esm.json +1 -1
- package/dist/electron/index.cjs +239 -227
- package/dist/electron/index.d.cts +158 -1
- package/dist/electron/index.d.ts +158 -1
- package/dist/electron/index.js +239 -227
- package/dist/electron/metafile-cjs.json +1 -1
- package/dist/electron/metafile-esm.json +1 -1
- package/dist/hosted/metafile-cjs.json +1 -1
- package/dist/hosted/metafile-esm.json +1 -1
- package/dist/index.cjs +399 -388
- package/dist/index.d.cts +325 -172
- package/dist/index.d.ts +325 -172
- package/dist/index.js +401 -390
- package/dist/intelligence/index.cjs +4 -4
- package/dist/intelligence/index.js +4 -4
- package/dist/intelligence/metafile-cjs.json +1 -1
- package/dist/intelligence/metafile-esm.json +1 -1
- package/dist/mcp/index.cjs +20 -20
- package/dist/mcp/index.d.cts +146 -0
- package/dist/mcp/index.d.ts +146 -0
- package/dist/mcp/index.js +17 -17
- package/dist/mcp/metafile-cjs.json +1 -1
- package/dist/mcp/metafile-esm.json +1 -1
- package/dist/metafile-cjs.json +1 -1
- package/dist/metafile-esm.json +1 -1
- package/dist/providers/index.cjs +10 -10
- package/dist/providers/index.d.cts +49 -5
- package/dist/providers/index.d.ts +49 -5
- package/dist/providers/index.js +10 -10
- package/dist/providers/metafile-cjs.json +1 -1
- package/dist/providers/metafile-esm.json +1 -1
- package/dist/recipes/metafile-cjs.json +1 -1
- package/dist/recipes/metafile-esm.json +1 -1
- package/dist/research/metafile-cjs.json +1 -1
- package/dist/research/metafile-esm.json +1 -1
- package/dist/session/index.cjs +24 -24
- package/dist/session/index.js +16 -16
- package/dist/session/metafile-cjs.json +1 -1
- package/dist/session/metafile-esm.json +1 -1
- package/dist/sharing/index.cjs +1 -1
- package/dist/sharing/index.js +3 -3
- package/dist/sharing/metafile-cjs.json +1 -1
- package/dist/sharing/metafile-esm.json +1 -1
- package/dist/skills/index.d.cts +6 -0
- package/dist/skills/index.d.ts +6 -0
- package/dist/utils/index.cjs +24 -24
- package/dist/utils/index.d.cts +14 -2
- package/dist/utils/index.d.ts +14 -2
- package/dist/utils/index.js +24 -24
- package/dist/utils/metafile-cjs.json +1 -1
- package/dist/utils/metafile-esm.json +1 -1
- package/ownership/evidence/PROPRIETARY-PTY-1/implementation-record.md +1 -1
- package/ownership/ownership-policy.json +12 -1
- package/package.json +1 -1
|
@@ -166,6 +166,12 @@ interface ToolDefinition {
|
|
|
166
166
|
additionalProperties?: boolean | Record<string, unknown>;
|
|
167
167
|
[keyword: string]: unknown;
|
|
168
168
|
};
|
|
169
|
+
grammar?: ToolInputGrammar;
|
|
170
|
+
}
|
|
171
|
+
interface ToolInputGrammar {
|
|
172
|
+
syntax: "gbnf";
|
|
173
|
+
definition: string;
|
|
174
|
+
inputField: string;
|
|
169
175
|
}
|
|
170
176
|
interface ImageUrlBlock {
|
|
171
177
|
type: "image_url";
|
|
@@ -442,6 +448,14 @@ interface PermissionPromptInfo {
|
|
|
442
448
|
};
|
|
443
449
|
}
|
|
444
450
|
type PermissionPromptFn = (info: PermissionPromptInfo) => Promise<"allow" | "always" | "deny">;
|
|
451
|
+
type MemoryLevel = "global" | "project" | "role" | "session";
|
|
452
|
+
interface MemoryBudget {
|
|
453
|
+
global: number;
|
|
454
|
+
project: number;
|
|
455
|
+
role: number;
|
|
456
|
+
session: number;
|
|
457
|
+
total: number;
|
|
458
|
+
}
|
|
445
459
|
type SessionStatus = "creating" | "active" | "paused" | "completed" | "abandoned" | "archived";
|
|
446
460
|
interface AgentSessionHostBindingV1 {
|
|
447
461
|
schemaVersion: 1;
|
|
@@ -640,6 +654,132 @@ interface PolicyEnforcerConfig {
|
|
|
640
654
|
};
|
|
641
655
|
}
|
|
642
656
|
type AgentSandbox = PolicyEnforcerConfig;
|
|
657
|
+
interface MemoryFile {
|
|
658
|
+
level: MemoryLevel;
|
|
659
|
+
path: string;
|
|
660
|
+
content: string;
|
|
661
|
+
tokenCount: number;
|
|
662
|
+
lastModified?: Date;
|
|
663
|
+
}
|
|
664
|
+
interface ResolvedMemory {
|
|
665
|
+
files: MemoryFile[];
|
|
666
|
+
byLevel: Record<MemoryLevel, string>;
|
|
667
|
+
totalTokens: number;
|
|
668
|
+
truncated: boolean;
|
|
669
|
+
}
|
|
670
|
+
interface ProjectSessionContextEntry {
|
|
671
|
+
sessionId: string;
|
|
672
|
+
model: string;
|
|
673
|
+
lastActivity: string;
|
|
674
|
+
messageCount: number;
|
|
675
|
+
excerpt: string;
|
|
676
|
+
}
|
|
677
|
+
interface ProjectSessionContext {
|
|
678
|
+
entries: ProjectSessionContextEntry[];
|
|
679
|
+
totalTokens: number;
|
|
680
|
+
truncated: boolean;
|
|
681
|
+
content: string;
|
|
682
|
+
}
|
|
683
|
+
interface MemoryManagerOptions {
|
|
684
|
+
cwd: string;
|
|
685
|
+
globalDir?: string;
|
|
686
|
+
role?: string;
|
|
687
|
+
sessionDir?: string;
|
|
688
|
+
scope?: MemoryAccessScope;
|
|
689
|
+
budgets?: Partial<MemoryBudget>;
|
|
690
|
+
projectSessionContext?: {
|
|
691
|
+
limit?: number;
|
|
692
|
+
maxTokens?: number;
|
|
693
|
+
maxCharsPerSession?: number;
|
|
694
|
+
};
|
|
695
|
+
}
|
|
696
|
+
type MemoryAccessScope = "none" | "session" | "project" | "user";
|
|
697
|
+
declare class MemoryManager {
|
|
698
|
+
private cwd;
|
|
699
|
+
private globalDir;
|
|
700
|
+
private role?;
|
|
701
|
+
private sessionDir?;
|
|
702
|
+
private scope;
|
|
703
|
+
private budgets;
|
|
704
|
+
private projectSessionContextDefaults;
|
|
705
|
+
constructor(options: MemoryManagerOptions);
|
|
706
|
+
get accessScope(): MemoryAccessScope;
|
|
707
|
+
canAccessLevel(level: MemoryLevel): boolean;
|
|
708
|
+
private assertLevelAccess;
|
|
709
|
+
getProjectSessionContextDefaults(): {
|
|
710
|
+
limit: number;
|
|
711
|
+
maxTokens: number;
|
|
712
|
+
maxCharsPerSession: number;
|
|
713
|
+
};
|
|
714
|
+
getPath(level: MemoryLevel): string;
|
|
715
|
+
loadForPrompt(): Promise<ResolvedMemory>;
|
|
716
|
+
loadProjectSessionContext(options?: {
|
|
717
|
+
excludeSessionId?: string;
|
|
718
|
+
limit?: number;
|
|
719
|
+
maxTokens?: number;
|
|
720
|
+
maxCharsPerSession?: number;
|
|
721
|
+
}): Promise<ProjectSessionContext>;
|
|
722
|
+
private filterProjectSessions;
|
|
723
|
+
private normalizePath;
|
|
724
|
+
private extractRecentTranscriptExcerpt;
|
|
725
|
+
private formatProjectSessionEntry;
|
|
726
|
+
add(level: MemoryLevel, content: string, source: "user" | "auto"): Promise<void>;
|
|
727
|
+
set(level: MemoryLevel, content: string): Promise<void>;
|
|
728
|
+
formatForPrompt(memory: ResolvedMemory): string;
|
|
729
|
+
private truncateContent;
|
|
730
|
+
}
|
|
731
|
+
interface AskUserRequest {
|
|
732
|
+
question: string;
|
|
733
|
+
options?: string[];
|
|
734
|
+
context?: string;
|
|
735
|
+
signal?: AbortSignal;
|
|
736
|
+
}
|
|
737
|
+
interface AskUserResponse {
|
|
738
|
+
answer: string;
|
|
739
|
+
selectedOption?: string;
|
|
740
|
+
}
|
|
741
|
+
interface DispatchAgentRequest {
|
|
742
|
+
agent?: string;
|
|
743
|
+
prompt: string;
|
|
744
|
+
timeoutMs?: number;
|
|
745
|
+
signal?: AbortSignal;
|
|
746
|
+
dispatchId?: string;
|
|
747
|
+
}
|
|
748
|
+
interface DispatchAgentTermination {
|
|
749
|
+
status: "completed" | "incomplete" | "suspended" | "interrupted" | "error";
|
|
750
|
+
reason: string;
|
|
751
|
+
message?: string;
|
|
752
|
+
}
|
|
753
|
+
interface DispatchAgentResponse {
|
|
754
|
+
output: string;
|
|
755
|
+
termination?: DispatchAgentTermination;
|
|
756
|
+
tokenUsage?: {
|
|
757
|
+
input: number;
|
|
758
|
+
output: number;
|
|
759
|
+
total: number;
|
|
760
|
+
};
|
|
761
|
+
}
|
|
762
|
+
interface FileObservation {
|
|
763
|
+
path: string;
|
|
764
|
+
mtimeMs: number;
|
|
765
|
+
size: number;
|
|
766
|
+
source: "read" | "write" | "edit" | "notebook" | "shell";
|
|
767
|
+
requiresRefresh?: boolean;
|
|
768
|
+
reason?: string;
|
|
769
|
+
}
|
|
770
|
+
interface ToolRuntimeContext {
|
|
771
|
+
getCwd(): string;
|
|
772
|
+
setCwd(nextCwd: string): void;
|
|
773
|
+
getOwnerSessionId(): string | undefined;
|
|
774
|
+
getMemoryManager(): MemoryManager | undefined;
|
|
775
|
+
setMemoryManager(memoryManager: MemoryManager | undefined): void;
|
|
776
|
+
noteFileObservation(filePath: string, observation: Omit<FileObservation, "path">): void;
|
|
777
|
+
getFileObservation(filePath: string): FileObservation | undefined;
|
|
778
|
+
invalidateFileObservation(filePath: string, reason: string): void;
|
|
779
|
+
listFileObservations(): FileObservation[];
|
|
780
|
+
askUser?(request: AskUserRequest): Promise<AskUserResponse>;
|
|
781
|
+
dispatchAgent?(request: DispatchAgentRequest): Promise<DispatchAgentResponse>;
|
|
782
|
+
}
|
|
643
783
|
interface ToolRegistryOptions {
|
|
644
784
|
validateInputs?: boolean;
|
|
645
785
|
toolSchemaMode?: "all" | "demand";
|
|
@@ -652,10 +792,14 @@ declare class ToolRegistry {
|
|
|
652
792
|
private validateInputs;
|
|
653
793
|
private readonly toolSchemaMode;
|
|
654
794
|
private readonly activatedDefinitions;
|
|
795
|
+
private memoryRuntime?;
|
|
796
|
+
private memoryBindingScope?;
|
|
655
797
|
constructor(options?: ToolRegistryOptions);
|
|
656
798
|
setValidateInputs(enabled: boolean): this;
|
|
657
799
|
get inputValidationEnabled(): boolean;
|
|
658
800
|
get schemaLoadingMode(): "all" | "demand";
|
|
801
|
+
bindMemoryManager(manager: MemoryManager | undefined): void;
|
|
802
|
+
attachMemoryRuntime(runtime: ToolRuntimeContext, scope?: MemoryManager["accessScope"]): void;
|
|
659
803
|
register(tool: RegisteredTool): void;
|
|
660
804
|
registerAlias(tool: RegisteredTool): void;
|
|
661
805
|
registerAll(tools: Iterable<RegisteredTool>): void;
|
|
@@ -880,6 +1024,7 @@ type XenoChatMessage = {
|
|
|
880
1024
|
};
|
|
881
1025
|
interface StreamResult {
|
|
882
1026
|
content: ContentBlock[];
|
|
1027
|
+
reasoningContent?: string;
|
|
883
1028
|
stopReason: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
|
|
884
1029
|
inputTokens: number;
|
|
885
1030
|
outputTokens: number;
|
|
@@ -938,8 +1083,10 @@ interface LlmClientDeps {
|
|
|
938
1083
|
reportFailure(diagnostics: ApiRequestFailureDiagnostics): Promise<void>;
|
|
939
1084
|
}
|
|
940
1085
|
declare class LlmClient {
|
|
941
|
-
private
|
|
1086
|
+
private deps;
|
|
942
1087
|
constructor(deps: LlmClientDeps);
|
|
1088
|
+
configureAuthorization(options: Pick<LlmClientDeps, "apiKey" | "authorizeRequest">): void;
|
|
1089
|
+
private localGrammarProbe?;
|
|
943
1090
|
readonly id = "xeno-llm-client";
|
|
944
1091
|
complete(model: string, messages: ApiMessage[], tools: ToolDefinition[], onText?: (text: string) => void, signal?: AbortSignal): Promise<StreamResult>;
|
|
945
1092
|
completeLocal(model: string, messages: ApiMessage[], tools: ToolDefinition[], onText?: (text: string) => void, signal?: AbortSignal): Promise<StreamResult>;
|
|
@@ -1050,6 +1197,9 @@ interface LLMProviderRequestContext {
|
|
|
1050
1197
|
systemPrompt: string;
|
|
1051
1198
|
attemptId?: string;
|
|
1052
1199
|
quotaRemainingTokens?: number;
|
|
1200
|
+
toolChoice?: "auto" | "none" | "required" | {
|
|
1201
|
+
name: string;
|
|
1202
|
+
};
|
|
1053
1203
|
onEvent?: (event: ProviderStreamEvent) => void | Promise<void>;
|
|
1054
1204
|
}
|
|
1055
1205
|
interface LLMProviderCapabilities {
|
|
@@ -1065,6 +1215,8 @@ interface LLMProviderCapabilities {
|
|
|
1065
1215
|
readonly cancellation?: boolean;
|
|
1066
1216
|
readonly retryAfter?: boolean;
|
|
1067
1217
|
readonly promptCaching?: boolean;
|
|
1218
|
+
readonly customToolGrammarsGbnf?: boolean;
|
|
1219
|
+
readonly customToolGrammarsGbnfStreaming?: boolean;
|
|
1068
1220
|
readonly [capability: string]: boolean | undefined;
|
|
1069
1221
|
}
|
|
1070
1222
|
interface LLMProvider {
|
|
@@ -1745,6 +1897,11 @@ declare class AgentLoop {
|
|
|
1745
1897
|
modelWorkAccounting?: ModelWorkAccounting;
|
|
1746
1898
|
runAuthority?: RunAuthority;
|
|
1747
1899
|
}): void;
|
|
1900
|
+
configureRequestAuthorization(options: {
|
|
1901
|
+
apiKey?: string;
|
|
1902
|
+
authorizeRequest?: AgentLoopConfig["authorizeRequest"];
|
|
1903
|
+
}): void;
|
|
1904
|
+
createChildRequestAuthorizer(): NonNullable<AgentLoopConfig["authorizeRequest"]>;
|
|
1748
1905
|
get lastTraceId(): string | null;
|
|
1749
1906
|
get lastRunTermination(): AgentRunTermination | null;
|
|
1750
1907
|
get queryState(): QueryState;
|
package/dist/electron/index.d.ts
CHANGED
|
@@ -166,6 +166,12 @@ interface ToolDefinition {
|
|
|
166
166
|
additionalProperties?: boolean | Record<string, unknown>;
|
|
167
167
|
[keyword: string]: unknown;
|
|
168
168
|
};
|
|
169
|
+
grammar?: ToolInputGrammar;
|
|
170
|
+
}
|
|
171
|
+
interface ToolInputGrammar {
|
|
172
|
+
syntax: "gbnf";
|
|
173
|
+
definition: string;
|
|
174
|
+
inputField: string;
|
|
169
175
|
}
|
|
170
176
|
interface ImageUrlBlock {
|
|
171
177
|
type: "image_url";
|
|
@@ -442,6 +448,14 @@ interface PermissionPromptInfo {
|
|
|
442
448
|
};
|
|
443
449
|
}
|
|
444
450
|
type PermissionPromptFn = (info: PermissionPromptInfo) => Promise<"allow" | "always" | "deny">;
|
|
451
|
+
type MemoryLevel = "global" | "project" | "role" | "session";
|
|
452
|
+
interface MemoryBudget {
|
|
453
|
+
global: number;
|
|
454
|
+
project: number;
|
|
455
|
+
role: number;
|
|
456
|
+
session: number;
|
|
457
|
+
total: number;
|
|
458
|
+
}
|
|
445
459
|
type SessionStatus = "creating" | "active" | "paused" | "completed" | "abandoned" | "archived";
|
|
446
460
|
interface AgentSessionHostBindingV1 {
|
|
447
461
|
schemaVersion: 1;
|
|
@@ -640,6 +654,132 @@ interface PolicyEnforcerConfig {
|
|
|
640
654
|
};
|
|
641
655
|
}
|
|
642
656
|
type AgentSandbox = PolicyEnforcerConfig;
|
|
657
|
+
interface MemoryFile {
|
|
658
|
+
level: MemoryLevel;
|
|
659
|
+
path: string;
|
|
660
|
+
content: string;
|
|
661
|
+
tokenCount: number;
|
|
662
|
+
lastModified?: Date;
|
|
663
|
+
}
|
|
664
|
+
interface ResolvedMemory {
|
|
665
|
+
files: MemoryFile[];
|
|
666
|
+
byLevel: Record<MemoryLevel, string>;
|
|
667
|
+
totalTokens: number;
|
|
668
|
+
truncated: boolean;
|
|
669
|
+
}
|
|
670
|
+
interface ProjectSessionContextEntry {
|
|
671
|
+
sessionId: string;
|
|
672
|
+
model: string;
|
|
673
|
+
lastActivity: string;
|
|
674
|
+
messageCount: number;
|
|
675
|
+
excerpt: string;
|
|
676
|
+
}
|
|
677
|
+
interface ProjectSessionContext {
|
|
678
|
+
entries: ProjectSessionContextEntry[];
|
|
679
|
+
totalTokens: number;
|
|
680
|
+
truncated: boolean;
|
|
681
|
+
content: string;
|
|
682
|
+
}
|
|
683
|
+
interface MemoryManagerOptions {
|
|
684
|
+
cwd: string;
|
|
685
|
+
globalDir?: string;
|
|
686
|
+
role?: string;
|
|
687
|
+
sessionDir?: string;
|
|
688
|
+
scope?: MemoryAccessScope;
|
|
689
|
+
budgets?: Partial<MemoryBudget>;
|
|
690
|
+
projectSessionContext?: {
|
|
691
|
+
limit?: number;
|
|
692
|
+
maxTokens?: number;
|
|
693
|
+
maxCharsPerSession?: number;
|
|
694
|
+
};
|
|
695
|
+
}
|
|
696
|
+
type MemoryAccessScope = "none" | "session" | "project" | "user";
|
|
697
|
+
declare class MemoryManager {
|
|
698
|
+
private cwd;
|
|
699
|
+
private globalDir;
|
|
700
|
+
private role?;
|
|
701
|
+
private sessionDir?;
|
|
702
|
+
private scope;
|
|
703
|
+
private budgets;
|
|
704
|
+
private projectSessionContextDefaults;
|
|
705
|
+
constructor(options: MemoryManagerOptions);
|
|
706
|
+
get accessScope(): MemoryAccessScope;
|
|
707
|
+
canAccessLevel(level: MemoryLevel): boolean;
|
|
708
|
+
private assertLevelAccess;
|
|
709
|
+
getProjectSessionContextDefaults(): {
|
|
710
|
+
limit: number;
|
|
711
|
+
maxTokens: number;
|
|
712
|
+
maxCharsPerSession: number;
|
|
713
|
+
};
|
|
714
|
+
getPath(level: MemoryLevel): string;
|
|
715
|
+
loadForPrompt(): Promise<ResolvedMemory>;
|
|
716
|
+
loadProjectSessionContext(options?: {
|
|
717
|
+
excludeSessionId?: string;
|
|
718
|
+
limit?: number;
|
|
719
|
+
maxTokens?: number;
|
|
720
|
+
maxCharsPerSession?: number;
|
|
721
|
+
}): Promise<ProjectSessionContext>;
|
|
722
|
+
private filterProjectSessions;
|
|
723
|
+
private normalizePath;
|
|
724
|
+
private extractRecentTranscriptExcerpt;
|
|
725
|
+
private formatProjectSessionEntry;
|
|
726
|
+
add(level: MemoryLevel, content: string, source: "user" | "auto"): Promise<void>;
|
|
727
|
+
set(level: MemoryLevel, content: string): Promise<void>;
|
|
728
|
+
formatForPrompt(memory: ResolvedMemory): string;
|
|
729
|
+
private truncateContent;
|
|
730
|
+
}
|
|
731
|
+
interface AskUserRequest {
|
|
732
|
+
question: string;
|
|
733
|
+
options?: string[];
|
|
734
|
+
context?: string;
|
|
735
|
+
signal?: AbortSignal;
|
|
736
|
+
}
|
|
737
|
+
interface AskUserResponse {
|
|
738
|
+
answer: string;
|
|
739
|
+
selectedOption?: string;
|
|
740
|
+
}
|
|
741
|
+
interface DispatchAgentRequest {
|
|
742
|
+
agent?: string;
|
|
743
|
+
prompt: string;
|
|
744
|
+
timeoutMs?: number;
|
|
745
|
+
signal?: AbortSignal;
|
|
746
|
+
dispatchId?: string;
|
|
747
|
+
}
|
|
748
|
+
interface DispatchAgentTermination {
|
|
749
|
+
status: "completed" | "incomplete" | "suspended" | "interrupted" | "error";
|
|
750
|
+
reason: string;
|
|
751
|
+
message?: string;
|
|
752
|
+
}
|
|
753
|
+
interface DispatchAgentResponse {
|
|
754
|
+
output: string;
|
|
755
|
+
termination?: DispatchAgentTermination;
|
|
756
|
+
tokenUsage?: {
|
|
757
|
+
input: number;
|
|
758
|
+
output: number;
|
|
759
|
+
total: number;
|
|
760
|
+
};
|
|
761
|
+
}
|
|
762
|
+
interface FileObservation {
|
|
763
|
+
path: string;
|
|
764
|
+
mtimeMs: number;
|
|
765
|
+
size: number;
|
|
766
|
+
source: "read" | "write" | "edit" | "notebook" | "shell";
|
|
767
|
+
requiresRefresh?: boolean;
|
|
768
|
+
reason?: string;
|
|
769
|
+
}
|
|
770
|
+
interface ToolRuntimeContext {
|
|
771
|
+
getCwd(): string;
|
|
772
|
+
setCwd(nextCwd: string): void;
|
|
773
|
+
getOwnerSessionId(): string | undefined;
|
|
774
|
+
getMemoryManager(): MemoryManager | undefined;
|
|
775
|
+
setMemoryManager(memoryManager: MemoryManager | undefined): void;
|
|
776
|
+
noteFileObservation(filePath: string, observation: Omit<FileObservation, "path">): void;
|
|
777
|
+
getFileObservation(filePath: string): FileObservation | undefined;
|
|
778
|
+
invalidateFileObservation(filePath: string, reason: string): void;
|
|
779
|
+
listFileObservations(): FileObservation[];
|
|
780
|
+
askUser?(request: AskUserRequest): Promise<AskUserResponse>;
|
|
781
|
+
dispatchAgent?(request: DispatchAgentRequest): Promise<DispatchAgentResponse>;
|
|
782
|
+
}
|
|
643
783
|
interface ToolRegistryOptions {
|
|
644
784
|
validateInputs?: boolean;
|
|
645
785
|
toolSchemaMode?: "all" | "demand";
|
|
@@ -652,10 +792,14 @@ declare class ToolRegistry {
|
|
|
652
792
|
private validateInputs;
|
|
653
793
|
private readonly toolSchemaMode;
|
|
654
794
|
private readonly activatedDefinitions;
|
|
795
|
+
private memoryRuntime?;
|
|
796
|
+
private memoryBindingScope?;
|
|
655
797
|
constructor(options?: ToolRegistryOptions);
|
|
656
798
|
setValidateInputs(enabled: boolean): this;
|
|
657
799
|
get inputValidationEnabled(): boolean;
|
|
658
800
|
get schemaLoadingMode(): "all" | "demand";
|
|
801
|
+
bindMemoryManager(manager: MemoryManager | undefined): void;
|
|
802
|
+
attachMemoryRuntime(runtime: ToolRuntimeContext, scope?: MemoryManager["accessScope"]): void;
|
|
659
803
|
register(tool: RegisteredTool): void;
|
|
660
804
|
registerAlias(tool: RegisteredTool): void;
|
|
661
805
|
registerAll(tools: Iterable<RegisteredTool>): void;
|
|
@@ -880,6 +1024,7 @@ type XenoChatMessage = {
|
|
|
880
1024
|
};
|
|
881
1025
|
interface StreamResult {
|
|
882
1026
|
content: ContentBlock[];
|
|
1027
|
+
reasoningContent?: string;
|
|
883
1028
|
stopReason: "end_turn" | "tool_use" | "max_tokens" | "stop_sequence";
|
|
884
1029
|
inputTokens: number;
|
|
885
1030
|
outputTokens: number;
|
|
@@ -938,8 +1083,10 @@ interface LlmClientDeps {
|
|
|
938
1083
|
reportFailure(diagnostics: ApiRequestFailureDiagnostics): Promise<void>;
|
|
939
1084
|
}
|
|
940
1085
|
declare class LlmClient {
|
|
941
|
-
private
|
|
1086
|
+
private deps;
|
|
942
1087
|
constructor(deps: LlmClientDeps);
|
|
1088
|
+
configureAuthorization(options: Pick<LlmClientDeps, "apiKey" | "authorizeRequest">): void;
|
|
1089
|
+
private localGrammarProbe?;
|
|
943
1090
|
readonly id = "xeno-llm-client";
|
|
944
1091
|
complete(model: string, messages: ApiMessage[], tools: ToolDefinition[], onText?: (text: string) => void, signal?: AbortSignal): Promise<StreamResult>;
|
|
945
1092
|
completeLocal(model: string, messages: ApiMessage[], tools: ToolDefinition[], onText?: (text: string) => void, signal?: AbortSignal): Promise<StreamResult>;
|
|
@@ -1050,6 +1197,9 @@ interface LLMProviderRequestContext {
|
|
|
1050
1197
|
systemPrompt: string;
|
|
1051
1198
|
attemptId?: string;
|
|
1052
1199
|
quotaRemainingTokens?: number;
|
|
1200
|
+
toolChoice?: "auto" | "none" | "required" | {
|
|
1201
|
+
name: string;
|
|
1202
|
+
};
|
|
1053
1203
|
onEvent?: (event: ProviderStreamEvent) => void | Promise<void>;
|
|
1054
1204
|
}
|
|
1055
1205
|
interface LLMProviderCapabilities {
|
|
@@ -1065,6 +1215,8 @@ interface LLMProviderCapabilities {
|
|
|
1065
1215
|
readonly cancellation?: boolean;
|
|
1066
1216
|
readonly retryAfter?: boolean;
|
|
1067
1217
|
readonly promptCaching?: boolean;
|
|
1218
|
+
readonly customToolGrammarsGbnf?: boolean;
|
|
1219
|
+
readonly customToolGrammarsGbnfStreaming?: boolean;
|
|
1068
1220
|
readonly [capability: string]: boolean | undefined;
|
|
1069
1221
|
}
|
|
1070
1222
|
interface LLMProvider {
|
|
@@ -1745,6 +1897,11 @@ declare class AgentLoop {
|
|
|
1745
1897
|
modelWorkAccounting?: ModelWorkAccounting;
|
|
1746
1898
|
runAuthority?: RunAuthority;
|
|
1747
1899
|
}): void;
|
|
1900
|
+
configureRequestAuthorization(options: {
|
|
1901
|
+
apiKey?: string;
|
|
1902
|
+
authorizeRequest?: AgentLoopConfig["authorizeRequest"];
|
|
1903
|
+
}): void;
|
|
1904
|
+
createChildRequestAuthorizer(): NonNullable<AgentLoopConfig["authorizeRequest"]>;
|
|
1748
1905
|
get lastTraceId(): string | null;
|
|
1749
1906
|
get lastRunTermination(): AgentRunTermination | null;
|
|
1750
1907
|
get queryState(): QueryState;
|