@xenosystem/agent-sdk 0.10.36 → 0.10.37

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 (77) hide show
  1. package/dist/agents/index.cjs +9 -9
  2. package/dist/agents/index.d.cts +4 -1
  3. package/dist/agents/index.d.ts +4 -1
  4. package/dist/agents/index.js +16 -16
  5. package/dist/agents/metafile-cjs.json +1 -1
  6. package/dist/agents/metafile-esm.json +1 -1
  7. package/dist/artifacts/index.cjs +1 -1
  8. package/dist/artifacts/index.js +1 -1
  9. package/dist/artifacts/metafile-cjs.json +1 -1
  10. package/dist/artifacts/metafile-esm.json +1 -1
  11. package/dist/automation/index.cjs +35 -24
  12. package/dist/automation/index.d.cts +194 -12
  13. package/dist/automation/index.d.ts +194 -12
  14. package/dist/automation/index.js +35 -24
  15. package/dist/automation/metafile-cjs.json +1 -1
  16. package/dist/automation/metafile-esm.json +1 -1
  17. package/dist/control-plane/index.cjs +8 -8
  18. package/dist/control-plane/index.js +8 -8
  19. package/dist/control-plane/metafile-cjs.json +1 -1
  20. package/dist/control-plane/metafile-esm.json +1 -1
  21. package/dist/coordination/index.cjs +2 -2
  22. package/dist/coordination/index.js +2 -2
  23. package/dist/coordination/metafile-cjs.json +1 -1
  24. package/dist/coordination/metafile-esm.json +1 -1
  25. package/dist/electron/index.cjs +239 -227
  26. package/dist/electron/index.d.cts +158 -1
  27. package/dist/electron/index.d.ts +158 -1
  28. package/dist/electron/index.js +239 -227
  29. package/dist/electron/metafile-cjs.json +1 -1
  30. package/dist/electron/metafile-esm.json +1 -1
  31. package/dist/hosted/metafile-cjs.json +1 -1
  32. package/dist/hosted/metafile-esm.json +1 -1
  33. package/dist/index.cjs +399 -388
  34. package/dist/index.d.cts +323 -172
  35. package/dist/index.d.ts +323 -172
  36. package/dist/index.js +401 -390
  37. package/dist/intelligence/index.cjs +4 -4
  38. package/dist/intelligence/index.js +4 -4
  39. package/dist/intelligence/metafile-cjs.json +1 -1
  40. package/dist/intelligence/metafile-esm.json +1 -1
  41. package/dist/mcp/index.cjs +20 -20
  42. package/dist/mcp/index.d.cts +146 -0
  43. package/dist/mcp/index.d.ts +146 -0
  44. package/dist/mcp/index.js +17 -17
  45. package/dist/mcp/metafile-cjs.json +1 -1
  46. package/dist/mcp/metafile-esm.json +1 -1
  47. package/dist/metafile-cjs.json +1 -1
  48. package/dist/metafile-esm.json +1 -1
  49. package/dist/providers/index.cjs +10 -10
  50. package/dist/providers/index.d.cts +49 -5
  51. package/dist/providers/index.d.ts +49 -5
  52. package/dist/providers/index.js +10 -10
  53. package/dist/providers/metafile-cjs.json +1 -1
  54. package/dist/providers/metafile-esm.json +1 -1
  55. package/dist/recipes/metafile-cjs.json +1 -1
  56. package/dist/recipes/metafile-esm.json +1 -1
  57. package/dist/research/metafile-cjs.json +1 -1
  58. package/dist/research/metafile-esm.json +1 -1
  59. package/dist/session/index.cjs +24 -24
  60. package/dist/session/index.js +16 -16
  61. package/dist/session/metafile-cjs.json +1 -1
  62. package/dist/session/metafile-esm.json +1 -1
  63. package/dist/sharing/index.cjs +1 -1
  64. package/dist/sharing/index.js +3 -3
  65. package/dist/sharing/metafile-cjs.json +1 -1
  66. package/dist/sharing/metafile-esm.json +1 -1
  67. package/dist/skills/index.d.cts +6 -0
  68. package/dist/skills/index.d.ts +6 -0
  69. package/dist/utils/index.cjs +24 -24
  70. package/dist/utils/index.d.cts +14 -2
  71. package/dist/utils/index.d.ts +14 -2
  72. package/dist/utils/index.js +24 -24
  73. package/dist/utils/metafile-cjs.json +1 -1
  74. package/dist/utils/metafile-esm.json +1 -1
  75. package/ownership/evidence/PROPRIETARY-PTY-1/implementation-record.md +1 -1
  76. package/ownership/ownership-policy.json +12 -1
  77. package/package.json +1 -1
@@ -76,6 +76,12 @@ interface ToolDefinition {
76
76
  additionalProperties?: boolean | Record<string, unknown>;
77
77
  [keyword: string]: unknown;
78
78
  };
79
+ grammar?: ToolInputGrammar;
80
+ }
81
+ interface ToolInputGrammar {
82
+ syntax: "gbnf";
83
+ definition: string;
84
+ inputField: string;
79
85
  }
80
86
  interface ImageUrlBlock {
81
87
  type: "image_url";
@@ -234,6 +240,14 @@ interface TextBlock {
234
240
  type: "text";
235
241
  text: string;
236
242
  }
243
+ type MemoryLevel = "global" | "project" | "role" | "session";
244
+ interface MemoryBudget {
245
+ global: number;
246
+ project: number;
247
+ role: number;
248
+ session: number;
249
+ total: number;
250
+ }
237
251
  declare const MCP_APPS_EXTENSION_ID: "io.modelcontextprotocol/ui";
238
252
  declare const MCP_APP_RESOURCE_SCHEME: "ui:";
239
253
  declare const MCP_APP_MIME_TYPE: "text/html;profile=mcp-app";
@@ -561,6 +575,7 @@ interface MCPConfiguredServer extends MCPServerConfig {
561
575
  }
562
576
  interface ConnectConfiguredMCPServersOptions {
563
577
  cwd: string;
578
+ filter?: (server: MCPConfiguredServer) => boolean;
564
579
  promptForApproval?: (server: MCPConfiguredServer) => Promise<MCPApprovalDecision>;
565
580
  }
566
581
  interface ConnectConfiguredMCPServersResult {
@@ -647,6 +662,7 @@ declare class MCPManager {
647
662
  private readonly fetcher?;
648
663
  private readonly appCapabilities?;
649
664
  constructor(options?: MCPManagerOptions);
665
+ get configuredServerFilterVersion(): 1;
650
666
  onServerStateChanged(listener: MCPServerChangeListener): () => void;
651
667
  addServer(config: MCPServerConfig): Promise<void>;
652
668
  connectConfiguredServers(options: ConnectConfiguredMCPServersOptions): Promise<ConnectConfiguredMCPServersResult>;
@@ -695,6 +711,132 @@ declare class MCPManager {
695
711
  private resolveApprovalDecision;
696
712
  private emitServerStateChanged;
697
713
  }
714
+ interface MemoryFile {
715
+ level: MemoryLevel;
716
+ path: string;
717
+ content: string;
718
+ tokenCount: number;
719
+ lastModified?: Date;
720
+ }
721
+ interface ResolvedMemory {
722
+ files: MemoryFile[];
723
+ byLevel: Record<MemoryLevel, string>;
724
+ totalTokens: number;
725
+ truncated: boolean;
726
+ }
727
+ interface ProjectSessionContextEntry {
728
+ sessionId: string;
729
+ model: string;
730
+ lastActivity: string;
731
+ messageCount: number;
732
+ excerpt: string;
733
+ }
734
+ interface ProjectSessionContext {
735
+ entries: ProjectSessionContextEntry[];
736
+ totalTokens: number;
737
+ truncated: boolean;
738
+ content: string;
739
+ }
740
+ interface MemoryManagerOptions {
741
+ cwd: string;
742
+ globalDir?: string;
743
+ role?: string;
744
+ sessionDir?: string;
745
+ scope?: MemoryAccessScope;
746
+ budgets?: Partial<MemoryBudget>;
747
+ projectSessionContext?: {
748
+ limit?: number;
749
+ maxTokens?: number;
750
+ maxCharsPerSession?: number;
751
+ };
752
+ }
753
+ type MemoryAccessScope = "none" | "session" | "project" | "user";
754
+ declare class MemoryManager {
755
+ private cwd;
756
+ private globalDir;
757
+ private role?;
758
+ private sessionDir?;
759
+ private scope;
760
+ private budgets;
761
+ private projectSessionContextDefaults;
762
+ constructor(options: MemoryManagerOptions);
763
+ get accessScope(): MemoryAccessScope;
764
+ canAccessLevel(level: MemoryLevel): boolean;
765
+ private assertLevelAccess;
766
+ getProjectSessionContextDefaults(): {
767
+ limit: number;
768
+ maxTokens: number;
769
+ maxCharsPerSession: number;
770
+ };
771
+ getPath(level: MemoryLevel): string;
772
+ loadForPrompt(): Promise<ResolvedMemory>;
773
+ loadProjectSessionContext(options?: {
774
+ excludeSessionId?: string;
775
+ limit?: number;
776
+ maxTokens?: number;
777
+ maxCharsPerSession?: number;
778
+ }): Promise<ProjectSessionContext>;
779
+ private filterProjectSessions;
780
+ private normalizePath;
781
+ private extractRecentTranscriptExcerpt;
782
+ private formatProjectSessionEntry;
783
+ add(level: MemoryLevel, content: string, source: "user" | "auto"): Promise<void>;
784
+ set(level: MemoryLevel, content: string): Promise<void>;
785
+ formatForPrompt(memory: ResolvedMemory): string;
786
+ private truncateContent;
787
+ }
788
+ interface AskUserRequest {
789
+ question: string;
790
+ options?: string[];
791
+ context?: string;
792
+ signal?: AbortSignal;
793
+ }
794
+ interface AskUserResponse {
795
+ answer: string;
796
+ selectedOption?: string;
797
+ }
798
+ interface DispatchAgentRequest {
799
+ agent?: string;
800
+ prompt: string;
801
+ timeoutMs?: number;
802
+ signal?: AbortSignal;
803
+ dispatchId?: string;
804
+ }
805
+ interface DispatchAgentTermination {
806
+ status: "completed" | "incomplete" | "suspended" | "interrupted" | "error";
807
+ reason: string;
808
+ message?: string;
809
+ }
810
+ interface DispatchAgentResponse {
811
+ output: string;
812
+ termination?: DispatchAgentTermination;
813
+ tokenUsage?: {
814
+ input: number;
815
+ output: number;
816
+ total: number;
817
+ };
818
+ }
819
+ interface FileObservation {
820
+ path: string;
821
+ mtimeMs: number;
822
+ size: number;
823
+ source: "read" | "write" | "edit" | "notebook" | "shell";
824
+ requiresRefresh?: boolean;
825
+ reason?: string;
826
+ }
827
+ interface ToolRuntimeContext {
828
+ getCwd(): string;
829
+ setCwd(nextCwd: string): void;
830
+ getOwnerSessionId(): string | undefined;
831
+ getMemoryManager(): MemoryManager | undefined;
832
+ setMemoryManager(memoryManager: MemoryManager | undefined): void;
833
+ noteFileObservation(filePath: string, observation: Omit<FileObservation, "path">): void;
834
+ getFileObservation(filePath: string): FileObservation | undefined;
835
+ invalidateFileObservation(filePath: string, reason: string): void;
836
+ listFileObservations(): FileObservation[];
837
+ askUser?(request: AskUserRequest): Promise<AskUserResponse>;
838
+ dispatchAgent?(request: DispatchAgentRequest): Promise<DispatchAgentResponse>;
839
+ }
698
840
  interface ToolRegistryOptions {
699
841
  validateInputs?: boolean;
700
842
  toolSchemaMode?: "all" | "demand";
@@ -707,10 +849,14 @@ declare class ToolRegistry {
707
849
  private validateInputs;
708
850
  private readonly toolSchemaMode;
709
851
  private readonly activatedDefinitions;
852
+ private memoryRuntime?;
853
+ private memoryBindingScope?;
710
854
  constructor(options?: ToolRegistryOptions);
711
855
  setValidateInputs(enabled: boolean): this;
712
856
  get inputValidationEnabled(): boolean;
713
857
  get schemaLoadingMode(): "all" | "demand";
858
+ bindMemoryManager(manager: MemoryManager | undefined): void;
859
+ attachMemoryRuntime(runtime: ToolRuntimeContext, scope?: MemoryManager["accessScope"]): void;
714
860
  register(tool: RegisteredTool): void;
715
861
  registerAlias(tool: RegisteredTool): void;
716
862
  registerAll(tools: Iterable<RegisteredTool>): void;
@@ -76,6 +76,12 @@ interface ToolDefinition {
76
76
  additionalProperties?: boolean | Record<string, unknown>;
77
77
  [keyword: string]: unknown;
78
78
  };
79
+ grammar?: ToolInputGrammar;
80
+ }
81
+ interface ToolInputGrammar {
82
+ syntax: "gbnf";
83
+ definition: string;
84
+ inputField: string;
79
85
  }
80
86
  interface ImageUrlBlock {
81
87
  type: "image_url";
@@ -234,6 +240,14 @@ interface TextBlock {
234
240
  type: "text";
235
241
  text: string;
236
242
  }
243
+ type MemoryLevel = "global" | "project" | "role" | "session";
244
+ interface MemoryBudget {
245
+ global: number;
246
+ project: number;
247
+ role: number;
248
+ session: number;
249
+ total: number;
250
+ }
237
251
  declare const MCP_APPS_EXTENSION_ID: "io.modelcontextprotocol/ui";
238
252
  declare const MCP_APP_RESOURCE_SCHEME: "ui:";
239
253
  declare const MCP_APP_MIME_TYPE: "text/html;profile=mcp-app";
@@ -561,6 +575,7 @@ interface MCPConfiguredServer extends MCPServerConfig {
561
575
  }
562
576
  interface ConnectConfiguredMCPServersOptions {
563
577
  cwd: string;
578
+ filter?: (server: MCPConfiguredServer) => boolean;
564
579
  promptForApproval?: (server: MCPConfiguredServer) => Promise<MCPApprovalDecision>;
565
580
  }
566
581
  interface ConnectConfiguredMCPServersResult {
@@ -647,6 +662,7 @@ declare class MCPManager {
647
662
  private readonly fetcher?;
648
663
  private readonly appCapabilities?;
649
664
  constructor(options?: MCPManagerOptions);
665
+ get configuredServerFilterVersion(): 1;
650
666
  onServerStateChanged(listener: MCPServerChangeListener): () => void;
651
667
  addServer(config: MCPServerConfig): Promise<void>;
652
668
  connectConfiguredServers(options: ConnectConfiguredMCPServersOptions): Promise<ConnectConfiguredMCPServersResult>;
@@ -695,6 +711,132 @@ declare class MCPManager {
695
711
  private resolveApprovalDecision;
696
712
  private emitServerStateChanged;
697
713
  }
714
+ interface MemoryFile {
715
+ level: MemoryLevel;
716
+ path: string;
717
+ content: string;
718
+ tokenCount: number;
719
+ lastModified?: Date;
720
+ }
721
+ interface ResolvedMemory {
722
+ files: MemoryFile[];
723
+ byLevel: Record<MemoryLevel, string>;
724
+ totalTokens: number;
725
+ truncated: boolean;
726
+ }
727
+ interface ProjectSessionContextEntry {
728
+ sessionId: string;
729
+ model: string;
730
+ lastActivity: string;
731
+ messageCount: number;
732
+ excerpt: string;
733
+ }
734
+ interface ProjectSessionContext {
735
+ entries: ProjectSessionContextEntry[];
736
+ totalTokens: number;
737
+ truncated: boolean;
738
+ content: string;
739
+ }
740
+ interface MemoryManagerOptions {
741
+ cwd: string;
742
+ globalDir?: string;
743
+ role?: string;
744
+ sessionDir?: string;
745
+ scope?: MemoryAccessScope;
746
+ budgets?: Partial<MemoryBudget>;
747
+ projectSessionContext?: {
748
+ limit?: number;
749
+ maxTokens?: number;
750
+ maxCharsPerSession?: number;
751
+ };
752
+ }
753
+ type MemoryAccessScope = "none" | "session" | "project" | "user";
754
+ declare class MemoryManager {
755
+ private cwd;
756
+ private globalDir;
757
+ private role?;
758
+ private sessionDir?;
759
+ private scope;
760
+ private budgets;
761
+ private projectSessionContextDefaults;
762
+ constructor(options: MemoryManagerOptions);
763
+ get accessScope(): MemoryAccessScope;
764
+ canAccessLevel(level: MemoryLevel): boolean;
765
+ private assertLevelAccess;
766
+ getProjectSessionContextDefaults(): {
767
+ limit: number;
768
+ maxTokens: number;
769
+ maxCharsPerSession: number;
770
+ };
771
+ getPath(level: MemoryLevel): string;
772
+ loadForPrompt(): Promise<ResolvedMemory>;
773
+ loadProjectSessionContext(options?: {
774
+ excludeSessionId?: string;
775
+ limit?: number;
776
+ maxTokens?: number;
777
+ maxCharsPerSession?: number;
778
+ }): Promise<ProjectSessionContext>;
779
+ private filterProjectSessions;
780
+ private normalizePath;
781
+ private extractRecentTranscriptExcerpt;
782
+ private formatProjectSessionEntry;
783
+ add(level: MemoryLevel, content: string, source: "user" | "auto"): Promise<void>;
784
+ set(level: MemoryLevel, content: string): Promise<void>;
785
+ formatForPrompt(memory: ResolvedMemory): string;
786
+ private truncateContent;
787
+ }
788
+ interface AskUserRequest {
789
+ question: string;
790
+ options?: string[];
791
+ context?: string;
792
+ signal?: AbortSignal;
793
+ }
794
+ interface AskUserResponse {
795
+ answer: string;
796
+ selectedOption?: string;
797
+ }
798
+ interface DispatchAgentRequest {
799
+ agent?: string;
800
+ prompt: string;
801
+ timeoutMs?: number;
802
+ signal?: AbortSignal;
803
+ dispatchId?: string;
804
+ }
805
+ interface DispatchAgentTermination {
806
+ status: "completed" | "incomplete" | "suspended" | "interrupted" | "error";
807
+ reason: string;
808
+ message?: string;
809
+ }
810
+ interface DispatchAgentResponse {
811
+ output: string;
812
+ termination?: DispatchAgentTermination;
813
+ tokenUsage?: {
814
+ input: number;
815
+ output: number;
816
+ total: number;
817
+ };
818
+ }
819
+ interface FileObservation {
820
+ path: string;
821
+ mtimeMs: number;
822
+ size: number;
823
+ source: "read" | "write" | "edit" | "notebook" | "shell";
824
+ requiresRefresh?: boolean;
825
+ reason?: string;
826
+ }
827
+ interface ToolRuntimeContext {
828
+ getCwd(): string;
829
+ setCwd(nextCwd: string): void;
830
+ getOwnerSessionId(): string | undefined;
831
+ getMemoryManager(): MemoryManager | undefined;
832
+ setMemoryManager(memoryManager: MemoryManager | undefined): void;
833
+ noteFileObservation(filePath: string, observation: Omit<FileObservation, "path">): void;
834
+ getFileObservation(filePath: string): FileObservation | undefined;
835
+ invalidateFileObservation(filePath: string, reason: string): void;
836
+ listFileObservations(): FileObservation[];
837
+ askUser?(request: AskUserRequest): Promise<AskUserResponse>;
838
+ dispatchAgent?(request: DispatchAgentRequest): Promise<DispatchAgentResponse>;
839
+ }
698
840
  interface ToolRegistryOptions {
699
841
  validateInputs?: boolean;
700
842
  toolSchemaMode?: "all" | "demand";
@@ -707,10 +849,14 @@ declare class ToolRegistry {
707
849
  private validateInputs;
708
850
  private readonly toolSchemaMode;
709
851
  private readonly activatedDefinitions;
852
+ private memoryRuntime?;
853
+ private memoryBindingScope?;
710
854
  constructor(options?: ToolRegistryOptions);
711
855
  setValidateInputs(enabled: boolean): this;
712
856
  get inputValidationEnabled(): boolean;
713
857
  get schemaLoadingMode(): "all" | "demand";
858
+ bindMemoryManager(manager: MemoryManager | undefined): void;
859
+ attachMemoryRuntime(runtime: ToolRuntimeContext, scope?: MemoryManager["accessScope"]): void;
714
860
  register(tool: RegisteredTool): void;
715
861
  registerAlias(tool: RegisteredTool): void;
716
862
  registerAll(tools: Iterable<RegisteredTool>): void;