@datalayer/agent-runtimes 1.5.2 → 1.5.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.
@@ -3,6 +3,7 @@
3
3
  "title": "A user with a company",
4
4
  "description": "Ada asks her personal agent, Atlas, to exchange a jacket at Manzanita Outfitters. Both sides are the PAP Python SDK's demo world: real keys and proofs over in-process HTTP, recorded and redacted.",
5
5
  "generator": "examples/personal-agent-protocol/traces/generate.py",
6
+ "sdk": "personal-agent-protocol 0.16.0",
6
7
  "parties": [
7
8
  {
8
9
  "id": "user",
@@ -101,6 +102,9 @@
101
102
  },
102
103
  "auth": {
103
104
  "issuer": "https://manzanita.example",
105
+ "direct": {
106
+ "scopes": ["orders:read", "orders:write"]
107
+ },
104
108
  "device": {
105
109
  "scopes": ["orders:read", "orders:write"]
106
110
  },
@@ -133,6 +137,21 @@
133
137
  }
134
138
  ]
135
139
  },
140
+ "apis": [
141
+ {
142
+ "type": "openapi",
143
+ "url": "https://manzanita.example/api/openapi.json",
144
+ "description": "Orders and exchanges"
145
+ },
146
+ {
147
+ "type": "mcp",
148
+ "url": "https://manzanita.example/mcp",
149
+ "description": "Orders and exchanges, as MCP tools"
150
+ }
151
+ ],
152
+ "web": {
153
+ "browser_session_endpoint": "https://manzanita.example/poppy/browser-session"
154
+ },
136
155
  "extensions": {
137
156
  "operations": {
138
157
  "version": "1",
@@ -164,7 +183,9 @@
164
183
  "revocation_endpoint": "https://manzanita.example/oauth/revoke",
165
184
  "poppy_domains": ["manzanita.example"],
166
185
  "dpop_signing_alg_values_supported": ["ES256", "RS256"],
167
- "device_1": "https://manzanita.example/oauth/device"
186
+ "device_1": "https://manzanita.example/oauth/device",
187
+ "authorization_endpoint": "https://manzanita.example/oauth/authorize",
188
+ "code_challenge_methods_supported": ["S256"]
168
189
  }
169
190
  }
170
191
  },
@@ -235,127 +256,6 @@
235
256
  }
236
257
  }
237
258
  },
238
- {
239
- "kind": "http",
240
- "from": "manzanita",
241
- "to": "atlas",
242
- "method": "GET",
243
- "url": "https://atlas.example/agent.json",
244
- "status": 200,
245
- "request": {
246
- "headers": {
247
- "accept": "application/json"
248
- }
249
- },
250
- "response": {
251
- "headers": {
252
- "content-type": "application/json"
253
- },
254
- "body": {
255
- "client_id": "https://atlas.example/agent.json",
256
- "client_name": "Atlas",
257
- "jwks_uri": "https://atlas.example/jwks.json",
258
- "redirect_uris": ["https://atlas.example/oauth/callback"],
259
- "token_endpoint_auth_method": "private_key_jwt",
260
- "extensions": {
261
- "operations": {
262
- "version": "1"
263
- }
264
- }
265
- }
266
- }
267
- },
268
- {
269
- "kind": "http",
270
- "from": "manzanita",
271
- "to": "atlas",
272
- "method": "GET",
273
- "url": "https://atlas.example/jwks.json",
274
- "status": 200,
275
- "request": {
276
- "headers": {
277
- "accept": "application/json"
278
- }
279
- },
280
- "response": {
281
- "headers": {
282
- "content-type": "application/json"
283
- },
284
- "body": {
285
- "keys": [
286
- {
287
- "kty": "EC",
288
- "crv": "P-256",
289
- "x": "‹public key›",
290
- "y": "‹public key›",
291
- "kid": "key-1",
292
- "use": "sig",
293
- "alg": "ES256"
294
- }
295
- ]
296
- }
297
- }
298
- },
299
- {
300
- "kind": "http",
301
- "from": "manzanita",
302
- "to": "atlas",
303
- "method": "GET",
304
- "url": "https://atlas.example/agent.json",
305
- "status": 200,
306
- "request": {
307
- "headers": {
308
- "accept": "application/json"
309
- }
310
- },
311
- "response": {
312
- "headers": {
313
- "content-type": "application/json"
314
- },
315
- "body": {
316
- "client_id": "https://atlas.example/agent.json",
317
- "client_name": "Atlas",
318
- "jwks_uri": "https://atlas.example/jwks.json",
319
- "redirect_uris": ["https://atlas.example/oauth/callback"],
320
- "token_endpoint_auth_method": "private_key_jwt",
321
- "extensions": {
322
- "operations": {
323
- "version": "1"
324
- }
325
- }
326
- }
327
- }
328
- },
329
- {
330
- "kind": "http",
331
- "from": "manzanita",
332
- "to": "atlas",
333
- "method": "GET",
334
- "url": "https://atlas.example/agent.json",
335
- "status": 200,
336
- "request": {
337
- "headers": {
338
- "accept": "application/json"
339
- }
340
- },
341
- "response": {
342
- "headers": {
343
- "content-type": "application/json"
344
- },
345
- "body": {
346
- "client_id": "https://atlas.example/agent.json",
347
- "client_name": "Atlas",
348
- "jwks_uri": "https://atlas.example/jwks.json",
349
- "redirect_uris": ["https://atlas.example/oauth/callback"],
350
- "token_endpoint_auth_method": "private_key_jwt",
351
- "extensions": {
352
- "operations": {
353
- "version": "1"
354
- }
355
- }
356
- }
357
- }
358
- },
359
259
  {
360
260
  "kind": "http",
361
261
  "from": "manzanita",
@@ -439,7 +339,7 @@
439
339
  },
440
340
  {
441
341
  "label": "Conversation",
442
- "value": "idle · agent · 3 events"
342
+ "value": "idle · agent · 5 events"
443
343
  }
444
344
  ]
445
345
  },
@@ -487,6 +387,13 @@
487
387
  {
488
388
  "id": "evt_2",
489
389
  "created_at": "2026-10-11T09:00:00Z",
390
+ "type": "state",
391
+ "status": "working",
392
+ "responder": "agent"
393
+ },
394
+ {
395
+ "id": "evt_3",
396
+ "created_at": "2026-10-11T09:00:00Z",
490
397
  "type": "message",
491
398
  "message": {
492
399
  "id": "msg_2",
@@ -496,14 +403,21 @@
496
403
  }
497
404
  },
498
405
  {
499
- "id": "evt_3",
406
+ "id": "evt_4",
500
407
  "created_at": "2026-10-11T09:00:00Z",
501
408
  "type": "authorization",
502
409
  "error": "sign_in_required",
503
410
  "scope": "orders:read orders:write"
411
+ },
412
+ {
413
+ "id": "evt_5",
414
+ "created_at": "2026-10-11T09:00:00Z",
415
+ "type": "state",
416
+ "status": "idle",
417
+ "responder": "agent"
504
418
  }
505
419
  ],
506
- "cursor": "evt_3",
420
+ "cursor": "evt_5",
507
421
  "has_more": false,
508
422
  "status": "idle",
509
423
  "responder": "agent"
@@ -580,7 +494,7 @@
580
494
  },
581
495
  {
582
496
  "label": "Conversation",
583
- "value": "idle · agent · 3 events"
497
+ "value": "idle · agent · 5 events"
584
498
  }
585
499
  ]
586
500
  },
@@ -601,237 +515,55 @@
601
515
  "scope": "orders:read orders:write",
602
516
  "client_id": "https://atlas.example/agent.json",
603
517
  "client_assertion_type": "urn:ietf:params:oauth:client-assertion-type:jwt-bearer",
604
- "client_assertion": "‹client assertion›"
605
- },
606
- "encoding": "form"
607
- },
608
- "response": {
609
- "headers": {
610
- "content-type": "application/json",
611
- "cache-control": "no-store"
612
- },
613
- "body": {
614
- "device_code": "‹device code›",
615
- "user_code": "‹user code›",
616
- "verification_uri": "https://manzanita.example/device",
617
- "verification_uri_complete": "https://manzanita.example/device?user_code=‹user code›",
618
- "expires_in": 600,
619
- "interval": 5
620
- }
621
- }
622
- },
623
- {
624
- "kind": "http",
625
- "from": "manzanita",
626
- "to": "atlas",
627
- "method": "GET",
628
- "url": "https://atlas.example/agent.json",
629
- "status": 200,
630
- "request": {
631
- "headers": {
632
- "accept": "application/json"
633
- }
634
- },
635
- "response": {
636
- "headers": {
637
- "content-type": "application/json"
638
- },
639
- "body": {
640
- "client_id": "https://atlas.example/agent.json",
641
- "client_name": "Atlas",
642
- "jwks_uri": "https://atlas.example/jwks.json",
643
- "redirect_uris": ["https://atlas.example/oauth/callback"],
644
- "token_endpoint_auth_method": "private_key_jwt",
645
- "extensions": {
646
- "operations": {
647
- "version": "1"
648
- }
649
- }
650
- }
651
- }
652
- },
653
- {
654
- "kind": "http",
655
- "from": "manzanita",
656
- "to": "atlas",
657
- "method": "GET",
658
- "url": "https://atlas.example/agent.json",
659
- "status": 200,
660
- "request": {
661
- "headers": {
662
- "accept": "application/json"
663
- }
664
- },
665
- "response": {
666
- "headers": {
667
- "content-type": "application/json"
668
- },
669
- "body": {
670
- "client_id": "https://atlas.example/agent.json",
671
- "client_name": "Atlas",
672
- "jwks_uri": "https://atlas.example/jwks.json",
673
- "redirect_uris": ["https://atlas.example/oauth/callback"],
674
- "token_endpoint_auth_method": "private_key_jwt",
675
- "extensions": {
676
- "operations": {
677
- "version": "1"
678
- }
679
- }
680
- }
681
- }
682
- },
683
- {
684
- "kind": "http",
685
- "from": "manzanita",
686
- "to": "atlas",
687
- "method": "GET",
688
- "url": "https://atlas.example/jwks.json",
689
- "status": 200,
690
- "request": {
691
- "headers": {
692
- "accept": "application/json"
693
- }
694
- },
695
- "response": {
696
- "headers": {
697
- "content-type": "application/json"
698
- },
699
- "body": {
700
- "keys": [
701
- {
702
- "kty": "EC",
703
- "crv": "P-256",
704
- "x": "‹public key›",
705
- "y": "‹public key›",
706
- "kid": "key-1",
707
- "use": "sig",
708
- "alg": "ES256"
709
- }
710
- ]
711
- }
712
- }
713
- },
714
- {
715
- "kind": "http",
716
- "from": "atlas",
717
- "to": "manzanita",
718
- "method": "POST",
719
- "url": "https://manzanita.example/oauth/token",
720
- "status": 400,
721
- "request": {
722
- "headers": {
723
- "content-type": "application/x-www-form-urlencoded",
724
- "accept": "application/json",
725
- "dpop": "‹DPoP proof›"
726
- },
727
- "body": {
728
- "grant_type": "urn:ietf:params:oauth:grant-type:device_code",
729
- "device_code": "‹device code›",
730
- "session_id": "ses_1",
731
- "client_id": "https://atlas.example/agent.json",
732
- "client_assertion_type": "urn:ietf:params:oauth:client-assertion-type:jwt-bearer",
733
- "client_assertion": "‹client assertion›"
734
- },
735
- "encoding": "form"
736
- },
737
- "response": {
738
- "headers": {
739
- "content-type": "application/json",
740
- "cache-control": "no-store"
741
- },
742
- "body": {
743
- "error": "authorization_pending"
744
- }
745
- }
746
- },
747
- {
748
- "kind": "http",
749
- "from": "manzanita",
750
- "to": "atlas",
751
- "method": "GET",
752
- "url": "https://atlas.example/agent.json",
753
- "status": 200,
754
- "request": {
755
- "headers": {
756
- "accept": "application/json"
757
- }
758
- },
759
- "response": {
760
- "headers": {
761
- "content-type": "application/json"
762
- },
763
- "body": {
764
- "client_id": "https://atlas.example/agent.json",
765
- "client_name": "Atlas",
766
- "jwks_uri": "https://atlas.example/jwks.json",
767
- "redirect_uris": ["https://atlas.example/oauth/callback"],
768
- "token_endpoint_auth_method": "private_key_jwt",
769
- "extensions": {
770
- "operations": {
771
- "version": "1"
772
- }
773
- }
774
- }
775
- }
776
- },
777
- {
778
- "kind": "http",
779
- "from": "manzanita",
780
- "to": "atlas",
781
- "method": "GET",
782
- "url": "https://atlas.example/agent.json",
783
- "status": 200,
784
- "request": {
785
- "headers": {
786
- "accept": "application/json"
787
- }
518
+ "client_assertion": "‹client assertion›"
519
+ },
520
+ "encoding": "form"
788
521
  },
789
522
  "response": {
790
523
  "headers": {
791
- "content-type": "application/json"
524
+ "content-type": "application/json",
525
+ "cache-control": "no-store"
792
526
  },
793
527
  "body": {
794
- "client_id": "https://atlas.example/agent.json",
795
- "client_name": "Atlas",
796
- "jwks_uri": "https://atlas.example/jwks.json",
797
- "redirect_uris": ["https://atlas.example/oauth/callback"],
798
- "token_endpoint_auth_method": "private_key_jwt",
799
- "extensions": {
800
- "operations": {
801
- "version": "1"
802
- }
803
- }
528
+ "device_code": "‹device code›",
529
+ "user_code": "‹user code›",
530
+ "verification_uri": "https://manzanita.example/device",
531
+ "verification_uri_complete": "https://manzanita.example/device?user_code=‹user code›",
532
+ "expires_in": 600,
533
+ "interval": 5
804
534
  }
805
535
  }
806
536
  },
807
537
  {
808
538
  "kind": "http",
809
- "from": "manzanita",
810
- "to": "atlas",
811
- "method": "GET",
812
- "url": "https://atlas.example/jwks.json",
813
- "status": 200,
539
+ "from": "atlas",
540
+ "to": "manzanita",
541
+ "method": "POST",
542
+ "url": "https://manzanita.example/oauth/token",
543
+ "status": 400,
814
544
  "request": {
815
545
  "headers": {
816
- "accept": "application/json"
817
- }
546
+ "content-type": "application/x-www-form-urlencoded",
547
+ "accept": "application/json",
548
+ "dpop": "‹DPoP proof›"
549
+ },
550
+ "body": {
551
+ "grant_type": "urn:ietf:params:oauth:grant-type:device_code",
552
+ "device_code": "‹device code›",
553
+ "session_id": "ses_1",
554
+ "client_id": "https://atlas.example/agent.json",
555
+ "client_assertion_type": "urn:ietf:params:oauth:client-assertion-type:jwt-bearer",
556
+ "client_assertion": "‹client assertion›"
557
+ },
558
+ "encoding": "form"
818
559
  },
819
560
  "response": {
820
561
  "headers": {
821
- "content-type": "application/json"
562
+ "content-type": "application/json",
563
+ "cache-control": "no-store"
822
564
  },
823
565
  "body": {
824
- "keys": [
825
- {
826
- "kty": "EC",
827
- "crv": "P-256",
828
- "x": "‹public key›",
829
- "y": "‹public key›",
830
- "kid": "key-1",
831
- "use": "sig",
832
- "alg": "ES256"
833
- }
834
- ]
566
+ "error": "authorization_pending"
835
567
  }
836
568
  }
837
569
  },
@@ -879,97 +611,6 @@
879
611
  "refresh_token": "‹account token›"
880
612
  }
881
613
  }
882
- },
883
- {
884
- "kind": "http",
885
- "from": "manzanita",
886
- "to": "atlas",
887
- "method": "GET",
888
- "url": "https://atlas.example/agent.json",
889
- "status": 200,
890
- "request": {
891
- "headers": {
892
- "accept": "application/json"
893
- }
894
- },
895
- "response": {
896
- "headers": {
897
- "content-type": "application/json"
898
- },
899
- "body": {
900
- "client_id": "https://atlas.example/agent.json",
901
- "client_name": "Atlas",
902
- "jwks_uri": "https://atlas.example/jwks.json",
903
- "redirect_uris": ["https://atlas.example/oauth/callback"],
904
- "token_endpoint_auth_method": "private_key_jwt",
905
- "extensions": {
906
- "operations": {
907
- "version": "1"
908
- }
909
- }
910
- }
911
- }
912
- },
913
- {
914
- "kind": "http",
915
- "from": "manzanita",
916
- "to": "atlas",
917
- "method": "GET",
918
- "url": "https://atlas.example/agent.json",
919
- "status": 200,
920
- "request": {
921
- "headers": {
922
- "accept": "application/json"
923
- }
924
- },
925
- "response": {
926
- "headers": {
927
- "content-type": "application/json"
928
- },
929
- "body": {
930
- "client_id": "https://atlas.example/agent.json",
931
- "client_name": "Atlas",
932
- "jwks_uri": "https://atlas.example/jwks.json",
933
- "redirect_uris": ["https://atlas.example/oauth/callback"],
934
- "token_endpoint_auth_method": "private_key_jwt",
935
- "extensions": {
936
- "operations": {
937
- "version": "1"
938
- }
939
- }
940
- }
941
- }
942
- },
943
- {
944
- "kind": "http",
945
- "from": "manzanita",
946
- "to": "atlas",
947
- "method": "GET",
948
- "url": "https://atlas.example/jwks.json",
949
- "status": 200,
950
- "request": {
951
- "headers": {
952
- "accept": "application/json"
953
- }
954
- },
955
- "response": {
956
- "headers": {
957
- "content-type": "application/json"
958
- },
959
- "body": {
960
- "keys": [
961
- {
962
- "kty": "EC",
963
- "crv": "P-256",
964
- "x": "‹public key›",
965
- "y": "‹public key›",
966
- "kid": "key-1",
967
- "use": "sig",
968
- "alg": "ES256"
969
- }
970
- ]
971
- }
972
- }
973
614
  }
974
615
  ]
975
616
  },
@@ -1041,7 +682,7 @@
1041
682
  },
1042
683
  {
1043
684
  "label": "Conversation",
1044
- "value": "idle · agent · 5 events"
685
+ "value": "idle · agent · 9 events"
1045
686
  },
1046
687
  {
1047
688
  "label": "Operation orders.exchange",
@@ -1055,7 +696,7 @@
1055
696
  "from": "atlas",
1056
697
  "to": "manzanita",
1057
698
  "method": "POST",
1058
- "url": "https://manzanita.example/poppy/conversations/cnv_1/messages?cursor=evt_3&wait=0",
699
+ "url": "https://manzanita.example/poppy/conversations/cnv_1/messages?cursor=evt_5&wait=0",
1059
700
  "status": 202,
1060
701
  "request": {
1061
702
  "headers": {
@@ -1080,7 +721,7 @@
1080
721
  "conversation_id": "cnv_1",
1081
722
  "events": [
1082
723
  {
1083
- "id": "evt_4",
724
+ "id": "evt_6",
1084
725
  "created_at": "2026-10-11T09:00:10Z",
1085
726
  "type": "message",
1086
727
  "message": {
@@ -1091,7 +732,14 @@
1091
732
  }
1092
733
  },
1093
734
  {
1094
- "id": "evt_5",
735
+ "id": "evt_7",
736
+ "created_at": "2026-10-11T09:00:10Z",
737
+ "type": "state",
738
+ "status": "working",
739
+ "responder": "agent"
740
+ },
741
+ {
742
+ "id": "evt_8",
1095
743
  "created_at": "2026-10-11T09:00:10Z",
1096
744
  "type": "message",
1097
745
  "message": {
@@ -1113,14 +761,21 @@
1113
761
  },
1114
762
  "expires_at": "2026-10-11T09:15:10Z",
1115
763
  "user_approval_required": true,
1116
- "url": null,
764
+ "url": "https://manzanita.example/operations/op_1",
1117
765
  "confirmation": null,
1118
766
  "result": null
1119
767
  }
1120
768
  }
769
+ },
770
+ {
771
+ "id": "evt_9",
772
+ "created_at": "2026-10-11T09:00:10Z",
773
+ "type": "state",
774
+ "status": "idle",
775
+ "responder": "agent"
1121
776
  }
1122
777
  ],
1123
- "cursor": "evt_5",
778
+ "cursor": "evt_9",
1124
779
  "has_more": false,
1125
780
  "status": "idle",
1126
781
  "responder": "agent"
@@ -1193,7 +848,7 @@
1193
848
  },
1194
849
  {
1195
850
  "label": "Conversation",
1196
- "value": "idle · agent · 5 events"
851
+ "value": "idle · agent · 9 events"
1197
852
  },
1198
853
  {
1199
854
  "label": "Operation orders.exchange",
@@ -1243,9 +898,8 @@
1243
898
  "currency": "USD"
1244
899
  }
1245
900
  },
1246
- "expires_at": null,
1247
901
  "user_approval_required": true,
1248
- "url": null,
902
+ "url": "https://manzanita.example/operations/op_1",
1249
903
  "confirmation": {
1250
904
  "revision": 1,
1251
905
  "approved_by": "user",
@@ -1316,7 +970,7 @@
1316
970
  },
1317
971
  {
1318
972
  "label": "Conversation",
1319
- "value": "idle · agent · 5 events"
973
+ "value": "idle · agent · 9 events"
1320
974
  },
1321
975
  {
1322
976
  "label": "Operation orders.exchange",
@@ -1359,97 +1013,6 @@
1359
1013
  },
1360
1014
  "body": {}
1361
1015
  }
1362
- },
1363
- {
1364
- "kind": "http",
1365
- "from": "manzanita",
1366
- "to": "atlas",
1367
- "method": "GET",
1368
- "url": "https://atlas.example/agent.json",
1369
- "status": 200,
1370
- "request": {
1371
- "headers": {
1372
- "accept": "application/json"
1373
- }
1374
- },
1375
- "response": {
1376
- "headers": {
1377
- "content-type": "application/json"
1378
- },
1379
- "body": {
1380
- "client_id": "https://atlas.example/agent.json",
1381
- "client_name": "Atlas",
1382
- "jwks_uri": "https://atlas.example/jwks.json",
1383
- "redirect_uris": ["https://atlas.example/oauth/callback"],
1384
- "token_endpoint_auth_method": "private_key_jwt",
1385
- "extensions": {
1386
- "operations": {
1387
- "version": "1"
1388
- }
1389
- }
1390
- }
1391
- }
1392
- },
1393
- {
1394
- "kind": "http",
1395
- "from": "manzanita",
1396
- "to": "atlas",
1397
- "method": "GET",
1398
- "url": "https://atlas.example/agent.json",
1399
- "status": 200,
1400
- "request": {
1401
- "headers": {
1402
- "accept": "application/json"
1403
- }
1404
- },
1405
- "response": {
1406
- "headers": {
1407
- "content-type": "application/json"
1408
- },
1409
- "body": {
1410
- "client_id": "https://atlas.example/agent.json",
1411
- "client_name": "Atlas",
1412
- "jwks_uri": "https://atlas.example/jwks.json",
1413
- "redirect_uris": ["https://atlas.example/oauth/callback"],
1414
- "token_endpoint_auth_method": "private_key_jwt",
1415
- "extensions": {
1416
- "operations": {
1417
- "version": "1"
1418
- }
1419
- }
1420
- }
1421
- }
1422
- },
1423
- {
1424
- "kind": "http",
1425
- "from": "manzanita",
1426
- "to": "atlas",
1427
- "method": "GET",
1428
- "url": "https://atlas.example/jwks.json",
1429
- "status": 200,
1430
- "request": {
1431
- "headers": {
1432
- "accept": "application/json"
1433
- }
1434
- },
1435
- "response": {
1436
- "headers": {
1437
- "content-type": "application/json"
1438
- },
1439
- "body": {
1440
- "keys": [
1441
- {
1442
- "kty": "EC",
1443
- "crv": "P-256",
1444
- "x": "‹public key›",
1445
- "y": "‹public key›",
1446
- "kid": "key-1",
1447
- "use": "sig",
1448
- "alg": "ES256"
1449
- }
1450
- ]
1451
- }
1452
- }
1453
1016
  }
1454
1017
  ]
1455
1018
  }