@sema-agent/core 7.51.0 → 7.51.2

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 (39) hide show
  1. package/CHANGELOG.md +97 -1
  2. package/dist/agents/subagent.d.ts +5 -0
  3. package/dist/agents/subagent.js +1 -0
  4. package/dist/core/allow-entry.d.ts +4 -2
  5. package/dist/core/allow-entry.js +1 -1
  6. package/dist/core/engine-capabilities.d.ts +15 -0
  7. package/dist/core/engine-capabilities.js +1 -0
  8. package/dist/core/engine-notice.d.ts +8 -5
  9. package/dist/core/locked-config.d.ts +26 -5
  10. package/dist/core/locked-config.js +31 -6
  11. package/dist/core/mcp-server-spec.d.ts +37 -7
  12. package/dist/core/mcp-server-spec.js +84 -1
  13. package/dist/core/mcp.js +16 -4
  14. package/dist/core/runner/prepare-policy-chain.d.ts +1 -1
  15. package/dist/core/runner/prepare-policy-chain.js +4 -2
  16. package/dist/core/runner/session-rule-policy.d.ts +3 -1
  17. package/dist/core/runner/session-rule-policy.js +11 -9
  18. package/dist/core/runner/tool-output-projection.d.ts +5 -0
  19. package/dist/core/runner/tool-output-projection.js +3 -3
  20. package/dist/core/secret-env.d.ts +46 -15
  21. package/dist/core/secret-env.js +84 -18
  22. package/dist/core/session-policy-store.d.ts +54 -14
  23. package/dist/core/session-policy-store.js +83 -20
  24. package/dist/core/spec-contract.d.ts +5 -3
  25. package/dist/core/types.d.ts +2 -1
  26. package/dist/core/types.js +1 -0
  27. package/dist/engine/execution-env/kill-tree.js +4 -4
  28. package/dist/engine/execution-env/node-execution-env.d.ts +11 -4
  29. package/dist/engine/execution-env/node-execution-env.js +9 -4
  30. package/dist/engine/lsp/node-lsp-manager.d.ts +2 -1
  31. package/dist/engine/lsp/node-lsp-manager.js +2 -2
  32. package/dist/index.d.ts +10 -2
  33. package/dist/index.js +7 -2
  34. package/dist/stores/file/fs-atomic.js +2 -2
  35. package/dist/stores/file/session-policy-store.d.ts +3 -3
  36. package/package.json +1 -1
  37. package/test/export-surface.snapshot.json +33 -1
  38. package/wire-changes/core@7.51.1.json +259 -0
  39. package/wire-changes/core@7.51.2.json +293 -0
@@ -0,0 +1,293 @@
1
+ {
2
+ "repo": "core",
3
+ "version": "7.51.2",
4
+ "from": "a5c7c33244f7b139e674093f35159037fdfb63da",
5
+ "to": "v7.51.2",
6
+ "added": [
7
+ {
8
+ "name": "BUILTIN_SUBAGENT_TYPES",
9
+ "kind": "variable",
10
+ "tier": "advanced",
11
+ "at": [
12
+ "src/agents/subagent.ts:680",
13
+ "src/index.ts:3032"
14
+ ],
15
+ "criteriaCovered": false,
16
+ "breaking": false
17
+ },
18
+ {
19
+ "name": "BuiltinSubagentType",
20
+ "kind": "type",
21
+ "tier": "advanced",
22
+ "at": [
23
+ "src/agents/subagent.ts:682",
24
+ "src/index.ts:3027"
25
+ ],
26
+ "criteriaCovered": false,
27
+ "breaking": false
28
+ },
29
+ {
30
+ "name": "McpToolAxesRead",
31
+ "kind": "type",
32
+ "tier": "advanced",
33
+ "at": [
34
+ "src/core/mcp-server-spec.ts:161",
35
+ "src/core/types.ts:32",
36
+ "src/index.ts:3537"
37
+ ],
38
+ "criteriaCovered": false,
39
+ "breaking": false
40
+ },
41
+ {
42
+ "name": "SESSION_RULES_GRAMMAR",
43
+ "kind": "variable",
44
+ "tier": "advanced",
45
+ "at": [
46
+ "src/core/session-policy-store.ts:65",
47
+ "src/index.ts:375"
48
+ ],
49
+ "criteriaCovered": false,
50
+ "breaking": false
51
+ },
52
+ {
53
+ "name": "SessionRulesInGrammar",
54
+ "kind": "type",
55
+ "tier": "advanced",
56
+ "at": [
57
+ "src/core/session-policy-store.ts:82",
58
+ "src/index.ts:377"
59
+ ],
60
+ "criteriaCovered": false,
61
+ "breaking": false
62
+ },
63
+ {
64
+ "name": "compileSessionRuleBucket",
65
+ "kind": "function",
66
+ "tier": "advanced",
67
+ "at": [
68
+ "src/core/session-policy-store.ts:356",
69
+ "src/index.ts:376"
70
+ ],
71
+ "criteriaCovered": false,
72
+ "breaking": false
73
+ },
74
+ {
75
+ "name": "readMcpToolAxes",
76
+ "kind": "function",
77
+ "tier": "advanced",
78
+ "at": [
79
+ "src/core/mcp-server-spec.ts:242",
80
+ "src/core/types.ts:33",
81
+ "src/index.ts:3536"
82
+ ],
83
+ "criteriaCovered": false,
84
+ "breaking": false
85
+ }
86
+ ],
87
+ "removed": [],
88
+ "changed": [],
89
+ "narrowed": [
90
+ {
91
+ "id": "F2",
92
+ "source": "behaviorFlips.summary",
93
+ "text": "#1763 (additive + admission narrowing): `readMcpToolAxes(raw)` is the one runtime judge of `McpServerSpec.toolAxes` (exported from the root; vocabulary derived from `SAFETY_AXIS_VOCABULARY`); the task admission door and the `materializeMcpTools` convergence point both ask it, and a malformed declaration refuses that server entry loudly (no spawn) instead of being trusted by type."
94
+ }
95
+ ],
96
+ "closedSetMembers": [
97
+ {
98
+ "set": "ALLOW_ENTRY_INERT_REASONS",
99
+ "at": [
100
+ "src/core/allow-entry.ts:48"
101
+ ],
102
+ "newSet": false,
103
+ "added": [
104
+ "earlier_grammar"
105
+ ],
106
+ "removed": [],
107
+ "breaking": false,
108
+ "criteriaCovered": false
109
+ },
110
+ {
111
+ "set": "BUILTIN_SUBAGENT_TYPES",
112
+ "at": [
113
+ "src/agents/subagent.ts:680"
114
+ ],
115
+ "newSet": true,
116
+ "added": [
117
+ "Explore",
118
+ "Plan",
119
+ "fork",
120
+ "general-purpose"
121
+ ],
122
+ "removed": [],
123
+ "breaking": false,
124
+ "criteriaCovered": false
125
+ },
126
+ {
127
+ "set": "BuiltinSubagentType",
128
+ "at": [
129
+ "src/agents/subagent.ts:682",
130
+ "src/index.ts:3027"
131
+ ],
132
+ "newSet": true,
133
+ "added": [
134
+ "Explore",
135
+ "Plan",
136
+ "fork",
137
+ "general-purpose"
138
+ ],
139
+ "removed": [],
140
+ "breaking": false,
141
+ "criteriaCovered": false
142
+ }
143
+ ],
144
+ "closedSetsUnreadable": [],
145
+ "typeKeys": [
146
+ {
147
+ "type": "StoredSessionRules",
148
+ "at": [
149
+ "src/core/session-policy-store.ts:68"
150
+ ],
151
+ "added": [
152
+ "grammar"
153
+ ],
154
+ "addedDetail": [
155
+ {
156
+ "key": "grammar",
157
+ "optional": true
158
+ }
159
+ ],
160
+ "addedRequired": [],
161
+ "removed": [],
162
+ "breaking": false,
163
+ "criteriaCovered": false
164
+ }
165
+ ],
166
+ "typeKeysUnreadableArms": [],
167
+ "typeKeysFlattenedCount": 235,
168
+ "signatures": [
169
+ {
170
+ "name": "createSessionRulePolicy",
171
+ "at": [
172
+ "src/core/runner/session-rule-policy.ts:326"
173
+ ],
174
+ "from": [
175
+ "(rules: SessionPermissionRules | SessionRuleSource, opts: { env: ExecutionEnv; rootPath?: string; toolEffects?: ReadonlyMap<string, ToolEffect>; anchors?: PathRuleBases; }): NamedToolPolicy"
176
+ ],
177
+ "to": [
178
+ "(rules: SessionPermissionRules | SessionRuleSource, opts: { env: ExecutionEnv; rootPath?: string; toolEffects?: ReadonlyMap<string, ToolEffect>; anchors?: PathRuleBases; onEarlierGrammar?: (entries: readonly string[]) => void; }): NamedToolPolicy"
179
+ ],
180
+ "changes": [
181
+ {
182
+ "aspect": "param",
183
+ "detail": "param 2 `opts` type widened: …nchors?: PathRuleBases; [ -> onEarlierGrammar?: (entries: readonly string[]) => void; ]}",
184
+ "breaking": false
185
+ }
186
+ ],
187
+ "breaking": false,
188
+ "criteriaCovered": false
189
+ },
190
+ {
191
+ "name": "judgeSessionRulesWrite",
192
+ "at": [
193
+ "src/core/session-policy-store.ts:441"
194
+ ],
195
+ "from": [
196
+ "(prior: StoredSessionRules | null, rules: unknown, opts: PutRulesOptions | undefined, mountedToolNames?: ReadonlySet<string>): SessionPermissionRules"
197
+ ],
198
+ "to": [
199
+ "(prior: StoredSessionRules | null, rules: unknown, opts: PutRulesOptions | undefined, mountedToolNames?: ReadonlySet<string>): SessionPermissionRules & { grammar: number; }"
200
+ ],
201
+ "changes": [
202
+ {
203
+ "aspect": "returns",
204
+ "detail": "return type SessionPermissionRules[ -> & { grammar: number; }]",
205
+ "breaking": true
206
+ }
207
+ ],
208
+ "breaking": true,
209
+ "criteriaCovered": false
210
+ },
211
+ {
212
+ "name": "readSessionRulesShape",
213
+ "at": [
214
+ "src/core/session-policy-store.ts:285"
215
+ ],
216
+ "from": [
217
+ "(value: unknown): { fault: SessionRuleShapeRefusal; sentence: string; } | { rules: SessionPermissionRules; }"
218
+ ],
219
+ "to": [
220
+ "(value: unknown): { fault: SessionRuleShapeRefusal; sentence: string; } | { rules: SessionRulesInGrammar; }"
221
+ ],
222
+ "changes": [
223
+ {
224
+ "aspect": "returns",
225
+ "detail": "return type …ng; } | { rules: Session[PermissionRules -> RulesInGrammar]; }",
226
+ "breaking": true
227
+ }
228
+ ],
229
+ "breaking": true,
230
+ "criteriaCovered": false
231
+ }
232
+ ],
233
+ "declarationMoves": [],
234
+ "mintMoves": [],
235
+ "criteriaObserves": [
236
+ {
237
+ "kind": "taskEventField",
238
+ "name": "tool_end.gate",
239
+ "assertions": [
240
+ "G1.a",
241
+ "G1.c",
242
+ "G2.b"
243
+ ]
244
+ },
245
+ {
246
+ "kind": "typeMember",
247
+ "name": "AgentDefinition.name",
248
+ "assertions": [
249
+ "G3.a"
250
+ ]
251
+ },
252
+ {
253
+ "kind": "typeMember",
254
+ "name": "McpServerSpec.toolAxes",
255
+ "assertions": [
256
+ "G2.a"
257
+ ]
258
+ },
259
+ {
260
+ "kind": "typeMember",
261
+ "name": "StoredSessionRules.rev",
262
+ "assertions": [
263
+ "G1.b"
264
+ ]
265
+ }
266
+ ],
267
+ "consumersHint": {
268
+ "cli": [
269
+ "ALLOW_ENTRY_INERT_REASONS",
270
+ "StoredSessionRules"
271
+ ],
272
+ "server": [
273
+ "ALLOW_ENTRY_INERT_REASONS",
274
+ "McpToolAxesRead",
275
+ "StoredSessionRules",
276
+ "createSessionRulePolicy",
277
+ "judgeSessionRulesWrite",
278
+ "readMcpToolAxes",
279
+ "readSessionRulesShape"
280
+ ],
281
+ "sdk": [
282
+ "ALLOW_ENTRY_INERT_REASONS",
283
+ "StoredSessionRules"
284
+ ],
285
+ "note": "scanned cli@800f2dc8 server@01b2b2ef sdk@fa0c123 — a name listed is MENTIONED there today, which is evidence of consumption, not proof of it"
286
+ },
287
+ "breakingCount": 2,
288
+ "breakingItems": [
289
+ "signature changed: judgeSessionRulesWrite — return type SessionPermissionRules[ -> & { grammar: number; }]",
290
+ "signature changed: readSessionRulesShape — return type …ng; } | { rules: Session[PermissionRules -> RulesInGrammar]; }"
291
+ ],
292
+ "toResolvedAt": "97c8b3e2ab9bc4d63bbbeb55ea858cc2a4f36c10"
293
+ }