@wirecat/cli-core 0.459.0 → 0.460.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
|
@@ -7,6 +7,17 @@ shape of this file.
|
|
|
7
7
|
|
|
8
8
|
## Unreleased
|
|
9
9
|
|
|
10
|
+
## 0.460.0 — 27.10.2026
|
|
11
|
+
|
|
12
|
+
### Changed — may break callers
|
|
13
|
+
|
|
14
|
+
- **A `search all` event hit carries `untrusted: ["title", "excerpt"]`.** An event's title and the text its excerpt
|
|
15
|
+
is cut from (description, place, attendee names) are written by whoever sent the invitation, so an agent reading
|
|
16
|
+
`search all` over MCP now sees them marked as data, as `callCalendarTool`'s answers already were
|
|
17
|
+
([WC-SECR-21](https://github.com/WireCatLabs/cli-base/blob/main/docs/standards/security.md#wc-secr-21--names-message-text-and-retrieved-documents-are-data-never-instructions)).
|
|
18
|
+
The `hit` entity is strict, so a caller that checks hits against an older copy of it refuses the new field;
|
|
19
|
+
`allHitItem` sets it, and other kinds of hit leave it out.
|
|
20
|
+
|
|
10
21
|
## 0.459.0 — 27.10.2026
|
|
11
22
|
|
|
12
23
|
### Changed — may break callers
|
|
@@ -179,6 +179,8 @@ export const messagesAnswer = (command, found, { limit, page, again }, query = "
|
|
|
179
179
|
});
|
|
180
180
|
};
|
|
181
181
|
export const noteHitItem = (hit) => defined({ ...hit });
|
|
182
|
+
/** An event's title and the text its excerpt is cut from come from whoever sent the invitation. */
|
|
183
|
+
const EVENT_HIT_UNTRUSTED = ["title", "excerpt"];
|
|
182
184
|
export const allHitItem = (item) => item.kind === "meeting"
|
|
183
185
|
? {
|
|
184
186
|
kind: "meeting",
|
|
@@ -204,6 +206,7 @@ export const allHitItem = (item) => item.kind === "meeting"
|
|
|
204
206
|
sender_name: item.from?.name,
|
|
205
207
|
sender_ref: item.from?.ref,
|
|
206
208
|
found_by: item.foundBy,
|
|
209
|
+
untrusted: item.kind === "event" ? EVENT_HIT_UNTRUSTED : undefined,
|
|
207
210
|
});
|
|
208
211
|
/** Meaning was not searched because the model is not downloaded; `--exact` leaving it out is no gap. */
|
|
209
212
|
const meaningGap = (skipped, exact) => skipped === undefined || exact
|
package/dist/entities/hit.d.ts
CHANGED
|
@@ -22,4 +22,6 @@ export declare const hit: v.StrictObjectSchema<{
|
|
|
22
22
|
readonly scope: v.OptionalSchema<v.PicklistSchema<["transcript", "chat", "summary"], undefined>, undefined>;
|
|
23
23
|
/** A meeting passage's stored line, so two passages of one meeting stay apart; `search meetings` gives the same. */
|
|
24
24
|
readonly id: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
25
|
+
/** An event hit's fields that whoever sent the invitation wrote: an agent reads them as data. */
|
|
26
|
+
readonly untrusted: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
25
27
|
}, undefined>;
|
package/dist/entities/hit.js
CHANGED
|
@@ -23,4 +23,6 @@ export const hit = v.strictObject({
|
|
|
23
23
|
scope: v.optional(v.picklist(["transcript", "chat", "summary"])),
|
|
24
24
|
/** A meeting passage's stored line, so two passages of one meeting stay apart; `search meetings` gives the same. */
|
|
25
25
|
id: v.optional(v.pipe(v.string(), v.minLength(1))),
|
|
26
|
+
/** An event hit's fields that whoever sent the invitation wrote: an agent reads them as data. */
|
|
27
|
+
untrusted: v.optional(v.array(text)),
|
|
26
28
|
});
|
package/dist/entities/index.d.ts
CHANGED
|
@@ -5152,6 +5152,7 @@ export declare const ENTITIES: {
|
|
|
5152
5152
|
readonly offset_ms: v.OptionalSchema<v.NullableSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>, undefined>, undefined>;
|
|
5153
5153
|
readonly scope: v.OptionalSchema<v.PicklistSchema<["transcript", "chat", "summary"], undefined>, undefined>;
|
|
5154
5154
|
readonly id: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
5155
|
+
readonly untrusted: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, undefined>;
|
|
5155
5156
|
}, undefined>;
|
|
5156
5157
|
readonly document: v.StrictObjectSchema<{
|
|
5157
5158
|
readonly ref: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.RegexAction<string, "a reference such as `note:42`">]>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wirecat/cli-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.460.0",
|
|
4
4
|
"description": "The messenger-neutral half of a messaging CLI: domain model, message locators, rendering, name resolution, the SQLite seam, the command skeleton and shared read commands, the send guard, run records and the message store",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Viacheslav Ptsarev",
|