@vibes.diy/call-ai-v2 12.2.9 → 12.2.10

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibes.diy/call-ai-v2",
3
- "version": "12.2.9",
3
+ "version": "12.2.10",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -15,7 +15,7 @@
15
15
  "license": "Apache-2.0",
16
16
  "dependencies": {
17
17
  "@adviser/cement": "~0.5.34",
18
- "@vibes.diy/identity": "^12.2.9",
18
+ "@vibes.diy/identity": "^12.2.10",
19
19
  "arktype": "~2.2.3",
20
20
  "cmd-ts": "~0.15.0",
21
21
  "mime": "~4.1.0",
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,74 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { type } from "arktype";
3
+ import { CacheControl, LLMRequest } from "./prompt-type.js";
4
+ function strip(req) {
5
+ const out = type(LLMRequest).onDeepUndeclaredKey("delete")(req);
6
+ if (out instanceof type.errors) {
7
+ throw new Error(`Invalid LLMRequest: ${out.summary}`);
8
+ }
9
+ return out;
10
+ }
11
+ describe("cache_control survives the undeclared-key strip", () => {
12
+ it("keeps cache_control on a text content part", () => {
13
+ const req = {
14
+ model: "anthropic/claude-sonnet-4.6",
15
+ messages: [
16
+ {
17
+ role: "system",
18
+ content: [{ type: "text", text: "long stable prefix", cache_control: { type: "ephemeral" } }],
19
+ },
20
+ ],
21
+ };
22
+ const body = JSON.parse(JSON.stringify(strip(req)));
23
+ expect(body.messages[0].content[0].cache_control).toEqual({ type: "ephemeral" });
24
+ });
25
+ it("keeps cache_control with an explicit ttl", () => {
26
+ const req = {
27
+ messages: [
28
+ {
29
+ role: "user",
30
+ content: [{ type: "text", text: "hi", cache_control: { type: "ephemeral", ttl: "1h" } }],
31
+ },
32
+ ],
33
+ };
34
+ const body = JSON.parse(JSON.stringify(strip(req)));
35
+ expect(body.messages[0].content[0].cache_control).toEqual({ type: "ephemeral", ttl: "1h" });
36
+ });
37
+ it("keeps cache_control on an image content part", () => {
38
+ const req = {
39
+ messages: [
40
+ {
41
+ role: "user",
42
+ content: [
43
+ {
44
+ type: "image_url",
45
+ image_url: { url: "https://example.com/a.png" },
46
+ cache_control: { type: "ephemeral" },
47
+ },
48
+ ],
49
+ },
50
+ ],
51
+ };
52
+ const body = JSON.parse(JSON.stringify(strip(req)));
53
+ expect(body.messages[0].content[0].cache_control).toEqual({ type: "ephemeral" });
54
+ });
55
+ it("still strips an undeclared junk key from the same content part", () => {
56
+ const req = {
57
+ messages: [
58
+ {
59
+ role: "user",
60
+ content: [{ type: "text", text: "hi", cache_control: { type: "ephemeral" }, junk: "nope" }],
61
+ },
62
+ ],
63
+ };
64
+ const body = JSON.parse(JSON.stringify(strip(req)));
65
+ expect(body.messages[0].content[0].junk).toBeUndefined();
66
+ expect(body.messages[0].content[0].cache_control).toEqual({ type: "ephemeral" });
67
+ });
68
+ it("CacheControl rejects a non-ephemeral type and an unknown ttl", () => {
69
+ expect(CacheControl({ type: "persistent" })).toBeInstanceOf(type.errors);
70
+ expect(CacheControl({ type: "ephemeral", ttl: "7d" })).toBeInstanceOf(type.errors);
71
+ expect(CacheControl({ type: "ephemeral", ttl: "5m" })).not.toBeInstanceOf(type.errors);
72
+ });
73
+ });
74
+ //# sourceMappingURL=prompt-type-cache-control.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-type-cache-control.test.js","sourceRoot":"","sources":["../jsr/prompt-type-cache-control.test.ts"],"names":[],"mappings":"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"}
package/prompt-type.d.ts CHANGED
@@ -40,9 +40,18 @@ export declare const ToolChoice: import("arktype").BaseType<"auto" | "none" | "r
40
40
  };
41
41
  }, {}>;
42
42
  export type ToolChoice = typeof ToolChoice.infer;
43
+ export declare const CacheControl: import("arktype/internal/variants/object.ts").ObjectType<{
44
+ type: "ephemeral";
45
+ ttl?: "1h" | "5m" | undefined;
46
+ }, {}>;
47
+ export type CacheControl = typeof CacheControl.infer;
43
48
  export declare const TextContent: import("arktype/internal/variants/object.ts").ObjectType<{
44
49
  type: "text";
45
50
  text: string;
51
+ cache_control?: {
52
+ type: "ephemeral";
53
+ ttl?: "1h" | "5m" | undefined;
54
+ } | undefined;
46
55
  }, {}>;
47
56
  export type TextContent = typeof TextContent.infer;
48
57
  export declare const ImageUrlContent: import("arktype/internal/variants/object.ts").ObjectType<{
@@ -50,6 +59,10 @@ export declare const ImageUrlContent: import("arktype/internal/variants/object.t
50
59
  image_url: {
51
60
  url: string;
52
61
  };
62
+ cache_control?: {
63
+ type: "ephemeral";
64
+ ttl?: "1h" | "5m" | undefined;
65
+ } | undefined;
53
66
  }, {}>;
54
67
  export type ImageUrlContent = typeof ImageUrlContent.infer;
55
68
  export declare const VibesFileContent: import("arktype/internal/variants/object.ts").ObjectType<{
@@ -65,11 +78,19 @@ export type VibesFileContent = typeof VibesFileContent.infer;
65
78
  export declare const MessageContent: import("arktype/internal/variants/object.ts").ObjectType<{
66
79
  type: "text";
67
80
  text: string;
81
+ cache_control?: {
82
+ type: "ephemeral";
83
+ ttl?: "1h" | "5m" | undefined;
84
+ } | undefined;
68
85
  } | {
69
86
  type: "image_url";
70
87
  image_url: {
71
88
  url: string;
72
89
  };
90
+ cache_control?: {
91
+ type: "ephemeral";
92
+ ttl?: "1h" | "5m" | undefined;
93
+ } | undefined;
73
94
  } | {
74
95
  type: "vibes_file";
75
96
  uploadId: string;
@@ -85,11 +106,19 @@ export declare const ChatMessage: import("arktype/internal/variants/object.ts").
85
106
  content: ({
86
107
  type: "text";
87
108
  text: string;
109
+ cache_control?: {
110
+ type: "ephemeral";
111
+ ttl?: "1h" | "5m" | undefined;
112
+ } | undefined;
88
113
  } | {
89
114
  type: "image_url";
90
115
  image_url: {
91
116
  url: string;
92
117
  };
118
+ cache_control?: {
119
+ type: "ephemeral";
120
+ ttl?: "1h" | "5m" | undefined;
121
+ } | undefined;
93
122
  } | {
94
123
  type: "vibes_file";
95
124
  uploadId: string;
@@ -125,11 +154,19 @@ export declare const LLMMessage: import("arktype/internal/variants/object.ts").O
125
154
  content: ({
126
155
  type: "text";
127
156
  text: string;
157
+ cache_control?: {
158
+ type: "ephemeral";
159
+ ttl?: "1h" | "5m" | undefined;
160
+ } | undefined;
128
161
  } | {
129
162
  type: "image_url";
130
163
  image_url: {
131
164
  url: string;
132
165
  };
166
+ cache_control?: {
167
+ type: "ephemeral";
168
+ ttl?: "1h" | "5m" | undefined;
169
+ } | undefined;
133
170
  } | {
134
171
  type: "vibes_file";
135
172
  uploadId: string;
@@ -163,11 +200,19 @@ export declare const LLMRequest: import("arktype/internal/variants/object.ts").O
163
200
  content: ({
164
201
  type: "text";
165
202
  text: string;
203
+ cache_control?: {
204
+ type: "ephemeral";
205
+ ttl?: "1h" | "5m" | undefined;
206
+ } | undefined;
166
207
  } | {
167
208
  type: "image_url";
168
209
  image_url: {
169
210
  url: string;
170
211
  };
212
+ cache_control?: {
213
+ type: "ephemeral";
214
+ ttl?: "1h" | "5m" | undefined;
215
+ } | undefined;
171
216
  } | {
172
217
  type: "vibes_file";
173
218
  uploadId: string;
package/prompt-type.js CHANGED
@@ -30,15 +30,21 @@ export const ToolChoice = type("'none' | 'auto' | 'required'").or(type({
30
30
  type: "'function'",
31
31
  function: { name: "string" },
32
32
  }));
33
+ export const CacheControl = type({
34
+ type: "'ephemeral'",
35
+ "ttl?": "'5m' | '1h'",
36
+ });
33
37
  export const TextContent = type({
34
38
  type: "'text'",
35
39
  text: "string",
40
+ "cache_control?": CacheControl,
36
41
  });
37
42
  export const ImageUrlContent = type({
38
43
  type: "'image_url'",
39
44
  image_url: type({
40
45
  url: "string",
41
46
  }),
47
+ "cache_control?": CacheControl,
42
48
  });
43
49
  export const VibesFileContent = type({
44
50
  type: "'vibes_file'",
@@ -1 +1 @@
1
- {"version":3,"file":"prompt-type.js","sourceRoot":"","sources":["../jsr/prompt-type.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt-type.js","sourceRoot":"","sources":["../jsr/prompt-type.ts"],"names":[],"mappings":"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"}