@sema-agent/core 7.17.4 → 7.17.6

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 (40) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/dist/core/memory-engine/delegation-settlement.d.ts +27 -9
  3. package/dist/core/memory-engine/delegation-settlement.js +155 -46
  4. package/dist/core/memory-engine/engine.js +12 -6
  5. package/dist/core/remote-env.d.ts +23 -1
  6. package/dist/core/remote-env.js +4 -1
  7. package/dist/core/runner/prepare-hands-readface.js +10 -8
  8. package/dist/core/tool-catalog-entries.js +1 -1
  9. package/dist/tools/fs/bash-readonly-classifier.d.ts +46 -5
  10. package/dist/tools/fs/bash-readonly-classifier.js +572 -80
  11. package/dist/tools/fs/fs-bash.d.ts +28 -0
  12. package/dist/tools/fs/fs-bash.js +135 -27
  13. package/dist/tools/fs/index.d.ts +13 -0
  14. package/dist/tools/fs/index.js +1 -0
  15. package/package.json +3 -2
  16. package/wire-changes/core@7.10.0.json +739 -0
  17. package/wire-changes/core@7.11.0.json +685 -0
  18. package/wire-changes/core@7.11.1.json +112 -0
  19. package/wire-changes/core@7.11.2.json +73 -0
  20. package/wire-changes/core@7.12.0.json +356 -0
  21. package/wire-changes/core@7.13.0.json +199 -0
  22. package/wire-changes/core@7.14.0.json +578 -0
  23. package/wire-changes/core@7.15.0.json +174 -0
  24. package/wire-changes/core@7.16.0.json +132 -0
  25. package/wire-changes/core@7.17.0.json +1621 -0
  26. package/wire-changes/core@7.17.1.json +139 -0
  27. package/wire-changes/core@7.17.2.json +65 -0
  28. package/wire-changes/core@7.17.3.json +44 -0
  29. package/wire-changes/core@7.17.4.json +52 -0
  30. package/wire-changes/core@7.17.5.json +67 -0
  31. package/wire-changes/core@7.5.0.json +1063 -0
  32. package/wire-changes/core@7.5.1.json +252 -0
  33. package/wire-changes/core@7.5.2.json +418 -0
  34. package/wire-changes/core@7.6.0.json +1243 -0
  35. package/wire-changes/core@7.6.1.json +1130 -0
  36. package/wire-changes/core@7.7.0.json +509 -0
  37. package/wire-changes/core@7.8.0.json +1293 -0
  38. package/wire-changes/core@7.9.0.json +691 -0
  39. package/wire-changes/core@7.9.1.json +518 -0
  40. package/wire-changes/core@7.9.2.json +46 -0
@@ -0,0 +1,739 @@
1
+ {
2
+ "repo": "core",
3
+ "version": "7.10.0",
4
+ "from": "a115ba39a3387fad7a6f193f4ae82d5a3aa46deb",
5
+ "to": "v7.10.0",
6
+ "added": [
7
+ {
8
+ "name": "AUTO_MODE_BREAKER_CAUSES",
9
+ "kind": "variable",
10
+ "tier": "advanced",
11
+ "at": [
12
+ "src/core/auto-mode.ts:58",
13
+ "src/index.ts:1287"
14
+ ],
15
+ "criteriaCovered": false,
16
+ "breaking": false
17
+ },
18
+ {
19
+ "name": "AUTO_MODE_UNAVAILABLE_CAUSES",
20
+ "kind": "variable",
21
+ "tier": "advanced",
22
+ "at": [
23
+ "src/core/auto-mode.ts:34",
24
+ "src/index.ts:1285"
25
+ ],
26
+ "criteriaCovered": false,
27
+ "breaking": false
28
+ },
29
+ {
30
+ "name": "AskUnresolvableFacts",
31
+ "kind": "interface",
32
+ "tier": "advanced",
33
+ "at": [
34
+ "src/core/ask-unresolvable-notice.ts:28",
35
+ "src/index.ts:292"
36
+ ],
37
+ "criteriaCovered": false,
38
+ "breaking": false
39
+ },
40
+ {
41
+ "name": "AutoModeBreakerCause",
42
+ "kind": "type",
43
+ "tier": "advanced",
44
+ "at": [
45
+ "src/core/auto-mode.ts:59",
46
+ "src/index.ts:1291"
47
+ ],
48
+ "criteriaCovered": false,
49
+ "breaking": false
50
+ },
51
+ {
52
+ "name": "AutoModeBreakerLedger",
53
+ "kind": "class",
54
+ "tier": "advanced",
55
+ "at": [
56
+ "src/core/auto-mode.ts:321",
57
+ "src/index.ts:1289"
58
+ ],
59
+ "criteriaCovered": false,
60
+ "breaking": false
61
+ },
62
+ {
63
+ "name": "AutoModeBreakerTrip",
64
+ "kind": "interface",
65
+ "tier": "advanced",
66
+ "at": [
67
+ "src/core/auto-mode.ts:301",
68
+ "src/index.ts:1292"
69
+ ],
70
+ "criteriaCovered": false,
71
+ "breaking": false
72
+ },
73
+ {
74
+ "name": "AutoModeUnavailableCause",
75
+ "kind": "type",
76
+ "tier": "advanced",
77
+ "at": [
78
+ "src/core/auto-mode.ts:35",
79
+ "src/index.ts:1290"
80
+ ],
81
+ "criteriaCovered": false,
82
+ "breaking": false
83
+ },
84
+ {
85
+ "name": "PATH_RULE_BASES",
86
+ "kind": "variable",
87
+ "tier": "advanced",
88
+ "at": [
89
+ "src/core/permission-rule-model.ts:1211",
90
+ "src/index.ts:1423"
91
+ ],
92
+ "criteriaCovered": false,
93
+ "breaking": false
94
+ },
95
+ {
96
+ "name": "PATH_RULE_BASE_LABEL",
97
+ "kind": "variable",
98
+ "tier": "advanced",
99
+ "at": [
100
+ "src/core/permission-rule-model.ts:1217",
101
+ "src/index.ts:1424"
102
+ ],
103
+ "criteriaCovered": false,
104
+ "breaking": false
105
+ },
106
+ {
107
+ "name": "PathRuleBase",
108
+ "kind": "type",
109
+ "tier": "advanced",
110
+ "at": [
111
+ "src/core/permission-rule-model.ts:1212",
112
+ "src/index.ts:1428"
113
+ ],
114
+ "criteriaCovered": false,
115
+ "breaking": false
116
+ },
117
+ {
118
+ "name": "SWAPPABLE_DEP_SEATS",
119
+ "kind": "variable",
120
+ "tier": "advanced",
121
+ "at": [
122
+ "src/core/swappable-deps.ts:49",
123
+ "src/index.ts:1275"
124
+ ],
125
+ "criteriaCovered": false,
126
+ "breaking": false
127
+ },
128
+ {
129
+ "name": "SWAP_SEAT_NOTICE",
130
+ "kind": "variable",
131
+ "tier": "advanced",
132
+ "at": [
133
+ "src/core/swappable-deps.ts:65",
134
+ "src/index.ts:1275"
135
+ ],
136
+ "criteriaCovered": false,
137
+ "breaking": false
138
+ },
139
+ {
140
+ "name": "SwappableDepSeat",
141
+ "kind": "type",
142
+ "tier": "advanced",
143
+ "at": [
144
+ "src/core/swappable-deps.ts:50",
145
+ "src/index.ts:1275"
146
+ ],
147
+ "criteriaCovered": false,
148
+ "breaking": false
149
+ },
150
+ {
151
+ "name": "SwappableDeps",
152
+ "kind": "type",
153
+ "tier": "advanced",
154
+ "at": [
155
+ "src/core/swappable-deps.ts:52",
156
+ "src/index.ts:1275"
157
+ ],
158
+ "criteriaCovered": true,
159
+ "breaking": false
160
+ },
161
+ {
162
+ "name": "WORKFLOW_AGENT_PARKED_ERROR_CODE",
163
+ "kind": "variable",
164
+ "tier": "advanced",
165
+ "at": [
166
+ "src/index.ts:2414",
167
+ "src/orchestration/workflow-types.ts:503"
168
+ ],
169
+ "criteriaCovered": false,
170
+ "breaking": false
171
+ },
172
+ {
173
+ "name": "WorkflowAgentParkedError",
174
+ "kind": "class",
175
+ "tier": "advanced",
176
+ "at": [
177
+ "src/index.ts:2413",
178
+ "src/orchestration/workflow-types.ts:518"
179
+ ],
180
+ "criteriaCovered": false,
181
+ "breaking": false
182
+ },
183
+ {
184
+ "name": "WorkflowParkedResume",
185
+ "kind": "interface",
186
+ "tier": "advanced",
187
+ "at": [
188
+ "src/index.ts:2415",
189
+ "src/orchestration/workflow.ts:743"
190
+ ],
191
+ "criteriaCovered": false,
192
+ "breaking": false
193
+ },
194
+ {
195
+ "name": "askUnresolvableNotice",
196
+ "kind": "function",
197
+ "tier": "advanced",
198
+ "at": [
199
+ "src/core/ask-unresolvable-notice.ts:54",
200
+ "src/index.ts:292"
201
+ ],
202
+ "criteriaCovered": false,
203
+ "breaking": false
204
+ },
205
+ {
206
+ "name": "isAutoModeBreakerCause",
207
+ "kind": "function",
208
+ "tier": "advanced",
209
+ "at": [
210
+ "src/core/auto-mode.ts:62",
211
+ "src/index.ts:1288"
212
+ ],
213
+ "criteriaCovered": false,
214
+ "breaking": false
215
+ },
216
+ {
217
+ "name": "isAutoModeUnavailableCause",
218
+ "kind": "function",
219
+ "tier": "advanced",
220
+ "at": [
221
+ "src/core/auto-mode.ts:38",
222
+ "src/index.ts:1286"
223
+ ],
224
+ "criteriaCovered": false,
225
+ "breaking": false
226
+ },
227
+ {
228
+ "name": "isSwappableDepSeat",
229
+ "kind": "function",
230
+ "tier": "advanced",
231
+ "at": [
232
+ "src/core/swappable-deps.ts:56",
233
+ "src/index.ts:1275"
234
+ ],
235
+ "criteriaCovered": false,
236
+ "breaking": false
237
+ },
238
+ {
239
+ "name": "pathRuleReachOf",
240
+ "kind": "function",
241
+ "tier": "advanced",
242
+ "at": [
243
+ "src/core/permission-rule-model.ts:1335",
244
+ "src/index.ts:1421"
245
+ ],
246
+ "criteriaCovered": false,
247
+ "breaking": false
248
+ },
249
+ {
250
+ "name": "ruleBasesNeeded",
251
+ "kind": "function",
252
+ "tier": "advanced",
253
+ "at": [
254
+ "src/core/permission-rule-model.ts:1232",
255
+ "src/index.ts:1422"
256
+ ],
257
+ "criteriaCovered": false,
258
+ "breaking": false
259
+ },
260
+ {
261
+ "name": "screenSwappableDeps",
262
+ "kind": "function",
263
+ "tier": "advanced",
264
+ "at": [
265
+ "src/core/swappable-deps.ts:100",
266
+ "src/index.ts:1275"
267
+ ],
268
+ "criteriaCovered": false,
269
+ "breaking": false
270
+ }
271
+ ],
272
+ "removed": [
273
+ {
274
+ "name": "pathRuleReaches",
275
+ "kind": "function",
276
+ "tier": "advanced",
277
+ "at": [
278
+ "src/core/permission-rule-model.ts:1279",
279
+ "src/index.ts:1402"
280
+ ],
281
+ "breaking": true
282
+ }
283
+ ],
284
+ "changed": [
285
+ {
286
+ "name": "PathRuleBases",
287
+ "from": {
288
+ "kind": "interface",
289
+ "tier": "advanced"
290
+ },
291
+ "to": {
292
+ "kind": "type",
293
+ "tier": "advanced"
294
+ },
295
+ "at": [
296
+ "src/core/permission-rule-model.ts:1214",
297
+ "src/index.ts:1429"
298
+ ],
299
+ "breaking": true
300
+ },
301
+ {
302
+ "name": "WorkflowJournalEntry",
303
+ "from": {
304
+ "kind": "interface",
305
+ "tier": "advanced"
306
+ },
307
+ "to": {
308
+ "kind": "type",
309
+ "tier": "advanced"
310
+ },
311
+ "at": [
312
+ "src/core/workflow-journal-store.ts:10",
313
+ "src/index.ts:2652"
314
+ ],
315
+ "breaking": true
316
+ }
317
+ ],
318
+ "narrowed": [],
319
+ "closedSetMembers": [
320
+ {
321
+ "set": "AUTO_MODE_BREAKER_CAUSES",
322
+ "at": [
323
+ "src/core/auto-mode.ts:58"
324
+ ],
325
+ "newSet": true,
326
+ "added": [
327
+ "error",
328
+ "parse_error",
329
+ "timeout"
330
+ ],
331
+ "removed": [],
332
+ "breaking": false,
333
+ "criteriaCovered": false
334
+ },
335
+ {
336
+ "set": "AUTO_MODE_UNAVAILABLE_CAUSES",
337
+ "at": [
338
+ "src/core/auto-mode.ts:34"
339
+ ],
340
+ "newSet": true,
341
+ "added": [
342
+ "breaker_open",
343
+ "error",
344
+ "timeout"
345
+ ],
346
+ "removed": [],
347
+ "breaking": false,
348
+ "criteriaCovered": false
349
+ },
350
+ {
351
+ "set": "AgentDisplayStatus",
352
+ "at": [
353
+ "src/orchestration/workflow-observe.ts:168"
354
+ ],
355
+ "newSet": false,
356
+ "added": [
357
+ "parked"
358
+ ],
359
+ "removed": [],
360
+ "breaking": false,
361
+ "criteriaCovered": false
362
+ },
363
+ {
364
+ "set": "ENGINE_NOTICE_CODES",
365
+ "at": [
366
+ "src/core/governance-codes.ts:313"
367
+ ],
368
+ "newSet": false,
369
+ "added": [
370
+ "config.read_face_swapped",
371
+ "delegation.ask_unresolvable"
372
+ ],
373
+ "removed": [],
374
+ "breaking": false,
375
+ "criteriaCovered": true
376
+ },
377
+ {
378
+ "set": "PATH_RULE_BASES",
379
+ "at": [
380
+ "src/core/permission-rule-model.ts:1211"
381
+ ],
382
+ "newSet": true,
383
+ "added": [
384
+ "cwd",
385
+ "home",
386
+ "root"
387
+ ],
388
+ "removed": [],
389
+ "breaking": false,
390
+ "criteriaCovered": false
391
+ },
392
+ {
393
+ "set": "SWAPPABLE_DEP_SEATS",
394
+ "at": [
395
+ "src/core/swappable-deps.ts:49"
396
+ ],
397
+ "newSet": true,
398
+ "added": [
399
+ "models",
400
+ "readFace",
401
+ "tiers"
402
+ ],
403
+ "removed": [],
404
+ "breaking": false,
405
+ "criteriaCovered": false
406
+ },
407
+ {
408
+ "set": "WorkflowItemStatus",
409
+ "at": [
410
+ "src/orchestration/workflow-types.ts:11"
411
+ ],
412
+ "newSet": false,
413
+ "added": [
414
+ "parked"
415
+ ],
416
+ "removed": [],
417
+ "breaking": false,
418
+ "criteriaCovered": false
419
+ }
420
+ ],
421
+ "typeKeys": [
422
+ {
423
+ "type": "AskCarry",
424
+ "at": [
425
+ "src/core/hooks.ts:2100"
426
+ ],
427
+ "added": [
428
+ "classifierUnavailable"
429
+ ],
430
+ "removed": [],
431
+ "breaking": false,
432
+ "criteriaCovered": false
433
+ },
434
+ {
435
+ "type": "AskRequest",
436
+ "at": [
437
+ "src/core/tool-policy.ts:2519"
438
+ ],
439
+ "added": [
440
+ "classifierUnavailable"
441
+ ],
442
+ "removed": [],
443
+ "breaking": false,
444
+ "criteriaCovered": true
445
+ },
446
+ {
447
+ "type": "CheckpointSummary",
448
+ "at": [
449
+ "src/core/checkpoint-store.ts:2092"
450
+ ],
451
+ "added": [
452
+ "classifierUnavailable"
453
+ ],
454
+ "removed": [],
455
+ "breaking": false,
456
+ "criteriaCovered": false
457
+ },
458
+ {
459
+ "type": "ExecutionEnv",
460
+ "at": [
461
+ "src/engine/harness/types.ts:588"
462
+ ],
463
+ "added": [
464
+ "homeDir"
465
+ ],
466
+ "removed": [],
467
+ "breaking": false,
468
+ "criteriaCovered": false
469
+ },
470
+ {
471
+ "type": "PathRuleBases",
472
+ "at": [
473
+ "src/core/permission-rule-model.ts:1200"
474
+ ],
475
+ "added": [],
476
+ "removed": [
477
+ "cwd",
478
+ "home",
479
+ "root"
480
+ ],
481
+ "breaking": true,
482
+ "criteriaCovered": false
483
+ },
484
+ {
485
+ "type": "PendingAction",
486
+ "at": [
487
+ "src/core/checkpoint-store.ts:960"
488
+ ],
489
+ "added": [
490
+ "tool_approval.classifierUnavailable"
491
+ ],
492
+ "removed": [],
493
+ "breaking": false,
494
+ "criteriaCovered": false
495
+ },
496
+ {
497
+ "type": "PermissionResult",
498
+ "at": [
499
+ "src/core/tool-policy.ts:300"
500
+ ],
501
+ "added": [
502
+ "classifierUnavailable"
503
+ ],
504
+ "removed": [],
505
+ "breaking": false,
506
+ "criteriaCovered": false
507
+ },
508
+ {
509
+ "type": "PreToolUseResult",
510
+ "at": [
511
+ "src/core/hooks.ts:1141"
512
+ ],
513
+ "added": [
514
+ "classifierUnavailable"
515
+ ],
516
+ "removed": [],
517
+ "breaking": false,
518
+ "criteriaCovered": false
519
+ },
520
+ {
521
+ "type": "RemoteExecutionEnv",
522
+ "at": [
523
+ "src/core/remote-env.ts:313"
524
+ ],
525
+ "added": [
526
+ "homeDir"
527
+ ],
528
+ "removed": [],
529
+ "breaking": false,
530
+ "criteriaCovered": false
531
+ },
532
+ {
533
+ "type": "RunInternals",
534
+ "at": [
535
+ "src/core/runner/contracts.ts:1226"
536
+ ],
537
+ "added": [
538
+ "autoModeBreakerLedger",
539
+ "workflowParkedResume"
540
+ ],
541
+ "removed": [],
542
+ "breaking": false,
543
+ "criteriaCovered": false
544
+ },
545
+ {
546
+ "type": "RunWorkflowOptions",
547
+ "at": [
548
+ "src/orchestration/workflow.ts:749"
549
+ ],
550
+ "added": [
551
+ "defaultDurableApproval",
552
+ "parkedResume"
553
+ ],
554
+ "removed": [],
555
+ "breaking": false,
556
+ "criteriaCovered": false
557
+ },
558
+ {
559
+ "type": "RunWorkflowToolDeps",
560
+ "at": [
561
+ "src/orchestration/run-workflow-tool.ts:407"
562
+ ],
563
+ "added": [
564
+ "parentDurableApproval",
565
+ "parkedResume"
566
+ ],
567
+ "removed": [],
568
+ "breaking": false,
569
+ "criteriaCovered": false
570
+ },
571
+ {
572
+ "type": "WorkflowAgentRun",
573
+ "at": [
574
+ "src/orchestration/workflow-types.ts:44"
575
+ ],
576
+ "added": [
577
+ "parkedCheckpointToken"
578
+ ],
579
+ "removed": [],
580
+ "breaking": false,
581
+ "criteriaCovered": true
582
+ },
583
+ {
584
+ "type": "WorkflowJournalEntry",
585
+ "at": [
586
+ "src/core/workflow-journal-store.ts:10"
587
+ ],
588
+ "added": [
589
+ "parked"
590
+ ],
591
+ "removed": [],
592
+ "breaking": false,
593
+ "criteriaCovered": false
594
+ }
595
+ ],
596
+ "declarationMoves": [],
597
+ "mintMoves": [],
598
+ "criteriaObserves": [
599
+ {
600
+ "kind": "engineNoticeCode",
601
+ "name": "config.models_swapped",
602
+ "assertions": [
603
+ "G1.a"
604
+ ]
605
+ },
606
+ {
607
+ "kind": "engineNoticeCode",
608
+ "name": "config.read_face_swapped",
609
+ "assertions": [
610
+ "G1.a"
611
+ ]
612
+ },
613
+ {
614
+ "kind": "engineNoticeCode",
615
+ "name": "delegation.ask_unresolvable",
616
+ "assertions": [
617
+ "G5.b"
618
+ ]
619
+ },
620
+ {
621
+ "kind": "typeMember",
622
+ "name": "AskRequest.classifierUnavailable",
623
+ "assertions": [
624
+ "G2.a"
625
+ ]
626
+ },
627
+ {
628
+ "kind": "typeMember",
629
+ "name": "AskRequest.origin",
630
+ "assertions": [
631
+ "G2.a"
632
+ ]
633
+ },
634
+ {
635
+ "kind": "typeMember",
636
+ "name": "GateDisposition.deniedBy",
637
+ "assertions": [
638
+ "G3.a"
639
+ ]
640
+ },
641
+ {
642
+ "kind": "typeMember",
643
+ "name": "PathRuleBases.home",
644
+ "assertions": [
645
+ "G3.a"
646
+ ]
647
+ },
648
+ {
649
+ "kind": "typeMember",
650
+ "name": "ProgramRunReachOutcome.reach",
651
+ "assertions": [
652
+ "G3.b"
653
+ ]
654
+ },
655
+ {
656
+ "kind": "typeMember",
657
+ "name": "SwappableDeps.readFace",
658
+ "assertions": [
659
+ "G1.b"
660
+ ]
661
+ },
662
+ {
663
+ "kind": "typeMember",
664
+ "name": "TaskSpec.thinking",
665
+ "assertions": [
666
+ "G4.a"
667
+ ]
668
+ },
669
+ {
670
+ "kind": "typeMember",
671
+ "name": "WiringManifest.autoMode",
672
+ "assertions": [
673
+ "G2.b"
674
+ ]
675
+ },
676
+ {
677
+ "kind": "typeMember",
678
+ "name": "WorkflowAgentRun.parkedCheckpointToken",
679
+ "assertions": [
680
+ "G5.a"
681
+ ]
682
+ },
683
+ {
684
+ "kind": "typeMember",
685
+ "name": "WorkflowAgentRun.status",
686
+ "assertions": [
687
+ "G5.a"
688
+ ]
689
+ }
690
+ ],
691
+ "consumersHint": {
692
+ "cli": [
693
+ "AskRequest",
694
+ "ENGINE_NOTICE_CODES",
695
+ "ExecutionEnv",
696
+ "PermissionResult",
697
+ "RunInternals"
698
+ ],
699
+ "server": [
700
+ "AgentDisplayStatus",
701
+ "AskCarry",
702
+ "AskRequest",
703
+ "CheckpointSummary",
704
+ "ENGINE_NOTICE_CODES",
705
+ "ExecutionEnv",
706
+ "PathRuleBases",
707
+ "PendingAction",
708
+ "PermissionResult",
709
+ "PreToolUseResult",
710
+ "RemoteExecutionEnv",
711
+ "RunInternals",
712
+ "RunWorkflowOptions",
713
+ "RunWorkflowToolDeps",
714
+ "WorkflowAgentRun",
715
+ "WorkflowItemStatus",
716
+ "WorkflowJournalEntry",
717
+ "pathRuleReaches"
718
+ ],
719
+ "sdk": [
720
+ "AskRequest",
721
+ "CheckpointSummary",
722
+ "ExecutionEnv",
723
+ "PendingAction",
724
+ "PreToolUseResult",
725
+ "WorkflowAgentRun",
726
+ "WorkflowItemStatus",
727
+ "WorkflowJournalEntry"
728
+ ],
729
+ "note": "scanned cli@420e1fb3 server@b8c8bfb2 sdk@978db55 — a name listed is MENTIONED there today, which is evidence of consumption, not proof of it"
730
+ },
731
+ "breakingCount": 4,
732
+ "breakingItems": [
733
+ "export kind changed: PathRuleBases interface -> type",
734
+ "export kind changed: WorkflowJournalEntry interface -> type",
735
+ "export removed: pathRuleReaches (function)",
736
+ "type lost keys: PathRuleBases -cwd,home,root"
737
+ ],
738
+ "toResolvedAt": "06834b058337eafe9b5e76052a2bcf787f26f877"
739
+ }