@sema-agent/core 7.34.0 → 7.35.0

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 (83) hide show
  1. package/CHANGELOG.md +123 -3
  2. package/dist/brain/errors.d.ts +23 -1
  3. package/dist/brain/errors.js +19 -2
  4. package/dist/brain/status-sink.d.ts +7 -1
  5. package/dist/brain/stream-shared.d.ts +3 -1
  6. package/dist/brain/stream-shared.js +16 -4
  7. package/dist/core/ask-origin.d.ts +34 -6
  8. package/dist/core/ask-origin.js +24 -23
  9. package/dist/core/ask-question.js +2 -1
  10. package/dist/core/checkpoint-store.d.ts +4 -0
  11. package/dist/core/gate-fold.js +2 -2
  12. package/dist/core/gate-lanes.js +5 -4
  13. package/dist/core/governance-codes.d.ts +17 -1
  14. package/dist/core/governance-codes.js +11 -1
  15. package/dist/core/hooks.d.ts +3 -0
  16. package/dist/core/message-utils.d.ts +2 -1
  17. package/dist/core/message-utils.js +2 -1
  18. package/dist/core/mode-policy.d.ts +3 -0
  19. package/dist/core/mode-policy.js +5 -0
  20. package/dist/core/permission-rule-model.d.ts +4 -0
  21. package/dist/core/permission-rule-model.js +4 -0
  22. package/dist/core/permission-rules.js +21 -1
  23. package/dist/core/persisted-rule-arms.d.ts +4 -1
  24. package/dist/core/persisted-rule-arms.js +4 -0
  25. package/dist/core/retired-keys.js +1 -1
  26. package/dist/core/runner/active-skill-scope.js +5 -4
  27. package/dist/core/runner/assemble-result.js +2 -2
  28. package/dist/core/runner/contracts.d.ts +25 -3
  29. package/dist/core/runner/denial-limit-arms.d.ts +6 -1
  30. package/dist/core/runner/denial-limit-arms.js +4 -4
  31. package/dist/core/runner/file-history-request.d.ts +26 -0
  32. package/dist/core/runner/file-history-request.js +90 -0
  33. package/dist/core/runner/permission-rule-lanes.d.ts +2 -1
  34. package/dist/core/runner/permission-rule-lanes.js +14 -11
  35. package/dist/core/runner/prepare-ask-lane.d.ts +1 -1
  36. package/dist/core/runner/prepare-ask-lane.js +2 -2
  37. package/dist/core/runner/prepare-file-history.d.ts +9 -3
  38. package/dist/core/runner/prepare-file-history.js +4 -90
  39. package/dist/core/runner/prepare-gate-stations.d.ts +4 -3
  40. package/dist/core/runner/prepare-gate-stations.js +15 -11
  41. package/dist/core/runner/prepare-inherited-gate.d.ts +8 -1
  42. package/dist/core/runner/prepare-inherited-gate.js +10 -4
  43. package/dist/core/runner/prepare-park-ask.d.ts +4 -2
  44. package/dist/core/runner/prepare-park-ask.js +5 -4
  45. package/dist/core/runner/prepare-policy-chain.d.ts +3 -2
  46. package/dist/core/runner/prepare-policy-chain.js +171 -175
  47. package/dist/core/runner/prepare-task.js +7 -4
  48. package/dist/core/runner/run-brain-sinks.js +3 -1
  49. package/dist/core/runner/run-leg.js +5 -3
  50. package/dist/core/runner/run-notification-lane.d.ts +3 -0
  51. package/dist/core/runner/run-notification-lane.js +2 -1
  52. package/dist/core/runner/runtask.d.ts +1 -0
  53. package/dist/core/runner/runtask.js +5 -11
  54. package/dist/core/runner/session-mode-seats.d.ts +48 -0
  55. package/dist/core/runner/session-mode-seats.js +73 -0
  56. package/dist/core/runner/session-rule-policy.js +3 -2
  57. package/dist/core/secret-env.d.ts +30 -58
  58. package/dist/core/secret-env.js +149 -586
  59. package/dist/core/sensitive-path-policy.js +2 -1
  60. package/dist/core/store-contracts/checkpoint-store-contract.js +2 -1
  61. package/dist/core/tool-policy.d.ts +31 -6
  62. package/dist/core/tool-policy.js +35 -16
  63. package/dist/core/tool-registry.d.ts +36 -0
  64. package/dist/core/tool-registry.js +22 -1
  65. package/dist/core/tool-roster.d.ts +17 -2
  66. package/dist/core/tool-roster.js +11 -1
  67. package/dist/core/trace.d.ts +11 -0
  68. package/dist/engine/execution-env/node-execution-env.d.ts +3 -1
  69. package/dist/engine/execution-env/node-execution-env.js +5 -2
  70. package/dist/engine/harness/agent-harness.js +2 -1
  71. package/dist/engine/lsp/node-lsp-manager.js +1 -1
  72. package/dist/index.d.ts +4 -4
  73. package/dist/index.js +4 -4
  74. package/dist/stores/file/index.d.ts +5 -3
  75. package/dist/stores/file/session-store.d.ts +8 -2
  76. package/dist/stores/file/session-store.js +5 -5
  77. package/dist/tools/fs/file-read-check.d.ts +2 -1
  78. package/dist/tools/fs/file-read-check.js +15 -7
  79. package/dist/tools/fs/shell-read-check.d.ts +10 -2
  80. package/dist/tools/fs/shell-read-check.js +12 -8
  81. package/package.json +1 -1
  82. package/test/export-surface.snapshot.json +15 -1
  83. package/wire-changes/core@7.35.0.json +584 -0
@@ -0,0 +1,584 @@
1
+ {
2
+ "repo": "core",
3
+ "version": "7.35.0",
4
+ "from": "077c3b0af94b5fd58e64104974cae266ec4d5782",
5
+ "to": "v7.35.0",
6
+ "added": [
7
+ {
8
+ "name": "PROVIDER_ECHO_SHAPE",
9
+ "kind": "variable",
10
+ "tier": "advanced",
11
+ "at": [
12
+ "src/brain/errors.ts:118",
13
+ "src/index.ts:250"
14
+ ],
15
+ "criteriaCovered": false,
16
+ "breaking": false
17
+ },
18
+ {
19
+ "name": "TOOL_DECLARATION_CODES",
20
+ "kind": "variable",
21
+ "tier": "advanced",
22
+ "at": [
23
+ "src/core/governance-codes.ts:244",
24
+ "src/index.ts:440"
25
+ ],
26
+ "criteriaCovered": false,
27
+ "breaking": false
28
+ },
29
+ {
30
+ "name": "ToolDeclarationCode",
31
+ "kind": "type",
32
+ "tier": "advanced",
33
+ "at": [
34
+ "src/core/governance-codes.ts:257",
35
+ "src/index.ts:440"
36
+ ],
37
+ "criteriaCovered": false,
38
+ "breaking": false
39
+ },
40
+ {
41
+ "name": "isProviderEchoShape",
42
+ "kind": "function",
43
+ "tier": "advanced",
44
+ "at": [
45
+ "src/brain/errors.ts:121",
46
+ "src/index.ts:250"
47
+ ],
48
+ "criteriaCovered": false,
49
+ "breaking": false
50
+ },
51
+ {
52
+ "name": "rosterToolName",
53
+ "kind": "function",
54
+ "tier": "advanced",
55
+ "at": [
56
+ "src/core/tool-roster.ts:191",
57
+ "src/index.ts:1080"
58
+ ],
59
+ "criteriaCovered": false,
60
+ "breaking": false
61
+ },
62
+ {
63
+ "name": "ruleNamesOf",
64
+ "kind": "function",
65
+ "tier": "advanced",
66
+ "at": [
67
+ "src/core/tool-registry.ts:111",
68
+ "src/core/tool-roster.ts:202",
69
+ "src/index.ts:1081"
70
+ ],
71
+ "criteriaCovered": false,
72
+ "breaking": false
73
+ },
74
+ {
75
+ "name": "wrapToolPolicy",
76
+ "kind": "function",
77
+ "tier": "advanced",
78
+ "at": [
79
+ "src/core/tool-policy.ts:750",
80
+ "src/index.ts:1393"
81
+ ],
82
+ "criteriaCovered": false,
83
+ "breaking": false
84
+ }
85
+ ],
86
+ "removed": [],
87
+ "changed": [],
88
+ "narrowed": [
89
+ {
90
+ "id": "F3",
91
+ "source": "behaviorFlips.summary",
92
+ "text": "narrowing: every non-exempt variable's value is read, and a credential-carrying value withholds the variable"
93
+ },
94
+ {
95
+ "id": "F5",
96
+ "source": "behaviorFlips.summary",
97
+ "text": "narrowing: every `OTEL_*` variable is withheld by prefix"
98
+ }
99
+ ],
100
+ "closedSetMembers": [
101
+ {
102
+ "set": "ExactEnvNameVerdict",
103
+ "at": [
104
+ "src/core/secret-env.ts:864"
105
+ ],
106
+ "newSet": false,
107
+ "added": [],
108
+ "removed": [
109
+ "credential",
110
+ "exempt",
111
+ "unknown"
112
+ ],
113
+ "persistedBy": "none",
114
+ "breaking": true,
115
+ "criteriaCovered": false
116
+ },
117
+ {
118
+ "set": "SecretEnvFindingKind",
119
+ "at": [
120
+ "src/core/secret-env.ts:207"
121
+ ],
122
+ "newSet": false,
123
+ "added": [
124
+ "name-rule",
125
+ "prefix-rule",
126
+ "value-rule"
127
+ ],
128
+ "removed": [
129
+ "family-rule",
130
+ "suffix-rule"
131
+ ],
132
+ "persistedBy": "none",
133
+ "breaking": true,
134
+ "criteriaCovered": false
135
+ },
136
+ {
137
+ "set": "TOOL_DECLARATION_CODES",
138
+ "at": [
139
+ "src/core/governance-codes.ts:244"
140
+ ],
141
+ "newSet": true,
142
+ "added": [
143
+ "config.egress_requires_write_effect",
144
+ "config.reserved_tool_name",
145
+ "config.tool_contract_too_long",
146
+ "config.tool_face_invalid",
147
+ "config.tool_mount_denied",
148
+ "config.tool_name_invalid",
149
+ "config.tool_name_too_long",
150
+ "config.tool_roster_bound",
151
+ "config.tool_schema_bound"
152
+ ],
153
+ "removed": [],
154
+ "breaking": false,
155
+ "criteriaCovered": false
156
+ },
157
+ {
158
+ "set": "ToolDeclarationCode",
159
+ "at": [
160
+ "src/core/governance-codes.ts:257",
161
+ "src/index.ts:440"
162
+ ],
163
+ "newSet": true,
164
+ "added": [
165
+ "config.egress_requires_write_effect",
166
+ "config.reserved_tool_name",
167
+ "config.tool_contract_too_long",
168
+ "config.tool_face_invalid",
169
+ "config.tool_mount_denied",
170
+ "config.tool_name_invalid",
171
+ "config.tool_name_too_long",
172
+ "config.tool_roster_bound",
173
+ "config.tool_schema_bound"
174
+ ],
175
+ "removed": [],
176
+ "breaking": false,
177
+ "criteriaCovered": false
178
+ }
179
+ ],
180
+ "closedSetsUnreadable": [],
181
+ "typeKeys": [
182
+ {
183
+ "type": "ModeArbitrationRow",
184
+ "at": [
185
+ "src/core/ask-origin.ts:599"
186
+ ],
187
+ "added": [
188
+ "hookAskFloor"
189
+ ],
190
+ "addedDetail": [
191
+ {
192
+ "key": "hookAskFloor",
193
+ "optional": false
194
+ }
195
+ ],
196
+ "addedRequired": [
197
+ "hookAskFloor"
198
+ ],
199
+ "removed": [],
200
+ "breaking": true,
201
+ "criteriaCovered": true
202
+ },
203
+ {
204
+ "type": "PendingAction",
205
+ "at": [
206
+ "src/core/checkpoint-store.ts:961"
207
+ ],
208
+ "added": [
209
+ "tool_approval.names"
210
+ ],
211
+ "addedDetail": [
212
+ {
213
+ "key": "tool_approval.names",
214
+ "optional": true
215
+ }
216
+ ],
217
+ "addedRequired": [],
218
+ "removed": [],
219
+ "breaking": false,
220
+ "criteriaCovered": false
221
+ },
222
+ {
223
+ "type": "Prepared",
224
+ "at": [
225
+ "src/core/runner/contracts.ts:244"
226
+ ],
227
+ "via": "Runner.SuspendReap.env",
228
+ "added": [
229
+ "endModeCeiling"
230
+ ],
231
+ "addedDetail": [
232
+ {
233
+ "key": "endModeCeiling",
234
+ "optional": false
235
+ }
236
+ ],
237
+ "addedRequired": [
238
+ "endModeCeiling"
239
+ ],
240
+ "removed": [],
241
+ "breaking": true,
242
+ "criteriaCovered": false
243
+ },
244
+ {
245
+ "type": "RunInternals",
246
+ "at": [
247
+ "src/core/runner/contracts.ts:1406"
248
+ ],
249
+ "added": [
250
+ "sessionModeSeats"
251
+ ],
252
+ "addedDetail": [
253
+ {
254
+ "key": "sessionModeSeats",
255
+ "optional": true
256
+ }
257
+ ],
258
+ "addedRequired": [],
259
+ "removed": [],
260
+ "breaking": false,
261
+ "criteriaCovered": false
262
+ },
263
+ {
264
+ "type": "ToolCallFace",
265
+ "at": [
266
+ "src/core/tool-policy.ts:25"
267
+ ],
268
+ "added": [
269
+ "names"
270
+ ],
271
+ "addedDetail": [
272
+ {
273
+ "key": "names",
274
+ "optional": true
275
+ }
276
+ ],
277
+ "addedRequired": [],
278
+ "removed": [],
279
+ "breaking": false,
280
+ "criteriaCovered": true
281
+ },
282
+ {
283
+ "type": "ToolPolicy",
284
+ "at": [
285
+ "src/core/tool-policy.ts:688"
286
+ ],
287
+ "added": [
288
+ "nameSets"
289
+ ],
290
+ "addedDetail": [
291
+ {
292
+ "key": "nameSets",
293
+ "optional": true
294
+ }
295
+ ],
296
+ "addedRequired": [],
297
+ "removed": [],
298
+ "breaking": false,
299
+ "criteriaCovered": true
300
+ },
301
+ {
302
+ "type": "TraceEvent",
303
+ "at": [
304
+ "src/core/trace.ts:60"
305
+ ],
306
+ "added": [
307
+ "brain.echo_dropped.field",
308
+ "brain.echo_dropped.kind",
309
+ "brain.echo_dropped.taskId",
310
+ "brain.echo_dropped.ts",
311
+ "brain.echo_dropped.version"
312
+ ],
313
+ "addedDetail": [
314
+ {
315
+ "key": "brain.echo_dropped.field",
316
+ "optional": false
317
+ },
318
+ {
319
+ "key": "brain.echo_dropped.kind",
320
+ "optional": false
321
+ },
322
+ {
323
+ "key": "brain.echo_dropped.taskId",
324
+ "optional": false
325
+ },
326
+ {
327
+ "key": "brain.echo_dropped.ts",
328
+ "optional": false
329
+ },
330
+ {
331
+ "key": "brain.echo_dropped.version",
332
+ "optional": false
333
+ }
334
+ ],
335
+ "addedRequired": [],
336
+ "removed": [],
337
+ "breaking": false,
338
+ "criteriaCovered": false
339
+ }
340
+ ],
341
+ "typeKeysUnreadableArms": [],
342
+ "typeKeysFlattenedCount": 219,
343
+ "declarationMoves": [],
344
+ "mintMoves": [
345
+ {
346
+ "code": "config.tool_name_too_long",
347
+ "from": [
348
+ "src/core/runner/prepare-protocol-tools.ts",
349
+ "src/core/tool-roster.ts"
350
+ ],
351
+ "to": [
352
+ "src/core/runner/prepare-protocol-tools.ts"
353
+ ]
354
+ }
355
+ ],
356
+ "criteriaObserves": [
357
+ {
358
+ "kind": "engineNoticeCode",
359
+ "name": "config.permission_mode_unavailable",
360
+ "assertions": [
361
+ "G11.b"
362
+ ]
363
+ },
364
+ {
365
+ "kind": "engineNoticeCode",
366
+ "name": "config.secret_env_scrubbed",
367
+ "assertions": [
368
+ "G4.a"
369
+ ]
370
+ },
371
+ {
372
+ "kind": "taskEventField",
373
+ "name": "tool_end.gate",
374
+ "assertions": [
375
+ "G7.e",
376
+ "G7.f",
377
+ "G7.i",
378
+ "G8.b",
379
+ "G9.a"
380
+ ]
381
+ },
382
+ {
383
+ "kind": "taskEventField",
384
+ "name": "turn_end.responseModel",
385
+ "assertions": [
386
+ "G14.a"
387
+ ]
388
+ },
389
+ {
390
+ "kind": "typeMember",
391
+ "name": "AskRequest.toolName",
392
+ "assertions": [
393
+ "G7.b",
394
+ "G12.a"
395
+ ]
396
+ },
397
+ {
398
+ "kind": "typeMember",
399
+ "name": "FileStorageCorruptReadInfo.sessionId",
400
+ "assertions": [
401
+ "G15.a"
402
+ ]
403
+ },
404
+ {
405
+ "kind": "typeMember",
406
+ "name": "ModeArbitrationRow.hookAskFloor",
407
+ "assertions": [
408
+ "G9.a",
409
+ "G9.b"
410
+ ]
411
+ },
412
+ {
413
+ "kind": "typeMember",
414
+ "name": "OracleGateSpec.inheritEnv",
415
+ "assertions": [
416
+ "G3.a",
417
+ "G5.a",
418
+ "G16.a"
419
+ ]
420
+ },
421
+ {
422
+ "kind": "typeMember",
423
+ "name": "SecretEnvFinding.confidence",
424
+ "assertions": [
425
+ "G1.a",
426
+ "G1.d"
427
+ ]
428
+ },
429
+ {
430
+ "kind": "typeMember",
431
+ "name": "SecretEnvFinding.key",
432
+ "assertions": [
433
+ "G3.b",
434
+ "G6.a"
435
+ ]
436
+ },
437
+ {
438
+ "kind": "typeMember",
439
+ "name": "SecretEnvFinding.kind",
440
+ "assertions": [
441
+ "G1.a",
442
+ "G1.b",
443
+ "G1.c",
444
+ "G1.d",
445
+ "G2.a",
446
+ "G2.b",
447
+ "G2.c",
448
+ "G6.a"
449
+ ]
450
+ },
451
+ {
452
+ "kind": "typeMember",
453
+ "name": "TaskResult.apiFailure",
454
+ "assertions": [
455
+ "G14.a",
456
+ "G14.b"
457
+ ]
458
+ },
459
+ {
460
+ "kind": "typeMember",
461
+ "name": "TaskResult.responseModel",
462
+ "assertions": [
463
+ "G14.a",
464
+ "G14.b"
465
+ ]
466
+ },
467
+ {
468
+ "kind": "typeMember",
469
+ "name": "TaskResult.terminal",
470
+ "assertions": [
471
+ "G7.g"
472
+ ]
473
+ },
474
+ {
475
+ "kind": "typeMember",
476
+ "name": "TaskResult.terminal.code",
477
+ "assertions": [
478
+ "G10.a",
479
+ "G13.a",
480
+ "G13.b"
481
+ ]
482
+ },
483
+ {
484
+ "kind": "typeMember",
485
+ "name": "TaskSpec.backgroundScope",
486
+ "assertions": [
487
+ "G11.a"
488
+ ]
489
+ },
490
+ {
491
+ "kind": "typeMember",
492
+ "name": "TaskSpec.permissionMode",
493
+ "assertions": [
494
+ "G11.a"
495
+ ]
496
+ },
497
+ {
498
+ "kind": "typeMember",
499
+ "name": "ToolCallFace.names",
500
+ "assertions": [
501
+ "G7.a",
502
+ "G7.c",
503
+ "G7.d",
504
+ "G7.e",
505
+ "G7.f",
506
+ "G7.g",
507
+ "G7.h",
508
+ "G7.i"
509
+ ]
510
+ },
511
+ {
512
+ "kind": "typeMember",
513
+ "name": "ToolCallRequest.toolName",
514
+ "assertions": [
515
+ "G7.a",
516
+ "G7.b"
517
+ ]
518
+ },
519
+ {
520
+ "kind": "typeMember",
521
+ "name": "ToolPolicy.nameSets",
522
+ "assertions": [
523
+ "G8.c"
524
+ ]
525
+ },
526
+ {
527
+ "kind": "typeMember",
528
+ "name": "ToolPolicy.pathDenyRules",
529
+ "assertions": [
530
+ "G8.a",
531
+ "G8.c"
532
+ ]
533
+ },
534
+ {
535
+ "kind": "typeMember",
536
+ "name": "ToolPolicy.projection",
537
+ "assertions": [
538
+ "G8.a"
539
+ ]
540
+ },
541
+ {
542
+ "kind": "typeMember",
543
+ "name": "ToolPolicy.writeTargetGuard",
544
+ "assertions": [
545
+ "G8.a"
546
+ ]
547
+ }
548
+ ],
549
+ "consumersHint": {
550
+ "cli": [
551
+ "PendingAction",
552
+ "Prepared",
553
+ "RunInternals",
554
+ "SecretEnvFindingKind",
555
+ "ToolPolicy",
556
+ "TraceEvent",
557
+ "ruleNamesOf"
558
+ ],
559
+ "server": [
560
+ "PROVIDER_ECHO_SHAPE",
561
+ "PendingAction",
562
+ "Prepared",
563
+ "RunInternals",
564
+ "SecretEnvFindingKind",
565
+ "ToolPolicy",
566
+ "TraceEvent",
567
+ "isProviderEchoShape"
568
+ ],
569
+ "sdk": [
570
+ "PendingAction",
571
+ "ToolPolicy",
572
+ "TraceEvent"
573
+ ],
574
+ "note": "scanned cli@6b6025f7 server@25d6b7a6 sdk@e8f6f0d — a name listed is MENTIONED there today, which is evidence of consumption, not proof of it. Ledger files (**/docs/core-consumption/**, **/docs/wire-consumption/**, **/*LEDGER*.json) are not evidence of use — server: 1 name(s) matched ONLY in bookkeeping files and were set aside (ToolCallFace)"
575
+ },
576
+ "breakingCount": 4,
577
+ "breakingItems": [
578
+ "closed set lost members: ExactEnvNameVerdict -credential,exempt,unknown",
579
+ "closed set lost members: SecretEnvFindingKind -family-rule,suffix-rule",
580
+ "type gained required keys: ModeArbitrationRow +hookAskFloor",
581
+ "type gained required keys: Prepared +endModeCeiling"
582
+ ],
583
+ "toResolvedAt": "51449eb96681f4c7416454d10d1a0ef443163116"
584
+ }