@pidgeon-ai/sdk 1.12.0 → 1.13.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
@@ -9,6 +9,16 @@ call shapes, the result shape — not to the API behind it.
9
9
 
10
10
  ## Unreleased
11
11
 
12
+ ## 1.13.0 — what the agent reads
13
+
14
+ `firewall.clean_text` on every inbound message: the new text with hidden
15
+ content and invisible characters removed, and lines posing as a chat turn
16
+ marked, under a one-line note saying what changed. `body=clean` on
17
+ `GET /messages/{id}` and `GET /messages/await` returns it as `text` and
18
+ `reply_text`, with `html` and `reply_html` empty. The default is still
19
+ `original`. The MCP server and the AI SDK ask for `clean` unless told
20
+ otherwise.
21
+
12
22
  ## 1.12.0 — Pidgeon Firewall
13
23
 
14
24
  Every inbound `Message` carries `firewall`: a `verdict` (`clean` or
package/dist/index.d.cts CHANGED
@@ -547,6 +547,10 @@ type Message = {
547
547
  detail: string;
548
548
  where: 'subject' | 'text' | 'html' | 'from' | 'quoted';
549
549
  }>;
550
+ /**
551
+ * What an agent should read: the new text with hidden content and invisible characters removed and lines posing as a chat turn marked, under a one-line note saying what changed. The new text unchanged when nothing needed it. Ask for `body=clean` to get it in place of the body.
552
+ */
553
+ clean_text: string;
550
554
  /**
551
555
  * Bumped when the rules change in a way that could change a verdict.
552
556
  */
@@ -724,6 +728,10 @@ type AwaitedMessage = {
724
728
  detail: string;
725
729
  where: 'subject' | 'text' | 'html' | 'from' | 'quoted';
726
730
  }>;
731
+ /**
732
+ * What an agent should read: the new text with hidden content and invisible characters removed and lines posing as a chat turn marked, under a one-line note saying what changed. The new text unchanged when nothing needed it. Ask for `body=clean` to get it in place of the body.
733
+ */
734
+ clean_text: string;
727
735
  /**
728
736
  * Bumped when the rules change in a way that could change a verdict.
729
737
  */
@@ -2926,6 +2934,7 @@ type MessagesAwaitData = {
2926
2934
  path?: never;
2927
2935
  query: {
2928
2936
  identity_id: string;
2937
+ body?: 'original' | 'clean';
2929
2938
  from?: string;
2930
2939
  subject_contains?: string;
2931
2940
  has_code?: 'true' | 'false';
@@ -2963,7 +2972,9 @@ type MessagesGetData = {
2963
2972
  path: {
2964
2973
  id: string;
2965
2974
  };
2966
- query?: never;
2975
+ query?: {
2976
+ body?: 'original' | 'clean';
2977
+ };
2967
2978
  url: '/messages/{id}';
2968
2979
  };
2969
2980
  type MessagesGetErrors = {
package/dist/index.d.ts CHANGED
@@ -547,6 +547,10 @@ type Message = {
547
547
  detail: string;
548
548
  where: 'subject' | 'text' | 'html' | 'from' | 'quoted';
549
549
  }>;
550
+ /**
551
+ * What an agent should read: the new text with hidden content and invisible characters removed and lines posing as a chat turn marked, under a one-line note saying what changed. The new text unchanged when nothing needed it. Ask for `body=clean` to get it in place of the body.
552
+ */
553
+ clean_text: string;
550
554
  /**
551
555
  * Bumped when the rules change in a way that could change a verdict.
552
556
  */
@@ -724,6 +728,10 @@ type AwaitedMessage = {
724
728
  detail: string;
725
729
  where: 'subject' | 'text' | 'html' | 'from' | 'quoted';
726
730
  }>;
731
+ /**
732
+ * What an agent should read: the new text with hidden content and invisible characters removed and lines posing as a chat turn marked, under a one-line note saying what changed. The new text unchanged when nothing needed it. Ask for `body=clean` to get it in place of the body.
733
+ */
734
+ clean_text: string;
727
735
  /**
728
736
  * Bumped when the rules change in a way that could change a verdict.
729
737
  */
@@ -2926,6 +2934,7 @@ type MessagesAwaitData = {
2926
2934
  path?: never;
2927
2935
  query: {
2928
2936
  identity_id: string;
2937
+ body?: 'original' | 'clean';
2929
2938
  from?: string;
2930
2939
  subject_contains?: string;
2931
2940
  has_code?: 'true' | 'false';
@@ -2963,7 +2972,9 @@ type MessagesGetData = {
2963
2972
  path: {
2964
2973
  id: string;
2965
2974
  };
2966
- query?: never;
2975
+ query?: {
2976
+ body?: 'original' | 'clean';
2977
+ };
2967
2978
  url: '/messages/{id}';
2968
2979
  };
2969
2980
  type MessagesGetErrors = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pidgeon-ai/sdk",
3
- "version": "1.12.0",
3
+ "version": "1.13.0",
4
4
  "description": "Thin TypeScript client for the Pidgeon email API.",
5
5
  "keywords": [
6
6
  "pidgeon",