@xenosystem/agent-sdk 0.9.21 → 0.9.24

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 (60) hide show
  1. package/README.md +18 -8
  2. package/dist/artifacts/index.cjs +1 -1
  3. package/dist/artifacts/index.js +1 -1
  4. package/dist/automation/index.cjs +16 -3
  5. package/dist/automation/index.d.cts +367 -1
  6. package/dist/automation/index.d.ts +367 -1
  7. package/dist/automation/index.js +16 -3
  8. package/dist/automation/metafile-cjs.json +1 -1
  9. package/dist/automation/metafile-esm.json +1 -1
  10. package/dist/control-plane/index.cjs +1 -1
  11. package/dist/control-plane/index.js +1 -1
  12. package/dist/control-room/index.d.cts +1 -1
  13. package/dist/control-room/index.d.ts +1 -1
  14. package/dist/control-room/metafile-cjs.json +1 -1
  15. package/dist/control-room/metafile-esm.json +1 -1
  16. package/dist/coordination/index.cjs +2 -0
  17. package/dist/coordination/index.d.cts +395 -0
  18. package/dist/coordination/index.d.ts +395 -0
  19. package/dist/coordination/index.js +2 -0
  20. package/dist/coordination/metafile-cjs.json +1 -0
  21. package/dist/coordination/metafile-esm.json +1 -0
  22. package/dist/electron/index.cjs +123 -119
  23. package/dist/electron/index.d.cts +61 -0
  24. package/dist/electron/index.d.ts +61 -0
  25. package/dist/electron/index.js +118 -114
  26. package/dist/electron/metafile-cjs.json +1 -1
  27. package/dist/electron/metafile-esm.json +1 -1
  28. package/dist/governance/index.d.cts +29 -0
  29. package/dist/governance/index.d.ts +29 -0
  30. package/dist/hosted/index.cjs +1 -1
  31. package/dist/hosted/index.js +1 -1
  32. package/dist/hosted/metafile-cjs.json +1 -1
  33. package/dist/hosted/metafile-esm.json +1 -1
  34. package/dist/index.cjs +359 -351
  35. package/dist/index.d.cts +1964 -1254
  36. package/dist/index.d.ts +1964 -1254
  37. package/dist/index.js +359 -351
  38. package/dist/mcp/index.d.cts +28 -0
  39. package/dist/mcp/index.d.ts +28 -0
  40. package/dist/metafile-cjs.json +1 -1
  41. package/dist/metafile-esm.json +1 -1
  42. package/dist/providers/metafile-cjs.json +1 -1
  43. package/dist/providers/metafile-esm.json +1 -1
  44. package/dist/session/index.cjs +56 -54
  45. package/dist/session/index.d.cts +69 -1
  46. package/dist/session/index.d.ts +69 -1
  47. package/dist/session/index.js +56 -54
  48. package/dist/session/metafile-cjs.json +1 -1
  49. package/dist/session/metafile-esm.json +1 -1
  50. package/dist/skills/index.d.cts +28 -0
  51. package/dist/skills/index.d.ts +28 -0
  52. package/dist/ui/index.d.cts +28 -0
  53. package/dist/ui/index.d.ts +28 -0
  54. package/dist/utils/index.cjs +17 -16
  55. package/dist/utils/index.d.cts +31 -1
  56. package/dist/utils/index.d.ts +31 -1
  57. package/dist/utils/index.js +14 -13
  58. package/dist/utils/metafile-cjs.json +1 -1
  59. package/dist/utils/metafile-esm.json +1 -1
  60. package/package.json +6 -1
@@ -24,6 +24,33 @@ interface CompactionRecord {
24
24
  artifactReferences: string[];
25
25
  createdAt: string;
26
26
  }
27
+ declare const WEB_CONTEXT_TOOL_RESULT_SCHEMA: "xeno.web-context.tool-result.v1";
28
+ interface WebContextEvidenceProjection {
29
+ evidenceId: string;
30
+ requestId: string;
31
+ sourceUrl: string;
32
+ finalUrl?: string;
33
+ citations: Array<{
34
+ url: string;
35
+ title?: string;
36
+ artifactId?: string;
37
+ }>;
38
+ }
39
+ interface WebContextToolResult {
40
+ schemaVersion: typeof WEB_CONTEXT_TOOL_RESULT_SCHEMA;
41
+ operation: "search" | "fetch";
42
+ requestId: string;
43
+ evidence: WebContextEvidenceProjection;
44
+ job?: {
45
+ jobId: string;
46
+ state: string;
47
+ };
48
+ artifact?: {
49
+ artifactId: string;
50
+ mediaType: string;
51
+ bytes: number;
52
+ };
53
+ }
27
54
  interface ImageUrlBlock {
28
55
  type: "image_url";
29
56
  image_url: {
@@ -107,6 +134,7 @@ interface ToolResultBlock {
107
134
  is_error?: boolean;
108
135
  operation?: ToolOperationSnapshot;
109
136
  evidence?: ToolEvidence[];
137
+ web_context?: WebContextToolResult;
110
138
  retryable?: boolean;
111
139
  }
112
140
  type ContentBlock = TextBlock | ToolUseBlock;
@@ -212,6 +240,7 @@ interface ContextCompressedData {
212
240
  messagesRemoved: number;
213
241
  tokensSaved: number;
214
242
  compaction?: CompactionRecord;
243
+ activeContextMessages?: Message[];
215
244
  }
216
245
  interface SessionEndData {
217
246
  reason: "user_exit" | "error" | "completed";
@@ -316,6 +345,16 @@ declare class TranscriptWriter {
316
345
  offset?: number;
317
346
  }): Promise<TranscriptEvent[]>;
318
347
  private isMessageData;
348
+ isMessageEvent(event: TranscriptEvent): event is TranscriptEvent & {
349
+ data: Message;
350
+ };
351
+ readValidated(): Promise<{
352
+ events: TranscriptEvent[];
353
+ issues: Array<{
354
+ code: "torn_transcript_tail" | "invalid_transcript_event" | "non_monotonic_sequence";
355
+ detail: string;
356
+ }>;
357
+ }>;
319
358
  getMessages(): Promise<Message[]>;
320
359
  replaceMessages(messages: Message[]): Promise<void>;
321
360
  truncateAfterMessageCount(messageCount: number): Promise<void>;
@@ -353,6 +392,7 @@ declare class SessionLock {
353
392
  private legacyLockPath;
354
393
  private sessionId;
355
394
  private heartbeatTimer?;
395
+ private acquiredOwner?;
356
396
  constructor(sessionDir: string);
357
397
  acquire(): Promise<void>;
358
398
  release(): Promise<void>;
@@ -393,18 +433,46 @@ declare class SessionRegistry {
393
433
  private static normalizeWorkingDirectory;
394
434
  private static deleteWorkspaceMirror;
395
435
  }
436
+ type SessionRecoverySource = "transcript" | "checkpoint" | "empty";
437
+ interface SessionRecoveryIssue {
438
+ code: "torn_transcript_tail" | "invalid_transcript_event" | "non_monotonic_sequence" | "interrupted_tool_call" | "checkpoint_fallback" | "divergent_checkpoint" | "stale_metadata" | "invalid_compaction_snapshot";
439
+ detail: string;
440
+ }
441
+ interface SessionRecoveryResult {
442
+ messages: Message[];
443
+ transcriptMessages: Message[];
444
+ source: SessionRecoverySource;
445
+ sourceId?: string;
446
+ issues: SessionRecoveryIssue[];
447
+ repairMessages: Message[];
448
+ transcriptEventCount: number;
449
+ latestTimestamp?: string;
450
+ }
451
+ declare function repairInterruptedToolCalls(messages: Message[]): {
452
+ messages: Message[];
453
+ repairs: Message[];
454
+ interruptedToolUseIds: string[];
455
+ };
456
+ declare function recoverSessionMessages(sessionDir: string, options?: {
457
+ metadataMessageCount?: number;
458
+ }): Promise<SessionRecoveryResult>;
396
459
  declare class SessionManager {
397
460
  private sessionDir;
398
461
  private _meta;
399
462
  private _transcript;
400
463
  private _checkpoints;
401
464
  private _lock;
465
+ private _recovery;
466
+ private _detachedForHandoff;
402
467
  private constructor();
403
468
  static create(options: SessionCreateOptions): Promise<SessionManager>;
404
469
  static resume(options: SessionResumeOptions): Promise<SessionManager>;
405
470
  get meta(): SessionMeta;
406
471
  get transcript(): TranscriptWriter;
407
472
  get checkpoints(): CheckpointManager;
473
+ get recovery(): SessionRecoveryResult;
474
+ detachForHandoff(): Promise<void>;
475
+ get detachedForHandoff(): boolean;
408
476
  updateMeta(partial: Partial<SessionMeta>): Promise<void>;
409
477
  end(status?: "completed" | "abandoned"): Promise<void>;
410
478
  recordUserMessage(content: string): Promise<void>;
@@ -528,4 +596,4 @@ declare class TurnRestoreManager {
528
596
  private getBackupPath;
529
597
  private enqueue;
530
598
  }
531
- export { CheckpointManager, DIRECT_SHELL_CONTEXT_WARNING, MAX_DIRECT_SHELL_OUTPUT_CHARS, type RecentSessionEntry, type RecentSessionsIndex, type SessionCreateOptions, SessionLock, SessionManager, SessionRegistry, type SessionResumeOptions, TranscriptWriter, type TurnRestoreAvailability, type TurnRestoreFilePreview, TurnRestoreManager, type TurnRestorePoint, type TurnRestoreResult, createDirectShellMessage, forgetRecentSession, forgetRecentSessionById, formatDirectShellContext, generateSessionId, getRecentSessionsIndexPath, isDirectShellMessage, isValidSessionId, loadRecentSessionsIndex, lookupRecentSession, normalizeDirectShellResultRecord, normalizeWorkingDirectory, parseSessionId, readSessionFormatVersion, recordRecentSession };
599
+ export { CheckpointManager, DIRECT_SHELL_CONTEXT_WARNING, MAX_DIRECT_SHELL_OUTPUT_CHARS, type RecentSessionEntry, type RecentSessionsIndex, type SessionCreateOptions, SessionLock, SessionManager, type SessionRecoveryIssue, type SessionRecoveryResult, type SessionRecoverySource, SessionRegistry, type SessionResumeOptions, TranscriptWriter, type TurnRestoreAvailability, type TurnRestoreFilePreview, TurnRestoreManager, type TurnRestorePoint, type TurnRestoreResult, createDirectShellMessage, forgetRecentSession, forgetRecentSessionById, formatDirectShellContext, generateSessionId, getRecentSessionsIndexPath, isDirectShellMessage, isValidSessionId, loadRecentSessionsIndex, lookupRecentSession, normalizeDirectShellResultRecord, normalizeWorkingDirectory, parseSessionId, readSessionFormatVersion, recordRecentSession, recoverSessionMessages, repairInterruptedToolCalls };
@@ -24,6 +24,33 @@ interface CompactionRecord {
24
24
  artifactReferences: string[];
25
25
  createdAt: string;
26
26
  }
27
+ declare const WEB_CONTEXT_TOOL_RESULT_SCHEMA: "xeno.web-context.tool-result.v1";
28
+ interface WebContextEvidenceProjection {
29
+ evidenceId: string;
30
+ requestId: string;
31
+ sourceUrl: string;
32
+ finalUrl?: string;
33
+ citations: Array<{
34
+ url: string;
35
+ title?: string;
36
+ artifactId?: string;
37
+ }>;
38
+ }
39
+ interface WebContextToolResult {
40
+ schemaVersion: typeof WEB_CONTEXT_TOOL_RESULT_SCHEMA;
41
+ operation: "search" | "fetch";
42
+ requestId: string;
43
+ evidence: WebContextEvidenceProjection;
44
+ job?: {
45
+ jobId: string;
46
+ state: string;
47
+ };
48
+ artifact?: {
49
+ artifactId: string;
50
+ mediaType: string;
51
+ bytes: number;
52
+ };
53
+ }
27
54
  interface ImageUrlBlock {
28
55
  type: "image_url";
29
56
  image_url: {
@@ -107,6 +134,7 @@ interface ToolResultBlock {
107
134
  is_error?: boolean;
108
135
  operation?: ToolOperationSnapshot;
109
136
  evidence?: ToolEvidence[];
137
+ web_context?: WebContextToolResult;
110
138
  retryable?: boolean;
111
139
  }
112
140
  type ContentBlock = TextBlock | ToolUseBlock;
@@ -212,6 +240,7 @@ interface ContextCompressedData {
212
240
  messagesRemoved: number;
213
241
  tokensSaved: number;
214
242
  compaction?: CompactionRecord;
243
+ activeContextMessages?: Message[];
215
244
  }
216
245
  interface SessionEndData {
217
246
  reason: "user_exit" | "error" | "completed";
@@ -316,6 +345,16 @@ declare class TranscriptWriter {
316
345
  offset?: number;
317
346
  }): Promise<TranscriptEvent[]>;
318
347
  private isMessageData;
348
+ isMessageEvent(event: TranscriptEvent): event is TranscriptEvent & {
349
+ data: Message;
350
+ };
351
+ readValidated(): Promise<{
352
+ events: TranscriptEvent[];
353
+ issues: Array<{
354
+ code: "torn_transcript_tail" | "invalid_transcript_event" | "non_monotonic_sequence";
355
+ detail: string;
356
+ }>;
357
+ }>;
319
358
  getMessages(): Promise<Message[]>;
320
359
  replaceMessages(messages: Message[]): Promise<void>;
321
360
  truncateAfterMessageCount(messageCount: number): Promise<void>;
@@ -353,6 +392,7 @@ declare class SessionLock {
353
392
  private legacyLockPath;
354
393
  private sessionId;
355
394
  private heartbeatTimer?;
395
+ private acquiredOwner?;
356
396
  constructor(sessionDir: string);
357
397
  acquire(): Promise<void>;
358
398
  release(): Promise<void>;
@@ -393,18 +433,46 @@ declare class SessionRegistry {
393
433
  private static normalizeWorkingDirectory;
394
434
  private static deleteWorkspaceMirror;
395
435
  }
436
+ type SessionRecoverySource = "transcript" | "checkpoint" | "empty";
437
+ interface SessionRecoveryIssue {
438
+ code: "torn_transcript_tail" | "invalid_transcript_event" | "non_monotonic_sequence" | "interrupted_tool_call" | "checkpoint_fallback" | "divergent_checkpoint" | "stale_metadata" | "invalid_compaction_snapshot";
439
+ detail: string;
440
+ }
441
+ interface SessionRecoveryResult {
442
+ messages: Message[];
443
+ transcriptMessages: Message[];
444
+ source: SessionRecoverySource;
445
+ sourceId?: string;
446
+ issues: SessionRecoveryIssue[];
447
+ repairMessages: Message[];
448
+ transcriptEventCount: number;
449
+ latestTimestamp?: string;
450
+ }
451
+ declare function repairInterruptedToolCalls(messages: Message[]): {
452
+ messages: Message[];
453
+ repairs: Message[];
454
+ interruptedToolUseIds: string[];
455
+ };
456
+ declare function recoverSessionMessages(sessionDir: string, options?: {
457
+ metadataMessageCount?: number;
458
+ }): Promise<SessionRecoveryResult>;
396
459
  declare class SessionManager {
397
460
  private sessionDir;
398
461
  private _meta;
399
462
  private _transcript;
400
463
  private _checkpoints;
401
464
  private _lock;
465
+ private _recovery;
466
+ private _detachedForHandoff;
402
467
  private constructor();
403
468
  static create(options: SessionCreateOptions): Promise<SessionManager>;
404
469
  static resume(options: SessionResumeOptions): Promise<SessionManager>;
405
470
  get meta(): SessionMeta;
406
471
  get transcript(): TranscriptWriter;
407
472
  get checkpoints(): CheckpointManager;
473
+ get recovery(): SessionRecoveryResult;
474
+ detachForHandoff(): Promise<void>;
475
+ get detachedForHandoff(): boolean;
408
476
  updateMeta(partial: Partial<SessionMeta>): Promise<void>;
409
477
  end(status?: "completed" | "abandoned"): Promise<void>;
410
478
  recordUserMessage(content: string): Promise<void>;
@@ -528,4 +596,4 @@ declare class TurnRestoreManager {
528
596
  private getBackupPath;
529
597
  private enqueue;
530
598
  }
531
- export { CheckpointManager, DIRECT_SHELL_CONTEXT_WARNING, MAX_DIRECT_SHELL_OUTPUT_CHARS, type RecentSessionEntry, type RecentSessionsIndex, type SessionCreateOptions, SessionLock, SessionManager, SessionRegistry, type SessionResumeOptions, TranscriptWriter, type TurnRestoreAvailability, type TurnRestoreFilePreview, TurnRestoreManager, type TurnRestorePoint, type TurnRestoreResult, createDirectShellMessage, forgetRecentSession, forgetRecentSessionById, formatDirectShellContext, generateSessionId, getRecentSessionsIndexPath, isDirectShellMessage, isValidSessionId, loadRecentSessionsIndex, lookupRecentSession, normalizeDirectShellResultRecord, normalizeWorkingDirectory, parseSessionId, readSessionFormatVersion, recordRecentSession };
599
+ export { CheckpointManager, DIRECT_SHELL_CONTEXT_WARNING, MAX_DIRECT_SHELL_OUTPUT_CHARS, type RecentSessionEntry, type RecentSessionsIndex, type SessionCreateOptions, SessionLock, SessionManager, type SessionRecoveryIssue, type SessionRecoveryResult, type SessionRecoverySource, SessionRegistry, type SessionResumeOptions, TranscriptWriter, type TurnRestoreAvailability, type TurnRestoreFilePreview, TurnRestoreManager, type TurnRestorePoint, type TurnRestoreResult, createDirectShellMessage, forgetRecentSession, forgetRecentSessionById, formatDirectShellContext, generateSessionId, getRecentSessionsIndexPath, isDirectShellMessage, isValidSessionId, loadRecentSessionsIndex, lookupRecentSession, normalizeDirectShellResultRecord, normalizeWorkingDirectory, parseSessionId, readSessionFormatVersion, recordRecentSession, recoverSessionMessages, repairInterruptedToolCalls };