@strands-agents/sdk 1.0.0-rc.2 → 1.0.0-rc.3

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 (79) hide show
  1. package/README.md +4 -0
  2. package/dist/src/__fixtures__/agent-helpers.d.ts.map +1 -1
  3. package/dist/src/__fixtures__/agent-helpers.js +1 -0
  4. package/dist/src/__fixtures__/agent-helpers.js.map +1 -1
  5. package/dist/src/agent/__tests__/agent-as-tool.test.d.ts +2 -0
  6. package/dist/src/agent/__tests__/agent-as-tool.test.d.ts.map +1 -0
  7. package/dist/src/agent/__tests__/agent-as-tool.test.js +347 -0
  8. package/dist/src/agent/__tests__/agent-as-tool.test.js.map +1 -0
  9. package/dist/src/agent/__tests__/agent.cancel.test.d.ts +2 -0
  10. package/dist/src/agent/__tests__/agent.cancel.test.d.ts.map +1 -0
  11. package/dist/src/agent/__tests__/agent.cancel.test.js +337 -0
  12. package/dist/src/agent/__tests__/agent.cancel.test.js.map +1 -0
  13. package/dist/src/agent/__tests__/agent.test.js +4 -1
  14. package/dist/src/agent/__tests__/agent.test.js.map +1 -1
  15. package/dist/src/agent/__tests__/snapshot.test.js +12 -1
  16. package/dist/src/agent/__tests__/snapshot.test.js.map +1 -1
  17. package/dist/src/agent/agent-as-tool.d.ts +96 -0
  18. package/dist/src/agent/agent-as-tool.d.ts.map +1 -0
  19. package/dist/src/agent/agent-as-tool.js +135 -0
  20. package/dist/src/agent/agent-as-tool.js.map +1 -0
  21. package/dist/src/agent/agent.d.ts +87 -3
  22. package/dist/src/agent/agent.d.ts.map +1 -1
  23. package/dist/src/agent/agent.js +188 -5
  24. package/dist/src/agent/agent.js.map +1 -1
  25. package/dist/src/agent/snapshot.d.ts +1 -33
  26. package/dist/src/agent/snapshot.d.ts.map +1 -1
  27. package/dist/src/agent/snapshot.js +4 -4
  28. package/dist/src/agent/snapshot.js.map +1 -1
  29. package/dist/src/errors.d.ts +9 -0
  30. package/dist/src/errors.d.ts.map +1 -1
  31. package/dist/src/errors.js +12 -0
  32. package/dist/src/errors.js.map +1 -1
  33. package/dist/src/index.d.ts +3 -2
  34. package/dist/src/index.d.ts.map +1 -1
  35. package/dist/src/index.js +2 -0
  36. package/dist/src/index.js.map +1 -1
  37. package/dist/src/models/__tests__/bedrock.test.js +51 -0
  38. package/dist/src/models/__tests__/bedrock.test.js.map +1 -1
  39. package/dist/src/models/bedrock.d.ts +10 -0
  40. package/dist/src/models/bedrock.d.ts.map +1 -1
  41. package/dist/src/models/bedrock.js +25 -2
  42. package/dist/src/models/bedrock.js.map +1 -1
  43. package/dist/src/multiagent/__tests__/snapshot.test.d.ts +2 -0
  44. package/dist/src/multiagent/__tests__/snapshot.test.d.ts.map +1 -0
  45. package/dist/src/multiagent/__tests__/snapshot.test.js +161 -0
  46. package/dist/src/multiagent/__tests__/snapshot.test.js.map +1 -0
  47. package/dist/src/multiagent/plugins.d.ts +8 -8
  48. package/dist/src/multiagent/plugins.d.ts.map +1 -1
  49. package/dist/src/multiagent/plugins.js +1 -30
  50. package/dist/src/multiagent/plugins.js.map +1 -1
  51. package/dist/src/multiagent/snapshot.d.ts +51 -0
  52. package/dist/src/multiagent/snapshot.d.ts.map +1 -0
  53. package/dist/src/multiagent/snapshot.js +69 -0
  54. package/dist/src/multiagent/snapshot.js.map +1 -0
  55. package/dist/src/session/__tests__/session-manager.test.js +244 -1
  56. package/dist/src/session/__tests__/session-manager.test.js.map +1 -1
  57. package/dist/src/session/index.d.ts +2 -2
  58. package/dist/src/session/index.d.ts.map +1 -1
  59. package/dist/src/session/session-manager.d.ts +42 -4
  60. package/dist/src/session/session-manager.d.ts.map +1 -1
  61. package/dist/src/session/session-manager.js +64 -10
  62. package/dist/src/session/session-manager.js.map +1 -1
  63. package/dist/src/session/types.d.ts +1 -1
  64. package/dist/src/tools/tool.d.ts +1 -1
  65. package/dist/src/tsconfig.tsbuildinfo +1 -1
  66. package/dist/src/types/agent.d.ts +63 -0
  67. package/dist/src/types/agent.d.ts.map +1 -1
  68. package/dist/src/types/agent.js.map +1 -1
  69. package/dist/src/types/messages.d.ts +2 -1
  70. package/dist/src/types/messages.d.ts.map +1 -1
  71. package/dist/src/types/messages.js.map +1 -1
  72. package/dist/src/types/snapshot.d.ts +28 -0
  73. package/dist/src/types/snapshot.d.ts.map +1 -0
  74. package/dist/src/types/snapshot.js +8 -0
  75. package/dist/src/types/snapshot.js.map +1 -0
  76. package/dist/src/vended-tools/http-request/http-request.d.ts.map +1 -1
  77. package/dist/src/vended-tools/http-request/http-request.js +7 -22
  78. package/dist/src/vended-tools/http-request/http-request.js.map +1 -1
  79. package/package.json +1 -1
@@ -4,9 +4,10 @@ import { MockSnapshotStorage, createTestSnapshot } from '../../__fixtures__/mock
4
4
  import { InitializedEvent, MessageAddedEvent, AfterInvocationEvent, AfterModelCallEvent, HookableEvent, } from '../../hooks/index.js';
5
5
  import { Agent } from '../../agent/agent.js';
6
6
  import { Message, TextBlock } from '../../types/messages.js';
7
- import { createMockAgent as createMockAgentWithHooks, invokeTrackedHook } from '../../__fixtures__/agent-helpers.js';
7
+ import { createMockAgent as createMockAgentWithHooks, invokeTrackedHook, } from '../../__fixtures__/agent-helpers.js';
8
8
  import { loadStateFromJSONSymbol, stateToJSONSymbol } from '../../types/serializable.js';
9
9
  import { logger } from '../../logging/logger.js';
10
+ import { AfterMultiAgentInvocationEvent, BeforeMultiAgentInvocationEvent, Graph, MultiAgentState, NodeResult, Status, } from '../../multiagent/index.js';
10
11
  // Test fixtures
11
12
  function createMockAgent(id = 'agent') {
12
13
  const agent = {
@@ -478,4 +479,246 @@ describe('SessionManager', () => {
478
479
  });
479
480
  });
480
481
  });
482
+ function createMockOrchestrator(id = 'graph') {
483
+ const trackedHooks = [];
484
+ return {
485
+ id,
486
+ nodes: new Map(),
487
+ invoke: vi.fn(),
488
+ stream: vi.fn(),
489
+ addHook: (eventType, callback) => {
490
+ trackedHooks.push({
491
+ eventType: eventType,
492
+ callback: callback,
493
+ });
494
+ return () => { };
495
+ },
496
+ trackedHooks,
497
+ };
498
+ }
499
+ function invokeOrchestratorHook(orchestrator, event) {
500
+ const hook = orchestrator.trackedHooks.find((h) => h.eventType === event.constructor);
501
+ if (!hook)
502
+ throw new Error(`No hook registered for event type: ${event.constructor.name}`);
503
+ return hook.callback(event);
504
+ }
505
+ function createMultiAgentTestSnapshot(orchestratorId = 'test-graph') {
506
+ return createTestSnapshot({ scope: 'multiAgent', data: { orchestratorId } });
507
+ }
508
+ describe('SessionManager — multi-agent', () => {
509
+ let storage;
510
+ let sessionManager;
511
+ let orchestrator;
512
+ beforeEach(() => {
513
+ storage = new MockSnapshotStorage();
514
+ orchestrator = createMockOrchestrator('test-graph');
515
+ });
516
+ describe('initMultiAgent', () => {
517
+ it('registers BeforeMultiAgentInvocationEvent hook', () => {
518
+ sessionManager = new SessionManager({ sessionId: 'test', storage: { snapshot: storage } });
519
+ sessionManager.initMultiAgent(orchestrator);
520
+ const hook = orchestrator.trackedHooks.find((h) => h.eventType === BeforeMultiAgentInvocationEvent);
521
+ expect(hook).toBeDefined();
522
+ });
523
+ it('registers AfterMultiAgentInvocationEvent hook', () => {
524
+ sessionManager = new SessionManager({ sessionId: 'test', storage: { snapshot: storage } });
525
+ sessionManager.initMultiAgent(orchestrator);
526
+ const hook = orchestrator.trackedHooks.find((h) => h.eventType === AfterMultiAgentInvocationEvent);
527
+ expect(hook).toBeDefined();
528
+ });
529
+ });
530
+ describe('saveSnapshot — multi-agent', () => {
531
+ beforeEach(() => {
532
+ sessionManager = new SessionManager({ sessionId: 'test-session', storage: { snapshot: storage } });
533
+ });
534
+ it('saves orchestrator snapshot as latest', async () => {
535
+ await sessionManager.saveSnapshot({ target: orchestrator, isLatest: true });
536
+ const snapshot = await storage.loadSnapshot({
537
+ location: { sessionId: 'test-session', scope: 'multiAgent', scopeId: 'test-graph' },
538
+ });
539
+ expect(snapshot).not.toBeNull();
540
+ expect(snapshot?.scope).toBe('multiAgent');
541
+ });
542
+ it('saves orchestrator snapshot with state', async () => {
543
+ const state = new MultiAgentState({ nodeIds: ['a'] });
544
+ state.steps = 3;
545
+ await sessionManager.saveSnapshot({ target: orchestrator, state, isLatest: true });
546
+ const snapshot = await storage.loadSnapshot({
547
+ location: { sessionId: 'test-session', scope: 'multiAgent', scopeId: 'test-graph' },
548
+ });
549
+ expect(snapshot).not.toBeNull();
550
+ expect(snapshot?.data.state).toBeDefined();
551
+ });
552
+ it('saves immutable orchestrator snapshot', async () => {
553
+ await sessionManager.saveSnapshot({ target: orchestrator, isLatest: false });
554
+ const ids = await storage.listSnapshotIds({
555
+ location: { sessionId: 'test-session', scope: 'multiAgent', scopeId: 'test-graph' },
556
+ });
557
+ expect(ids.length).toBe(1);
558
+ });
559
+ });
560
+ describe('restoreSnapshot — multi-agent', () => {
561
+ beforeEach(() => {
562
+ sessionManager = new SessionManager({ sessionId: 'test-session', storage: { snapshot: storage } });
563
+ });
564
+ it('restores orchestrator snapshot', async () => {
565
+ const snapshot = createMultiAgentTestSnapshot();
566
+ await storage.saveSnapshot({
567
+ location: { sessionId: 'test-session', scope: 'multiAgent', scopeId: 'test-graph' },
568
+ snapshotId: 'latest',
569
+ isLatest: true,
570
+ snapshot,
571
+ });
572
+ const result = await sessionManager.restoreSnapshot({ target: orchestrator });
573
+ expect(result).toBe(true);
574
+ });
575
+ it('returns false when no snapshot exists', async () => {
576
+ const result = await sessionManager.restoreSnapshot({ target: orchestrator });
577
+ expect(result).toBe(false);
578
+ });
579
+ });
580
+ describe('AfterMultiAgentInvocationEvent handling', () => {
581
+ it('saves snapshot when multiagentSaveLatestOn is invocation (default)', async () => {
582
+ sessionManager = new SessionManager({
583
+ sessionId: 'test-session',
584
+ storage: { snapshot: storage },
585
+ });
586
+ sessionManager.initMultiAgent(orchestrator);
587
+ const state = new MultiAgentState({ nodeIds: ['a'] });
588
+ await invokeOrchestratorHook(orchestrator, new AfterMultiAgentInvocationEvent({ orchestrator, state }));
589
+ const snapshot = await storage.loadSnapshot({
590
+ location: { sessionId: 'test-session', scope: 'multiAgent', scopeId: 'test-graph' },
591
+ });
592
+ expect(snapshot).not.toBeNull();
593
+ expect(snapshot?.scope).toBe('multiAgent');
594
+ });
595
+ it('saves snapshot independently of agent saveLatestOn setting', async () => {
596
+ sessionManager = new SessionManager({
597
+ sessionId: 'test-session',
598
+ storage: { snapshot: storage },
599
+ saveLatestOn: 'trigger',
600
+ multiAgentSaveLatestOn: 'invocation',
601
+ });
602
+ sessionManager.initMultiAgent(orchestrator);
603
+ const state = new MultiAgentState({ nodeIds: ['a'] });
604
+ await invokeOrchestratorHook(orchestrator, new AfterMultiAgentInvocationEvent({ orchestrator, state }));
605
+ const snapshot = await storage.loadSnapshot({
606
+ location: { sessionId: 'test-session', scope: 'multiAgent', scopeId: 'test-graph' },
607
+ });
608
+ expect(snapshot).not.toBeNull();
609
+ });
610
+ });
611
+ describe('scope isolation', () => {
612
+ it('agent and multi-agent snapshots use separate storage paths', async () => {
613
+ const mockAgent = createMockAgent('test-agent');
614
+ sessionManager = new SessionManager({
615
+ sessionId: 'shared-session',
616
+ storage: { snapshot: storage },
617
+ });
618
+ await sessionManager.saveSnapshot({ target: mockAgent, isLatest: true });
619
+ await sessionManager.saveSnapshot({ target: orchestrator, isLatest: true });
620
+ const agentSnapshot = await storage.loadSnapshot({
621
+ location: { sessionId: 'shared-session', scope: 'agent', scopeId: 'test-agent' },
622
+ });
623
+ const multiAgentSnapshot = await storage.loadSnapshot({
624
+ location: { sessionId: 'shared-session', scope: 'multiAgent', scopeId: 'test-graph' },
625
+ });
626
+ expect(agentSnapshot).not.toBeNull();
627
+ expect(multiAgentSnapshot).not.toBeNull();
628
+ expect(agentSnapshot?.scope).toBe('agent');
629
+ expect(multiAgentSnapshot?.scope).toBe('multiAgent');
630
+ });
631
+ });
632
+ describe('BeforeMultiAgentInvocationEvent — state restore', () => {
633
+ it('restores state into event.state when snapshot exists', async () => {
634
+ const snapshot = createMultiAgentTestSnapshot();
635
+ // Build state with a completed node and result
636
+ const state = new MultiAgentState({ nodeIds: ['a'] });
637
+ state.steps = 7;
638
+ const nodeState = state.node('a');
639
+ nodeState.status = Status.COMPLETED;
640
+ nodeState.results.push(new NodeResult({ nodeId: 'a', status: Status.COMPLETED, duration: 100, content: [new TextBlock('done')] }));
641
+ const { serializeStateSerializable } = await import('../../types/serializable.js');
642
+ snapshot.data.state = serializeStateSerializable(state);
643
+ await storage.saveSnapshot({
644
+ location: { sessionId: 'test-session', scope: 'multiAgent', scopeId: 'test-graph' },
645
+ snapshotId: 'latest',
646
+ isLatest: true,
647
+ snapshot,
648
+ });
649
+ sessionManager = new SessionManager({ sessionId: 'test-session', storage: { snapshot: storage } });
650
+ sessionManager.initMultiAgent(orchestrator);
651
+ const freshState = new MultiAgentState({ nodeIds: ['a'] });
652
+ await invokeOrchestratorHook(orchestrator, new BeforeMultiAgentInvocationEvent({ orchestrator, state: freshState }));
653
+ expect(freshState.steps).toBe(7);
654
+ expect(freshState.node('a')?.status).toBe(Status.COMPLETED);
655
+ expect(freshState.node('a')?.results).toHaveLength(1);
656
+ expect(freshState.node('a')?.results[0]?.nodeId).toBe('a');
657
+ expect(freshState.node('a')?.results[0]?.status).toBe(Status.COMPLETED);
658
+ expect(freshState.node('a')?.content[0]).toEqual(expect.objectContaining({ text: 'done' }));
659
+ });
660
+ it('does not modify state when no snapshot exists', async () => {
661
+ sessionManager = new SessionManager({ sessionId: 'empty-session', storage: { snapshot: storage } });
662
+ sessionManager.initMultiAgent(orchestrator);
663
+ const freshState = new MultiAgentState({ nodeIds: ['a'] });
664
+ await invokeOrchestratorHook(orchestrator, new BeforeMultiAgentInvocationEvent({ orchestrator, state: freshState }));
665
+ expect(freshState.steps).toBe(0);
666
+ });
667
+ it('restores state independently for two orchestrators sharing one SessionManager', async () => {
668
+ const { serializeStateSerializable } = await import('../../types/serializable.js');
669
+ // Set up snapshots for two different orchestrators
670
+ const orchestratorA = createMockOrchestrator('graph-a');
671
+ const orchestratorB = createMockOrchestrator('swarm-b');
672
+ for (const [orch, steps] of [
673
+ [orchestratorA, 3],
674
+ [orchestratorB, 5],
675
+ ]) {
676
+ const snap = createMultiAgentTestSnapshot(orch.id);
677
+ const st = new MultiAgentState({ nodeIds: ['x'] });
678
+ st.steps = steps;
679
+ snap.data.state = serializeStateSerializable(st);
680
+ await storage.saveSnapshot({
681
+ location: { sessionId: 'test-session', scope: 'multiAgent', scopeId: orch.id },
682
+ snapshotId: 'latest',
683
+ isLatest: true,
684
+ snapshot: snap,
685
+ });
686
+ }
687
+ sessionManager = new SessionManager({ sessionId: 'test-session', storage: { snapshot: storage } });
688
+ sessionManager.initMultiAgent(orchestratorA);
689
+ sessionManager.initMultiAgent(orchestratorB);
690
+ // First orchestrator restores its own state
691
+ const stateA = new MultiAgentState({ nodeIds: ['x'] });
692
+ await invokeOrchestratorHook(orchestratorA, new BeforeMultiAgentInvocationEvent({ orchestrator: orchestratorA, state: stateA }));
693
+ expect(stateA.steps).toBe(3);
694
+ // Second orchestrator also restores — not blocked by the first
695
+ const stateB = new MultiAgentState({ nodeIds: ['x'] });
696
+ await invokeOrchestratorHook(orchestratorB, new BeforeMultiAgentInvocationEvent({ orchestrator: orchestratorB, state: stateB }));
697
+ expect(stateB.steps).toBe(5);
698
+ });
699
+ it('consumes snapshot once — second invocation gets fresh state', async () => {
700
+ const snapshot = createMultiAgentTestSnapshot();
701
+ const state = new MultiAgentState({ nodeIds: ['a'] });
702
+ state.steps = 7;
703
+ const { serializeStateSerializable } = await import('../../types/serializable.js');
704
+ snapshot.data.state = serializeStateSerializable(state);
705
+ await storage.saveSnapshot({
706
+ location: { sessionId: 'test-session', scope: 'multiAgent', scopeId: 'test-graph' },
707
+ snapshotId: 'latest',
708
+ isLatest: true,
709
+ snapshot,
710
+ });
711
+ sessionManager = new SessionManager({ sessionId: 'test-session', storage: { snapshot: storage } });
712
+ sessionManager.initMultiAgent(orchestrator);
713
+ // First invocation — state is restored
714
+ const firstState = new MultiAgentState({ nodeIds: ['a'] });
715
+ await invokeOrchestratorHook(orchestrator, new BeforeMultiAgentInvocationEvent({ orchestrator, state: firstState }));
716
+ expect(firstState.steps).toBe(7);
717
+ // Second invocation — snapshot already consumed
718
+ const secondState = new MultiAgentState({ nodeIds: ['a'] });
719
+ await invokeOrchestratorHook(orchestrator, new BeforeMultiAgentInvocationEvent({ orchestrator, state: secondState }));
720
+ expect(secondState.steps).toBe(0);
721
+ });
722
+ });
723
+ });
481
724
  //# sourceMappingURL=session-manager.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.test.js","sourceRoot":"","sources":["../../../../src/session/__tests__/session-manager.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-manager.test.js","sourceRoot":"","sources":["../../../../src/session/__tests__/session-manager.test.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,9 @@
3
3
  * These are exported from the main `@strands-agents/sdk` entry point.
4
4
  */
5
5
  export { SessionManager } from './session-manager.js';
6
- export type { SessionManagerConfig, SaveLatestStrategy } from './session-manager.js';
6
+ export type { SessionManagerConfig, SaveLatestStrategy, MultiAgentSaveLatestStrategy } from './session-manager.js';
7
7
  export type { SnapshotManifest, SnapshotTriggerCallback, SnapshotTriggerParams } from './types.js';
8
8
  export type { SessionStorage, SnapshotStorage, SnapshotLocation } from './storage.js';
9
9
  export { FileStorage } from './file-storage.js';
10
- export type { Scope, Snapshot } from '../agent/snapshot.js';
10
+ export type { Scope, Snapshot } from '../types/snapshot.js';
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/session/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACpF,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAGlG,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAGrF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/session/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAA;AAClH,YAAY,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAGlG,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAGrF,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE/C,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA"}
@@ -2,6 +2,10 @@ import type { SnapshotStorage } from './storage.js';
2
2
  import type { SnapshotTriggerCallback } from './types.js';
3
3
  import type { Plugin } from '../plugins/plugin.js';
4
4
  import type { LocalAgent } from '../types/agent.js';
5
+ import type { MultiAgentPlugin, MultiAgent } from '../multiagent/index.js';
6
+ import { MultiAgentState } from '../multiagent/state.js';
7
+ import type { Graph } from '../multiagent/graph.js';
8
+ import type { Swarm } from '../multiagent/swarm.js';
5
9
  /**
6
10
  * Controls when `snapshot_latest` is saved automatically.
7
11
  *
@@ -14,11 +18,20 @@ import type { LocalAgent } from '../types/agent.js';
14
18
  * just the latest.
15
19
  *
16
20
  * `SaveLatestStrategy` controls how frequently `snapshot_latest` is updated:
17
- * - `'invocation'`: after every agent invocation completes (default; balances durability and I/O)
18
- * - `'message'`: after every message added and after model calls with guardrail redactions (most durable, highest I/O)
21
+ * - `'invocation'`: after every agent or orchestrator invocation completes (default; balances durability and I/O)
22
+ * - `'message'`: after every message added and after model calls with guardrail redactions (agent only; most durable, highest I/O)
19
23
  * - `'trigger'`: only when a `snapshotTrigger` fires (or manually via `saveSnapshot`)
20
24
  */
21
25
  export type SaveLatestStrategy = 'message' | 'invocation' | 'trigger';
26
+ /**
27
+ * Controls when `snapshot_latest` is saved for multi-agent orchestrators.
28
+ *
29
+ * Currently only `'invocation'` is supported. Additional strategies may be added
30
+ * in future releases as multi-agent persistence patterns evolve.
31
+ *
32
+ * - `'invocation'`: after every orchestrator invocation completes (default)
33
+ */
34
+ export type MultiAgentSaveLatestStrategy = 'invocation';
22
35
  export interface SessionManagerConfig {
23
36
  /** Pluggable storage backends for snapshot persistence. Defaults to FileStorage in Node.js; required in browser environments. */
24
37
  storage: {
@@ -30,11 +43,16 @@ export interface SessionManagerConfig {
30
43
  saveLatestOn?: SaveLatestStrategy;
31
44
  /** Callback invoked after each invocation to decide whether to create an immutable snapshot. */
32
45
  snapshotTrigger?: SnapshotTriggerCallback;
46
+ /** When to save snapshot_latest for multi-agent orchestrators. Default: `'invocation'` (after each orchestrator invocation completes). See {@link MultiAgentSaveLatestStrategy} for details. */
47
+ multiAgentSaveLatestOn?: MultiAgentSaveLatestStrategy;
33
48
  }
34
49
  /**
35
50
  * Manages session persistence for agents, enabling conversation state
36
51
  * to be saved and restored across invocations using pluggable storage backends.
37
52
  *
53
+ * Also supports multi-agent orchestrators (Graph, Swarm) via the MultiAgentPlugin interface.
54
+ * Scope is auto-detected based on whether initAgent or initMultiAgent is called.
55
+ *
38
56
  * @example
39
57
  * ```typescript
40
58
  * import { SessionManager, FileStorage } from '@strands-agents/sdk'
@@ -46,11 +64,13 @@ export interface SessionManagerConfig {
46
64
  * const agent = new Agent({ sessionManager: session })
47
65
  * ```
48
66
  */
49
- export declare class SessionManager implements Plugin {
67
+ export declare class SessionManager implements Plugin, MultiAgentPlugin {
50
68
  private readonly _sessionId;
51
69
  private readonly _storage;
52
70
  private readonly _saveLatestOn;
53
71
  private readonly _snapshotTrigger?;
72
+ private readonly _multiAgentSaveLatestOn;
73
+ private _multiAgentRestoredIds;
54
74
  /**
55
75
  * Unique identifier for this plugin.
56
76
  */
@@ -59,17 +79,28 @@ export declare class SessionManager implements Plugin {
59
79
  /** Initializes the plugin by registering lifecycle hook callbacks. */
60
80
  initAgent(agent: LocalAgent): void;
61
81
  private _location;
82
+ /** Saves a snapshot of the target's current state. */
62
83
  saveSnapshot(params: {
63
84
  target: LocalAgent;
64
85
  isLatest: boolean;
65
86
  }): Promise<void>;
87
+ saveSnapshot(params: {
88
+ target: Graph | Swarm;
89
+ state?: MultiAgentState;
90
+ isLatest: boolean;
91
+ }): Promise<void>;
66
92
  /** Deletes all snapshots and manifests for this session from storage. */
67
93
  deleteSession(): Promise<void>;
68
- /** Loads a snapshot from storage and restores it into the target agent. Returns false if no snapshot exists. */
94
+ /** Loads a snapshot from storage and restores it into the target. Returns false if no snapshot exists. */
69
95
  restoreSnapshot(params: {
70
96
  target: LocalAgent;
71
97
  snapshotId?: string;
72
98
  }): Promise<boolean>;
99
+ restoreSnapshot(params: {
100
+ target: Graph | Swarm;
101
+ state?: MultiAgentState;
102
+ snapshotId?: string;
103
+ }): Promise<boolean>;
73
104
  /** Restores session state on agent initialization. */
74
105
  private _onAgentInitialized;
75
106
  /** Saves latest on invocation and fires the snapshot trigger if configured. */
@@ -82,5 +113,12 @@ export declare class SessionManager implements Plugin {
82
113
  private _onAfterModelCall;
83
114
  /** Captures one snapshot and writes it to both immutable history and snapshot_latest. */
84
115
  private _saveImmutableAndLatest;
116
+ /** Initializes the multi-agent plugin by registering orchestrator lifecycle hooks. */
117
+ initMultiAgent(orchestrator: MultiAgent): void;
118
+ private _multiAgentLocation;
119
+ /** Restores orchestrator state on first invocation (loads snapshot from storage once per orchestrator, then no-ops). */
120
+ private _onBeforeMultiAgentInvocation;
121
+ /** Saves latest orchestrator snapshot after invocation completes. */
122
+ private _onAfterMultiAgentInvocation;
85
123
  }
86
124
  //# sourceMappingURL=session-manager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../../src/session/session-manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,cAAc,CAAA;AAErE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAMnD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,YAAY,GAAG,SAAS,CAAA;AAErE,MAAM,WAAW,oBAAoB;IACnC,iIAAiI;IACjI,OAAO,EAAE;QACP,QAAQ,EAAE,eAAe,CAAA;KAC1B,CAAA;IACD,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,iJAAiJ;IACjJ,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC,gGAAgG;IAChG,eAAe,CAAC,EAAE,uBAAuB,CAAA;CAC1C;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAe,YAAW,MAAM;IAC3C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA+B;IACxD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAqC;IAEvE;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;gBAEW,MAAM,EAAE,oBAAoB;IAOxC,sEAAsE;IAC/D,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAmBzC,OAAO,CAAC,SAAS;IAIX,YAAY,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAWpF,yEAAyE;IACnE,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAIpC,gHAAgH;IAC1G,eAAe,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,UAAU,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC;IAW5F,sDAAsD;YACxC,mBAAmB;IAWjC,+EAA+E;YACjE,uBAAuB;YAUvB,eAAe;IAI7B;;;OAGG;YACW,iBAAiB;IAO/B,yFAAyF;YAC3E,uBAAuB;CAatC"}
1
+ {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../../src/session/session-manager.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,16 @@ import { AfterInvocationEvent, AfterModelCallEvent, InitializedEvent, MessageAdd
3
3
  import { v7 as uuidV7 } from 'uuid';
4
4
  import { takeSnapshot, loadSnapshot } from '../agent/snapshot.js';
5
5
  import { logger } from '../logging/logger.js';
6
+ import { MultiAgentState } from '../multiagent/state.js';
7
+ import { takeSnapshot as takeMultiAgentSnapshot, loadSnapshot as loadMultiAgentSnapshot, } from '../multiagent/snapshot.js';
8
+ import { AfterMultiAgentInvocationEvent, BeforeMultiAgentInvocationEvent } from '../multiagent/events.js';
6
9
  /**
7
10
  * Manages session persistence for agents, enabling conversation state
8
11
  * to be saved and restored across invocations using pluggable storage backends.
9
12
  *
13
+ * Also supports multi-agent orchestrators (Graph, Swarm) via the MultiAgentPlugin interface.
14
+ * Scope is auto-detected based on whether initAgent or initMultiAgent is called.
15
+ *
10
16
  * @example
11
17
  * ```typescript
12
18
  * import { SessionManager, FileStorage } from '@strands-agents/sdk'
@@ -23,6 +29,8 @@ export class SessionManager {
23
29
  _storage;
24
30
  _saveLatestOn;
25
31
  _snapshotTrigger;
32
+ _multiAgentSaveLatestOn;
33
+ _multiAgentRestoredIds = new Set();
26
34
  /**
27
35
  * Unique identifier for this plugin.
28
36
  */
@@ -33,6 +41,7 @@ export class SessionManager {
33
41
  this._sessionId = validateIdentifier(config.sessionId ?? 'default-session');
34
42
  this._storage = { snapshot: config.storage.snapshot };
35
43
  this._saveLatestOn = config.saveLatestOn ?? 'invocation';
44
+ this._multiAgentSaveLatestOn = config.multiAgentSaveLatestOn ?? 'invocation';
36
45
  this._snapshotTrigger = config.snapshotTrigger;
37
46
  }
38
47
  /** Initializes the plugin by registering lifecycle hook callbacks. */
@@ -58,28 +67,37 @@ export class SessionManager {
58
67
  return { sessionId: this._sessionId, scope: 'agent', scopeId: agent.id };
59
68
  }
60
69
  async saveSnapshot(params) {
61
- const snapshot = takeSnapshot(params.target, { preset: 'session' });
70
+ const isAgent = 'messages' in params.target;
71
+ const snapshot = isAgent
72
+ ? takeSnapshot(params.target, { preset: 'session' })
73
+ : takeMultiAgentSnapshot(params.target, params.state);
62
74
  const snapshotId = params.isLatest ? 'latest' : uuidV7();
63
- await this._storage.snapshot.saveSnapshot({
64
- location: this._location(params.target),
65
- snapshotId,
66
- isLatest: params.isLatest,
67
- snapshot,
68
- });
75
+ const location = isAgent
76
+ ? this._location(params.target)
77
+ : this._multiAgentLocation(params.target);
78
+ await this._storage.snapshot.saveSnapshot({ location, snapshotId, isLatest: params.isLatest, snapshot });
69
79
  }
70
80
  /** Deletes all snapshots and manifests for this session from storage. */
71
81
  async deleteSession() {
72
82
  await this._storage.snapshot.deleteSession({ sessionId: this._sessionId });
73
83
  }
74
- /** Loads a snapshot from storage and restores it into the target agent. Returns false if no snapshot exists. */
75
84
  async restoreSnapshot(params) {
85
+ const isAgent = 'messages' in params.target;
86
+ const location = isAgent
87
+ ? this._location(params.target)
88
+ : this._multiAgentLocation(params.target);
76
89
  const snapshot = await this._storage.snapshot.loadSnapshot({
77
- location: this._location(params.target),
90
+ location,
78
91
  ...(params.snapshotId !== undefined && { snapshotId: params.snapshotId }),
79
92
  });
80
93
  if (!snapshot)
81
94
  return false;
82
- loadSnapshot(params.target, snapshot);
95
+ if (isAgent) {
96
+ loadSnapshot(params.target, snapshot);
97
+ }
98
+ else {
99
+ loadMultiAgentSnapshot(params.target, snapshot, params.state);
100
+ }
83
101
  return true;
84
102
  }
85
103
  /** Restores session state on agent initialization. */
@@ -126,5 +144,41 @@ export class SessionManager {
126
144
  }),
127
145
  ]);
128
146
  }
147
+ // ---------------------------------------------------------------------------
148
+ // Multi-agent
149
+ // ---------------------------------------------------------------------------
150
+ /** Initializes the multi-agent plugin by registering orchestrator lifecycle hooks. */
151
+ initMultiAgent(orchestrator) {
152
+ orchestrator.addHook(BeforeMultiAgentInvocationEvent, async (event) => {
153
+ await this._onBeforeMultiAgentInvocation(event);
154
+ });
155
+ orchestrator.addHook(AfterMultiAgentInvocationEvent, async (event) => {
156
+ await this._onAfterMultiAgentInvocation(event);
157
+ });
158
+ }
159
+ _multiAgentLocation(orchestrator) {
160
+ return { sessionId: this._sessionId, scope: 'multiAgent', scopeId: orchestrator.id };
161
+ }
162
+ /** Restores orchestrator state on first invocation (loads snapshot from storage once per orchestrator, then no-ops). */
163
+ async _onBeforeMultiAgentInvocation(event) {
164
+ if (this._multiAgentRestoredIds.has(event.orchestrator.id))
165
+ return;
166
+ this._multiAgentRestoredIds.add(event.orchestrator.id);
167
+ const location = this._multiAgentLocation(event.orchestrator);
168
+ const snapshot = await this._storage.snapshot.loadSnapshot({ location });
169
+ if (!snapshot)
170
+ return;
171
+ loadMultiAgentSnapshot(event.orchestrator, snapshot, event.state);
172
+ }
173
+ /** Saves latest orchestrator snapshot after invocation completes. */
174
+ async _onAfterMultiAgentInvocation(event) {
175
+ if (this._multiAgentSaveLatestOn === 'invocation') {
176
+ await this.saveSnapshot({
177
+ target: event.orchestrator,
178
+ state: event.state,
179
+ isLatest: true,
180
+ });
181
+ }
182
+ }
129
183
  }
130
184
  //# sourceMappingURL=session-manager.js.map