@warlock.js/ai-tools 5.32.0 → 5.34.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.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,29 @@ All notable changes to `@warlock.js/ai-tools` are documented in this file.
4
4
 
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/). `@warlock.js/*` packages are released in lockstep — every package shares the same version number, so a version below may list only the changes that affected this package.
6
6
 
7
+ ## 5.34.0 - 2026-10-19
8
+
9
+ ### Added
10
+
11
+ - `ai.mcp.serve` supports async `listFilter(context, tools)` for per-request discovery independent of callability, and `validateCallParams(context, params)` for application envelope policy before lookup, schema validation and call policy, over HTTP and stdio. Default handling of unknown fields and unsupported task metadata is unchanged.
12
+ - HTTP `transport.routes` adds exact method/path application routes beneath the MCP URL with shared authentication, principal/context, Host/Origin guards, body limits, disconnect signals and shutdown draining. Conflicting or invalid route configuration fails before binding.
13
+ - Export `McpError(code, message, data?)` and the new discovery, envelope and HTTP route contracts.
14
+
15
+ ### Fixed
16
+
17
+ - `beforeCall` and envelope policy preserve a thrown `McpError`'s integer code, message and optional data, including official SDK errors, without a runtime SDK dependency. Other throws retain the existing invalid-params mapping.
18
+ - Extend the core `ai.tools` namespace on registration, preserving `catalogue` and `measure` while adding the ready-made factories. `AiToolsNamespace` remains re-exported for consumers.
19
+
20
+ ## 5.33.0 - 2026-10-19
21
+
22
+ ### Fixed
23
+
24
+ - Keep HTTP and MCP fixtures valid under strict indexed access, accept string JSON-RPC request IDs in serving tests, and replace stdin through its descriptor without pretending a stream is a terminal.
25
+
26
+ ### Added
27
+
28
+ - MCP serving now exposes per-call `requestId`, authenticated `principal` and cancellation-aware signals over HTTP and stdio. HTTP `auth.authenticate` resolves principals alongside bearer/authorize checks; stdio accepts static or provider principals. `beforeCall` validates policy after input validation and can return a native error refusal or throw a JSON-RPC error. `notifications/cancelled` aborts only the matching caller/request and suppresses its response. New hook/context/refusal and stdio transport types are exported.
29
+
7
30
  ## 5.32.0 - 2026-10-18
8
31
 
9
32
  ### Changed
@@ -55,71 +78,17 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
55
78
  - **BREAKING:** `ai.mcp.serve()` throws `McpServeError` (`type: "collision"`) when two exposed tools share a name, and for duplicate resource URIs or prompt names. Previously both tools were listed and every call reached the last one. Rename one tool, or serve a grouped source with `prefixToolNames: true`.
56
79
  - `serve(..., { transport: { type: "http" } }).start()` no longer rejects: it binds a real endpoint. Code that implemented `McpServer` itself must return a handle from `start()`.
57
80
 
58
- ## 5.30.0 - 2026-10-16
59
-
60
- ### Changed
61
-
62
- - Lockstep release; package APIs are unchanged.
63
-
64
81
  ## 5.29.0 - 2026-10-01
65
82
 
66
83
  ### Changed
67
84
 
68
- - Lockstep release; package APIs are unchanged. Skills refer to other topics by name instead of file paths, so cross-references keep working after `agent-kit` copies them into an app.
85
+ - Skills refer to other topics by name instead of file paths, so cross-references keep working after `agent-kit` copies them into an app.
69
86
 
70
87
  ## 5.28.0 - 2026-10-01
71
88
 
72
89
  ### Changed
73
90
 
74
- - Lockstep release; package APIs are unchanged. `llms.txt` now lists every skill topic with its description (frontmatter in CRLF files was skipped).
75
-
76
- ## 5.27.0 - 2026-10-01
77
-
78
- ### Changed
79
-
80
- - Lockstep release; package APIs are unchanged.
81
-
82
- ## 5.26.0 - 2026-09-30
83
-
84
- ### Changed
85
-
86
- - Lockstep release; package APIs are unchanged.
87
-
88
- ## 5.25.0 - 2026-09-28
89
-
90
- ### Changed
91
-
92
- - Lockstep release; package APIs are unchanged.
93
-
94
- ## 5.24.0 - 2026-09-27
95
-
96
- ### Changed
97
-
98
- - Lockstep release; package APIs are unchanged.
99
-
100
- ## 5.23.2 - 2026-09-26
101
-
102
- ### Changed
103
-
104
- - Lockstep patch release; package APIs are unchanged.
105
-
106
- ## 5.23.1 - 2026-09-26
107
-
108
- ### Changed
109
-
110
- - Lockstep patch release; package APIs are unchanged.
111
-
112
- ## 5.23.0 - 2026-09-25
113
-
114
- ### Changed
115
-
116
- - Lockstep patch release; package APIs are unchanged.
117
-
118
- ## 5.22.1 - 2026-09-25
119
-
120
- ### Changed
121
-
122
- - Lockstep patch release; package APIs are unchanged.
91
+ - `llms.txt` now lists every skill topic with its description (frontmatter in CRLF files was skipped).
123
92
 
124
93
  ## 5.22.0 - 2026-09-25
125
94
 
@@ -127,12 +96,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
127
96
 
128
97
  - Stdio MCP children receive only a minimal execution environment plus explicitly supplied variables.
129
98
 
130
- ## 5.21.0 - 2026-09-25
131
-
132
- ### Changed
133
-
134
- - Lockstep release maintenance and dependency refresh.
135
-
136
99
  ## 5.20.0 - 2026-09-24
137
100
 
138
101
  ### Changed
@@ -145,53 +108,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
145
108
 
146
109
  - Refined package skill-discovery descriptions and regenerated the llms projections.
147
110
 
148
- ## 5.11.0 - 2026-09-14
149
-
150
- _Released in lockstep with the `@warlock.js/*` family; no package-specific changes in 5.11.0._
151
-
152
- ## 5.10.0 - 2026-09-14
153
-
154
- _Released in lockstep with the `@warlock.js/*` family; no package-specific changes in 5.10.0._
155
-
156
- ## 5.9.0 - 2026-09-13
157
-
158
- _Released in lockstep with the `@warlock.js/*` family; no package-specific changes in 5.9.0._
159
-
160
- ## 5.2.3 - 2026-09-02
161
-
162
- ### Fixed
163
-
164
- - Released in exact lockstep with Core's Web generator repairs so every family dependency remains installable at 5.2.3.
165
-
166
111
  ## 5.2.2
167
112
 
168
113
  ### Maintenance
169
114
 
170
115
  - Restored the Warlock family to one exact, installable lockstep version.
171
116
 
172
- ## 5.1.0
173
-
174
- No changes to `@warlock.js/ai-tools`. Released in lockstep with the `@warlock.js/web`
175
- React-execution fix and the `@warlock.js/core` CLI additions — see those packages'
176
- changelogs.
177
-
178
- ## 5.0.2 - 2026-08-25
179
-
180
- No changes to `@warlock.js/ai-tools`. Released in lockstep with the `@warlock.js/web` SSR
181
- fix (`ssr.noExternal`) — see that package's changelog.
182
-
183
- ## 5.0.1 - 2026-08-25
184
-
185
- No changes to `@warlock.js/ai-tools`. Released in lockstep with the `create-warlock` vite
186
- resolution pin and the `@warlock.js/web` peer narrowing — see those packages'
187
- changelogs.
188
-
189
- ## 5.0.0 - 2026-08-25
190
-
191
- ### Changed
192
-
193
- - This package is unchanged in 5.0.0; its version moved only because the Warlock family releases in lockstep.
194
-
195
117
  ## 4.16.0 - 2026-08-18
196
118
 
197
119
  ### Security