@fastpaca/cria 1.0.1 → 1.1.3

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 (108) hide show
  1. package/README.md +54 -44
  2. package/dist/ai-sdk/index.d.ts +29 -4
  3. package/dist/ai-sdk/index.d.ts.map +1 -1
  4. package/dist/ai-sdk/index.js +97 -25
  5. package/dist/ai-sdk/index.js.map +1 -1
  6. package/dist/anthropic/index.d.ts +31 -3
  7. package/dist/anthropic/index.d.ts.map +1 -1
  8. package/dist/anthropic/index.js +44 -1
  9. package/dist/anthropic/index.js.map +1 -1
  10. package/dist/components/index.d.ts +8 -9
  11. package/dist/components/index.d.ts.map +1 -1
  12. package/dist/components/index.js +7 -10
  13. package/dist/components/index.js.map +1 -1
  14. package/dist/components/summary.d.ts +2 -3
  15. package/dist/components/summary.d.ts.map +1 -1
  16. package/dist/components/summary.js +2 -2
  17. package/dist/components/summary.js.map +1 -1
  18. package/dist/components/vector-search.js +2 -2
  19. package/dist/components/vector-search.js.map +1 -1
  20. package/dist/dsl.d.ts +201 -0
  21. package/dist/dsl.d.ts.map +1 -0
  22. package/dist/dsl.js +320 -0
  23. package/dist/dsl.js.map +1 -0
  24. package/dist/index.d.ts +10 -16
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +11 -16
  27. package/dist/index.js.map +1 -1
  28. package/dist/jsx/index.d.ts +6 -0
  29. package/dist/jsx/index.d.ts.map +1 -0
  30. package/dist/jsx/index.js +7 -0
  31. package/dist/jsx/index.js.map +1 -0
  32. package/dist/jsx/jsx-dev-runtime.d.ts.map +1 -0
  33. package/dist/jsx/jsx-dev-runtime.js +3 -0
  34. package/dist/jsx/jsx-dev-runtime.js.map +1 -0
  35. package/dist/{jsx-runtime.d.ts → jsx/jsx-runtime.d.ts} +1 -1
  36. package/dist/jsx/jsx-runtime.d.ts.map +1 -0
  37. package/dist/{jsx-runtime.js → jsx/jsx-runtime.js} +2 -5
  38. package/dist/jsx/jsx-runtime.js.map +1 -0
  39. package/dist/memory/postgres.d.ts.map +1 -1
  40. package/dist/memory/postgres.js +16 -1
  41. package/dist/memory/postgres.js.map +1 -1
  42. package/dist/memory/redis.d.ts.map +1 -1
  43. package/dist/memory/redis.js +30 -3
  44. package/dist/memory/redis.js.map +1 -1
  45. package/dist/openai/index.d.ts +30 -3
  46. package/dist/openai/index.d.ts.map +1 -1
  47. package/dist/openai/index.js +47 -1
  48. package/dist/openai/index.js.map +1 -1
  49. package/dist/render.js +16 -4
  50. package/dist/render.js.map +1 -1
  51. package/dist/snapshot.d.ts.map +1 -1
  52. package/dist/snapshot.js +9 -5
  53. package/dist/snapshot.js.map +1 -1
  54. package/dist/types.d.ts +10 -2
  55. package/dist/types.d.ts.map +1 -1
  56. package/dist/types.js +7 -2
  57. package/dist/types.js.map +1 -1
  58. package/package.json +27 -6
  59. package/dist/ai-sdk/index.test.d.ts +0 -2
  60. package/dist/ai-sdk/index.test.d.ts.map +0 -1
  61. package/dist/ai-sdk/index.test.js +0 -101
  62. package/dist/ai-sdk/index.test.js.map +0 -1
  63. package/dist/anthropic/index.test.d.ts +0 -2
  64. package/dist/anthropic/index.test.d.ts.map +0 -1
  65. package/dist/anthropic/index.test.js +0 -115
  66. package/dist/anthropic/index.test.js.map +0 -1
  67. package/dist/components/additional.test.d.ts +0 -2
  68. package/dist/components/additional.test.d.ts.map +0 -1
  69. package/dist/components/additional.test.js +0 -31
  70. package/dist/components/additional.test.js.map +0 -1
  71. package/dist/components/summary.test.d.ts +0 -2
  72. package/dist/components/summary.test.d.ts.map +0 -1
  73. package/dist/components/summary.test.js +0 -101
  74. package/dist/components/summary.test.js.map +0 -1
  75. package/dist/components/vector-search.test.d.ts +0 -2
  76. package/dist/components/vector-search.test.d.ts.map +0 -1
  77. package/dist/components/vector-search.test.js +0 -113
  78. package/dist/components/vector-search.test.js.map +0 -1
  79. package/dist/instrumentation/otel.test.d.ts +0 -2
  80. package/dist/instrumentation/otel.test.d.ts.map +0 -1
  81. package/dist/instrumentation/otel.test.js +0 -116
  82. package/dist/instrumentation/otel.test.js.map +0 -1
  83. package/dist/jsx-dev-runtime.d.ts.map +0 -1
  84. package/dist/jsx-dev-runtime.js +0 -2
  85. package/dist/jsx-dev-runtime.js.map +0 -1
  86. package/dist/jsx-runtime.d.ts.map +0 -1
  87. package/dist/jsx-runtime.js.map +0 -1
  88. package/dist/openai/index.test.d.ts +0 -2
  89. package/dist/openai/index.test.d.ts.map +0 -1
  90. package/dist/openai/index.test.js +0 -204
  91. package/dist/openai/index.test.js.map +0 -1
  92. package/dist/providers/index.d.ts +0 -2
  93. package/dist/providers/index.d.ts.map +0 -1
  94. package/dist/providers/index.js +0 -2
  95. package/dist/providers/index.js.map +0 -1
  96. package/dist/providers/types.d.ts +0 -2
  97. package/dist/providers/types.d.ts.map +0 -1
  98. package/dist/providers/types.js +0 -2
  99. package/dist/providers/types.js.map +0 -1
  100. package/dist/render.test.d.ts +0 -2
  101. package/dist/render.test.d.ts.map +0 -1
  102. package/dist/render.test.js +0 -167
  103. package/dist/render.test.js.map +0 -1
  104. package/dist/snapshot.test.d.ts +0 -2
  105. package/dist/snapshot.test.d.ts.map +0 -1
  106. package/dist/snapshot.test.js +0 -68
  107. package/dist/snapshot.test.js.map +0 -1
  108. /package/dist/{jsx-dev-runtime.d.ts → jsx/jsx-dev-runtime.d.ts} +0 -0
@@ -1,115 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "@fastpaca/cria/jsx-runtime";
2
- import { expect, test } from "vitest";
3
- import { Message, Reasoning, Region, ToolCall, ToolResult, } from "../components";
4
- import { render } from "../render";
5
- import { anthropic } from "./index";
6
- const tokenizer = (text) => Math.ceil(text.length / 4);
7
- test("anthropic: extracts system message separately", async () => {
8
- const prompt = (_jsxs(Region, { priority: 0, children: [_jsx(Message, { messageRole: "system", children: "You are a helpful assistant." }), _jsx(Message, { messageRole: "user", children: "Hello!" })] }));
9
- const result = await render(prompt, {
10
- tokenizer,
11
- budget: 10_000,
12
- renderer: anthropic,
13
- });
14
- expect(result.system).toBe("You are a helpful assistant.");
15
- expect(result.messages).toHaveLength(1);
16
- expect(result.messages[0]).toMatchObject({
17
- role: "user",
18
- content: [{ type: "text", text: "Hello!" }],
19
- });
20
- });
21
- test("anthropic: renders user and assistant messages", async () => {
22
- const prompt = (_jsxs(Region, { priority: 0, children: [_jsx(Message, { messageRole: "user", children: "Hello!" }), _jsx(Message, { messageRole: "assistant", children: "Hi there!" })] }));
23
- const result = await render(prompt, {
24
- tokenizer,
25
- budget: 10_000,
26
- renderer: anthropic,
27
- });
28
- expect(result.system).toBeUndefined();
29
- expect(result.messages).toHaveLength(2);
30
- expect(result.messages[0]).toMatchObject({
31
- role: "user",
32
- content: [{ type: "text", text: "Hello!" }],
33
- });
34
- expect(result.messages[1]).toMatchObject({
35
- role: "assistant",
36
- content: [{ type: "text", text: "Hi there!" }],
37
- });
38
- });
39
- test("anthropic: renders tool calls as tool_use blocks", async () => {
40
- const prompt = (_jsx(Region, { priority: 0, children: _jsx(Message, { messageRole: "assistant", children: _jsx(ToolCall, { input: { city: "Paris" }, priority: 1, toolCallId: "call_123", toolName: "getWeather" }) }) }));
41
- const result = await render(prompt, {
42
- tokenizer,
43
- budget: 10_000,
44
- renderer: anthropic,
45
- });
46
- expect(result.messages).toHaveLength(1);
47
- expect(result.messages[0]).toMatchObject({
48
- role: "assistant",
49
- content: [
50
- {
51
- type: "tool_use",
52
- id: "call_123",
53
- name: "getWeather",
54
- input: { city: "Paris" },
55
- },
56
- ],
57
- });
58
- });
59
- test("anthropic: renders tool results in user messages", async () => {
60
- const prompt = (_jsx(Region, { priority: 0, children: _jsxs(Message, { messageRole: "assistant", children: [_jsx(ToolCall, { input: { city: "Paris" }, priority: 1, toolCallId: "call_123", toolName: "getWeather" }), _jsx(ToolResult, { output: { temperature: 20 }, priority: 1, toolCallId: "call_123", toolName: "getWeather" })] }) }));
61
- const result = await render(prompt, {
62
- tokenizer,
63
- budget: 10_000,
64
- renderer: anthropic,
65
- });
66
- // Tool result should be moved to a separate user message
67
- expect(result.messages).toHaveLength(2);
68
- expect(result.messages[0]?.role).toBe("assistant");
69
- expect(result.messages[1]?.role).toBe("user");
70
- expect(result.messages[1]).toMatchObject({
71
- role: "user",
72
- content: [
73
- {
74
- type: "tool_result",
75
- tool_use_id: "call_123",
76
- content: '{"temperature":20}',
77
- },
78
- ],
79
- });
80
- });
81
- test("anthropic: full conversation with tool use", async () => {
82
- const prompt = (_jsxs(Region, { priority: 0, children: [_jsx(Message, { messageRole: "system", children: "You are a weather assistant." }), _jsx(Message, { messageRole: "user", children: "What's the weather in Paris?" }), _jsxs(Message, { messageRole: "assistant", children: ["Let me check.", _jsx(ToolCall, { input: { city: "Paris" }, priority: 1, toolCallId: "call_1", toolName: "getWeather" })] }), _jsx(Message, { messageRole: "user", children: _jsx(ToolResult, { output: { temp: 18 }, priority: 1, toolCallId: "call_1", toolName: "getWeather" }) }), _jsx(Message, { messageRole: "assistant", children: "The temperature in Paris is 18\u00B0C." })] }));
83
- const result = await render(prompt, {
84
- tokenizer,
85
- budget: 10_000,
86
- renderer: anthropic,
87
- });
88
- expect(result.system).toBe("You are a weather assistant.");
89
- expect(result.messages).toHaveLength(4);
90
- expect(result.messages[0]?.role).toBe("user");
91
- expect(result.messages[1]?.role).toBe("assistant");
92
- expect(result.messages[2]?.role).toBe("user");
93
- expect(result.messages[3]?.role).toBe("assistant");
94
- });
95
- test("anthropic: includes reasoning as text with thinking tags", async () => {
96
- const prompt = (_jsx(Region, { priority: 0, children: _jsxs(Message, { messageRole: "assistant", children: [_jsx(Reasoning, { priority: 1, text: "Let me think about this..." }), "The answer is 4."] }) }));
97
- const result = await render(prompt, {
98
- tokenizer,
99
- budget: 10_000,
100
- renderer: anthropic,
101
- });
102
- expect(result.messages).toHaveLength(1);
103
- const content = result.messages[0]?.content;
104
- expect(Array.isArray(content)).toBe(true);
105
- if (Array.isArray(content)) {
106
- const textBlock = content.find((c) => c.type === "text");
107
- expect(textBlock).toBeDefined();
108
- if (textBlock && "text" in textBlock) {
109
- expect(textBlock.text).toContain("<thinking>");
110
- expect(textBlock.text).toContain("Let me think about this...");
111
- expect(textBlock.text).toContain("The answer is 4.");
112
- }
113
- }
114
- });
115
- //# sourceMappingURL=index.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../src/anthropic/index.test.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=additional.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"additional.test.d.ts","sourceRoot":"","sources":["../../src/components/additional.test.tsx"],"names":[],"mappings":""}
@@ -1,31 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "@fastpaca/cria/jsx-runtime";
2
- import { describe, expect, test } from "vitest";
3
- import { render } from "../render";
4
- import { CodeBlock, Examples, Region, Separator } from "./index";
5
- const tokenizer = (text) => text.length;
6
- describe("Separator", () => {
7
- test("inserts separators between children", async () => {
8
- const element = (_jsxs(Separator, { priority: 0, value: " | ", children: [_jsx(Region, { priority: 0, children: "A" }), _jsx(Region, { priority: 0, children: "B" }), _jsx(Region, { priority: 0, children: "C" })] }));
9
- const result = await render(element, { tokenizer, budget: 100 });
10
- expect(result).toBe("A | B | C");
11
- });
12
- });
13
- describe("Examples", () => {
14
- test("prefixes title and separates examples", async () => {
15
- const element = (_jsxs(Examples, { priority: 1, separator: "\\n---\\n", title: "Examples:", children: [_jsx(Region, { priority: 0, children: "One" }), _jsx(Region, { priority: 0, children: "Two" })] }));
16
- const result = await render(element, { tokenizer, budget: 100 });
17
- expect(result).toContain("Examples:\n");
18
- expect(result).toContain("One");
19
- expect(result).toContain("Two");
20
- expect(result).toContain("---");
21
- });
22
- });
23
- describe("CodeBlock", () => {
24
- test("renders fenced code", async () => {
25
- const element = _jsx(CodeBlock, { code: "console.log('hi');", language: "js" });
26
- const result = await render(element, { tokenizer, budget: 100 });
27
- expect(result).toContain("```js");
28
- expect(result).toContain("console.log('hi');");
29
- });
30
- });
31
- //# sourceMappingURL=additional.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"additional.test.js","sourceRoot":"","sources":["../../src/components/additional.test.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEjE,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;AAExD,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,IAAI,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,OAAO,GAAG,CACd,MAAC,SAAS,IAAC,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAC,KAAK,aACjC,KAAC,MAAM,IAAC,QAAQ,EAAE,CAAC,kBAAY,EAC/B,KAAC,MAAM,IAAC,QAAQ,EAAE,CAAC,kBAAY,EAC/B,KAAC,MAAM,IAAC,QAAQ,EAAE,CAAC,kBAAY,IACrB,CACb,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,IAAI,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,OAAO,GAAG,CACd,MAAC,QAAQ,IAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAC,WAAS,EAAC,KAAK,EAAC,WAAW,aAC1D,KAAC,MAAM,IAAC,QAAQ,EAAE,CAAC,oBAAc,EACjC,KAAC,MAAM,IAAC,QAAQ,EAAE,CAAC,oBAAc,IACxB,CACZ,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,IAAI,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,OAAO,GAAG,KAAC,SAAS,IAAC,IAAI,EAAC,oBAAoB,EAAC,QAAQ,EAAC,IAAI,GAAG,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;QACjE,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAClC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=summary.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"summary.test.d.ts","sourceRoot":"","sources":["../../src/components/summary.test.tsx"],"names":[],"mappings":""}
@@ -1,101 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "@fastpaca/cria/jsx-runtime";
2
- import { expect, test } from "vitest";
3
- import { InMemoryStore, Last, Region, render, Summary, } from "../index";
4
- // Simple tokenizer: 1 token per 4 characters
5
- const tokenizer = (text) => Math.ceil(text.length / 4);
6
- test("Summary: triggers summarization when over budget", async () => {
7
- const store = new InMemoryStore();
8
- let summarizeCalled = false;
9
- const summarize = ({ content }) => {
10
- summarizeCalled = true;
11
- return `Summary of: ${content.slice(0, 20)}...`;
12
- };
13
- const longContent = "A".repeat(200);
14
- const element = (_jsx(Region, { priority: 0, children: _jsx(Summary, { id: "test-1", priority: 1, store: store, summarize: summarize, children: longContent }) }));
15
- // Render with small budget to trigger summarization
16
- // Budget needs to fit the summary output + "[Summary of earlier conversation]\n" prefix
17
- const result = await render(element, { tokenizer, budget: 30 });
18
- expect(summarizeCalled).toBe(true);
19
- expect(result).toContain("Summary of:");
20
- expect(result.length).toBeLessThan(longContent.length);
21
- });
22
- test("Summary: stores summary in store", async () => {
23
- const store = new InMemoryStore();
24
- const summarize = () => "This is the summary";
25
- const element = (_jsx(Region, { priority: 0, children: _jsx(Summary, { id: "test-2", priority: 1, store: store, summarize: summarize, children: "Long content ".repeat(50) }) }));
26
- await render(element, { tokenizer, budget: 20 });
27
- const entry = store.get("test-2");
28
- expect(entry).not.toBeNull();
29
- expect(entry?.data.content).toBe("This is the summary");
30
- expect(entry?.data.tokenCount).toBeGreaterThan(0);
31
- expect(entry?.updatedAt).toBeGreaterThan(0);
32
- });
33
- test("Summary: passes existing summary to summarizer", async () => {
34
- const store = new InMemoryStore();
35
- // Pre-populate store
36
- store.set("test-3", {
37
- content: "Previous summary",
38
- tokenCount: 10,
39
- });
40
- let receivedExisting = null;
41
- const summarize = ({ existingSummary, }) => {
42
- receivedExisting = existingSummary;
43
- return "Updated summary";
44
- };
45
- const element = (_jsx(Region, { priority: 0, children: _jsx(Summary, { id: "test-3", priority: 1, store: store, summarize: summarize, children: "Content ".repeat(100) }) }));
46
- await render(element, { tokenizer, budget: 20 });
47
- expect(receivedExisting).toBe("Previous summary");
48
- });
49
- test("Summary: does not trigger when under budget", async () => {
50
- const store = new InMemoryStore();
51
- let summarizeCalled = false;
52
- const summarize = () => {
53
- summarizeCalled = true;
54
- return "Summary";
55
- };
56
- const element = (_jsx(Region, { priority: 0, children: _jsx(Summary, { id: "test-4", priority: 1, store: store, summarize: summarize, children: "Short" }) }));
57
- // Large budget - no need to summarize
58
- await render(element, { tokenizer, budget: 1000 });
59
- expect(summarizeCalled).toBe(false);
60
- });
61
- test("Last: keeps only last N children", async () => {
62
- const messages = ["First", "Second", "Third", "Fourth", "Fifth"];
63
- const element = (_jsx(Region, { priority: 0, children: _jsx(Last, { N: 2, children: messages }) }));
64
- const result = await render(element, { tokenizer, budget: 1000 });
65
- expect(result).not.toContain("First");
66
- expect(result).not.toContain("Second");
67
- expect(result).not.toContain("Third");
68
- expect(result).toContain("Fourth");
69
- expect(result).toContain("Fifth");
70
- });
71
- test("Last: handles N larger than children count", async () => {
72
- const messages = ["One", "Two"];
73
- const element = (_jsx(Region, { priority: 0, children: _jsx(Last, { N: 10, children: messages }) }));
74
- const result = await render(element, { tokenizer, budget: 1000 });
75
- expect(result).toContain("One");
76
- expect(result).toContain("Two");
77
- });
78
- test("Summary + Last: typical usage pattern", async () => {
79
- const store = new InMemoryStore();
80
- // Summarizer produces a short fixed-length output
81
- const summarize = () => "Discussed greetings";
82
- // Use longer messages so the summary provides real compression
83
- const messages = [
84
- "Message 1: Hello there, how are you doing today?",
85
- "Message 2: I am doing great, thanks for asking!",
86
- "Message 3: That is wonderful to hear from you.",
87
- "Message 4: Recent message here",
88
- "Message 5: Final message",
89
- ];
90
- const element = (_jsxs(Region, { priority: 0, children: [_jsx(Summary, { id: "conv", priority: 2, store: store, summarize: summarize, children: messages.slice(0, -2) }), _jsx(Last, { N: 2, children: messages })] }));
91
- // Full content: ~180 chars = 45 tokens
92
- // Summarized: prefix (34) + summary (19) + last 2 msgs (~50) = ~103 chars = 26 tokens
93
- const result = await render(element, { tokenizer, budget: 30 });
94
- // Should have summary of older messages (wrapped with prefix)
95
- expect(result).toContain("[Summary of earlier conversation]");
96
- expect(result).toContain("Discussed greetings");
97
- // Should have recent messages in full
98
- expect(result).toContain("Message 4: Recent message here");
99
- expect(result).toContain("Message 5: Final message");
100
- });
101
- //# sourceMappingURL=summary.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"summary.test.js","sourceRoot":"","sources":["../../src/components/summary.test.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=vector-search.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vector-search.test.d.ts","sourceRoot":"","sources":["../../src/components/vector-search.test.tsx"],"names":[],"mappings":""}
@@ -1,113 +0,0 @@
1
- import { describe, expect, it } from "vitest";
2
- import { VectorSearch } from "./vector-search";
3
- const mockResults = [
4
- {
5
- key: "doc-1",
6
- score: 0.95,
7
- entry: {
8
- data: { title: "First Document", content: "This is the first document." },
9
- createdAt: 1_700_000_000_000,
10
- updatedAt: 1_700_000_000_000,
11
- },
12
- },
13
- {
14
- key: "doc-2",
15
- score: 0.82,
16
- entry: {
17
- data: {
18
- title: "Second Document",
19
- content: "This is the second document.",
20
- },
21
- createdAt: 1_700_000_001_000,
22
- updatedAt: 1_700_000_001_000,
23
- },
24
- },
25
- ];
26
- function createMockStore(results) {
27
- let lastQuery;
28
- let lastOptions;
29
- const store = {
30
- get: () => null,
31
- set: () => {
32
- /* no-op */
33
- },
34
- delete: () => false,
35
- search: (query, options) => {
36
- lastQuery = query;
37
- lastOptions = options;
38
- return results;
39
- },
40
- };
41
- return {
42
- store,
43
- getLastQuery: () => lastQuery,
44
- getLastOptions: () => lastOptions,
45
- };
46
- }
47
- const PLAIN_TEXT_REGEX = /plain text/;
48
- describe("VectorSearch", () => {
49
- it("uses children as the query and renders results", async () => {
50
- const { store, getLastQuery, getLastOptions } = createMockStore(mockResults);
51
- const element = await VectorSearch({
52
- store,
53
- limit: 2,
54
- children: ["Find docs about RAG"],
55
- });
56
- expect(getLastQuery()).toBe("Find docs about RAG");
57
- expect(getLastOptions()).toEqual({ limit: 2 });
58
- expect(element.children[0]).toContain("First Document");
59
- });
60
- it("derives query from the last user message by default", async () => {
61
- const { store, getLastQuery } = createMockStore(mockResults);
62
- const messages = [
63
- { role: "assistant", content: "Previous answer" },
64
- { role: "user", content: "What is RAG?" },
65
- ];
66
- const element = await VectorSearch({ store, messages });
67
- expect(getLastQuery()).toBe("What is RAG?");
68
- expect(element.children[0]).toContain("First Document");
69
- });
70
- it("uses a custom extractor when provided", async () => {
71
- const { store, getLastQuery } = createMockStore(mockResults);
72
- const messages = [
73
- { role: "user", content: "ignore me" },
74
- { role: "assistant", content: "assistant reply" },
75
- ];
76
- const element = await VectorSearch({
77
- store,
78
- messages,
79
- extractQuery: () => "custom-query",
80
- });
81
- expect(getLastQuery()).toBe("custom-query");
82
- expect(element.children[0]).toContain("First Document");
83
- });
84
- it("throws when no results found", async () => {
85
- const { store } = createMockStore([]);
86
- await expect(VectorSearch({
87
- store,
88
- query: "nothing here",
89
- })).rejects.toThrow("no results found");
90
- });
91
- it("throws when no query is available", async () => {
92
- const { store } = createMockStore([]);
93
- await expect(VectorSearch({ store })).rejects.toThrow("no query provided");
94
- });
95
- it("uses custom formatter", async () => {
96
- const { store } = createMockStore(mockResults);
97
- const element = await VectorSearch({
98
- store,
99
- query: "test",
100
- formatResults: (results) => `Found ${results.length} results`,
101
- });
102
- expect(element.children[0]).toBe("Found 2 results");
103
- });
104
- it("rejects non-text children", async () => {
105
- const { store } = createMockStore(mockResults);
106
- const badChild = { priority: 0, children: [] };
107
- await expect(VectorSearch({
108
- store,
109
- children: [badChild],
110
- })).rejects.toThrow(PLAIN_TEXT_REGEX);
111
- });
112
- });
113
- //# sourceMappingURL=vector-search.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"vector-search.test.js","sourceRoot":"","sources":["../../src/components/vector-search.test.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAQ/C,MAAM,WAAW,GAAuC;IACtD;QACE,GAAG,EAAE,OAAO;QACZ,KAAK,EAAE,IAAI;QACX,KAAK,EAAE;YACL,IAAI,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,6BAA6B,EAAE;YACzE,SAAS,EAAE,iBAAiB;YAC5B,SAAS,EAAE,iBAAiB;SAC7B;KACF;IACD;QACE,GAAG,EAAE,OAAO;QACZ,KAAK,EAAE,IAAI;QACX,KAAK,EAAE;YACL,IAAI,EAAE;gBACJ,KAAK,EAAE,iBAAiB;gBACxB,OAAO,EAAE,8BAA8B;aACxC;YACD,SAAS,EAAE,iBAAiB;YAC5B,SAAS,EAAE,iBAAiB;SAC7B;KACF;CACF,CAAC;AAEF,SAAS,eAAe,CAAI,OAAgC;IAC1D,IAAI,SAA6B,CAAC;IAClC,IAAI,WAA+D,CAAC;IAEpE,MAAM,KAAK,GAAoB;QAC7B,GAAG,EAAE,GAAG,EAAE,CAAC,IAAI;QACf,GAAG,EAAE,GAAG,EAAE;YACR,WAAW;QACb,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,CAAC,KAAK;QACnB,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACzB,SAAS,GAAG,KAAK,CAAC;YAClB,WAAW,GAAG,OAAO,CAAC;YACtB,OAAO,OAAO,CAAC;QACjB,CAAC;KACF,CAAC;IAEF,OAAO;QACL,KAAK;QACL,YAAY,EAAE,GAAG,EAAE,CAAC,SAAS;QAC7B,cAAc,EAAE,GAAG,EAAE,CAAC,WAAW;KAClC,CAAC;AACJ,CAAC;AAED,MAAM,gBAAgB,GAAG,YAAY,CAAC;AAEtC,QAAQ,CAAC,cAAc,EAAE,GAAG,EAAE;IAC5B,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,GAC3C,eAAe,CAAC,WAAW,CAAC,CAAC;QAE/B,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC;YACjC,KAAK;YACL,KAAK,EAAE,CAAC;YACR,QAAQ,EAAE,CAAC,qBAAqB,CAAC;SAClC,CAAC,CAAC;QAEH,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACnD,MAAM,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC/C,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAwB;YACpC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE;YACjD,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE;SAC1C,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAExD,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAwB;YACpC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE;YACtC,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,iBAAiB,EAAE;SAClD,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC;YACjC,KAAK;YACL,QAAQ;YACR,YAAY,EAAE,GAAG,EAAE,CAAC,cAAc;SACnC,CAAC,CAAC;QAEH,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5C,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC5C,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAe,EAAE,CAAC,CAAC;QAEpD,MAAM,MAAM,CACV,YAAY,CAAC;YACX,KAAK;YACL,KAAK,EAAE,cAAc;SACtB,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QACjD,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAe,EAAE,CAAC,CAAC;QAEpD,MAAM,MAAM,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAC7E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QAE/C,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC;YACjC,KAAK;YACL,KAAK,EAAE,MAAM;YACb,aAAa,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,SAAS,OAAO,CAAC,MAAM,UAAU;SAC9D,CAAC,CAAC;QAEH,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,MAAM,EAAE,KAAK,EAAE,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QAC/C,MAAM,QAAQ,GAAG,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAmB,CAAC;QAEhE,MAAM,MAAM,CACV,YAAY,CAAC;YACX,KAAK;YACL,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=otel.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"otel.test.d.ts","sourceRoot":"","sources":["../../src/instrumentation/otel.test.tsx"],"names":[],"mappings":""}
@@ -1,116 +0,0 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "@fastpaca/cria/jsx-runtime";
2
- import { describe, expect, test } from "vitest";
3
- import { Omit, Region, render } from "../index";
4
- import { createOtelRenderHooks } from "./otel";
5
- class StubSpan {
6
- name;
7
- attributes = {};
8
- ended = false;
9
- status = null;
10
- exceptions = [];
11
- constructor(name) {
12
- this.name = name;
13
- }
14
- spanContext() {
15
- return { traceId: "trace", spanId: "span", traceFlags: 1 };
16
- }
17
- setAttribute(key, value) {
18
- this.attributes[key] = value;
19
- return this;
20
- }
21
- setAttributes(attrs) {
22
- Object.assign(this.attributes, attrs);
23
- return this;
24
- }
25
- addEvent() {
26
- return this;
27
- }
28
- addLink() {
29
- return this;
30
- }
31
- addLinks() {
32
- return this;
33
- }
34
- setStatus(status) {
35
- this.status = status;
36
- return this;
37
- }
38
- updateName() {
39
- return this;
40
- }
41
- end() {
42
- this.ended = true;
43
- }
44
- isRecording() {
45
- return true;
46
- }
47
- recordException(exception) {
48
- this.exceptions.push(exception);
49
- return this;
50
- }
51
- }
52
- class StubTracer {
53
- spans = [];
54
- startSpan(name) {
55
- const span = new StubSpan(name);
56
- this.spans.push(span);
57
- return span;
58
- }
59
- startActiveSpan(name, fn) {
60
- const span = this.startSpan(name);
61
- try {
62
- return fn(span);
63
- }
64
- finally {
65
- span.end();
66
- }
67
- }
68
- }
69
- const tokenizer = (text) => text.length;
70
- const FIT_ERROR = /Cannot fit prompt/;
71
- describe("createOtelRenderHooks", () => {
72
- test("emits spans for fit lifecycle", async () => {
73
- const tracer = new StubTracer();
74
- const hooks = createOtelRenderHooks({ tracer });
75
- const element = (_jsxs(Region, { priority: 0, children: ["A", _jsx(Omit, { priority: 1, children: "BBBB" })] }));
76
- await render(element, { tokenizer, budget: 1, hooks });
77
- const names = tracer.spans.map((span) => span.name);
78
- expect(names).toEqual([
79
- "cria.fit",
80
- "cria.fit.iteration",
81
- "cria.fit.strategy",
82
- ]);
83
- const rootSpan = tracer.spans[0];
84
- expect(rootSpan).toBeDefined();
85
- expect(rootSpan?.attributes["cria.budget"]).toBe(1);
86
- expect(typeof rootSpan?.attributes["cria.total_tokens"]).toBe("number");
87
- });
88
- test("records errors on fit failure", async () => {
89
- const tracer = new StubTracer();
90
- const hooks = createOtelRenderHooks({ tracer });
91
- const element = _jsx(Region, { priority: 0, children: "Too long" });
92
- await expect(render(element, {
93
- tokenizer,
94
- budget: 1,
95
- hooks,
96
- })).rejects.toThrow(FIT_ERROR);
97
- const errorSpan = tracer.spans.at(-1);
98
- expect(errorSpan.status?.code).toBeDefined();
99
- expect(errorSpan.exceptions).toHaveLength(1);
100
- });
101
- test("propagates tracer errors", async () => {
102
- const tracer = {
103
- startSpan: () => {
104
- throw new Error("boom");
105
- },
106
- };
107
- const hooks = createOtelRenderHooks({ tracer });
108
- const element = _jsx(Region, { priority: 0, children: "Hello" });
109
- await expect(render(element, {
110
- tokenizer,
111
- budget: 1,
112
- hooks,
113
- })).rejects.toThrow("boom");
114
- });
115
- });
116
- //# sourceMappingURL=otel.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"otel.test.js","sourceRoot":"","sources":["../../src/instrumentation/otel.test.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAE/C,MAAM,QAAQ;IACZ,IAAI,CAAS;IACb,UAAU,GAA4B,EAAE,CAAC;IACzC,KAAK,GAAG,KAAK,CAAC;IACd,MAAM,GAA8C,IAAI,CAAC;IACzD,UAAU,GAAc,EAAE,CAAC;IAE3B,YAAY,IAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,WAAW;QACT,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAC7D,CAAC;IACD,YAAY,CAAC,GAAW,EAAE,KAAc;QACtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IACD,aAAa,CAAC,KAAiB;QAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,QAAQ;QACN,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,OAAO,IAAI,CAAC;IACd,CAAC;IACD,QAAQ;QACN,OAAO,IAAI,CAAC;IACd,CAAC;IACD,SAAS,CAAC,MAAW;QACnB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,UAAU;QACR,OAAO,IAAI,CAAC;IACd,CAAC;IACD,GAAG;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;IACD,WAAW;QACT,OAAO,IAAI,CAAC;IACd,CAAC;IACD,eAAe,CAAC,SAAc;QAC5B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAChC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,MAAM,UAAU;IACd,KAAK,GAAe,EAAE,CAAC;IACvB,SAAS,CAAC,IAAY;QACpB,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,eAAe,CACb,IAAY,EACZ,EAAK;QAEL,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC;YACH,OAAO,EAAE,CAAC,IAAI,CAAkB,CAAC;QACnC,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,GAAG,EAAE,CAAC;QACb,CAAC;IACH,CAAC;CACF;AAED,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;AACxD,MAAM,SAAS,GAAG,mBAAmB,CAAC;AAEtC,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,CACd,MAAC,MAAM,IAAC,QAAQ,EAAE,CAAC,kBAChB,KAAC,IAAI,IAAC,QAAQ,EAAE,CAAC,qBAAa,IACxB,CACV,CAAC;QAEF,MAAM,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAEvD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;YACpB,UAAU;YACV,oBAAoB;YACpB,mBAAmB;SACpB,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,CAAC,OAAO,QAAQ,EAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,KAAC,MAAM,IAAC,QAAQ,EAAE,CAAC,yBAAmB,CAAC;QAEvD,MAAM,MAAM,CACV,MAAM,CAAC,OAAO,EAAE;YACd,SAAS;YACT,MAAM,EAAE,CAAC;YACT,KAAK;SACN,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAE7B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAa,CAAC;QAClD,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,MAAM,GAAG;YACb,SAAS,EAAE,GAAG,EAAE;gBACd,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;SACmB,CAAC;QAEvB,MAAM,KAAK,GAAG,qBAAqB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,KAAC,MAAM,IAAC,QAAQ,EAAE,CAAC,sBAAgB,CAAC;QAEpD,MAAM,MAAM,CACV,MAAM,CAAC,OAAO,EAAE;YACd,SAAS;YACT,MAAM,EAAE,CAAC;YACT,KAAK;SACN,CAAC,CACH,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsx-dev-runtime.d.ts","sourceRoot":"","sources":["../src/jsx-dev-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC"}
@@ -1,2 +0,0 @@
1
- export { Fragment, jsx, jsx as jsxDEV, jsxs } from "./jsx-runtime";
2
- //# sourceMappingURL=jsx-dev-runtime.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsx-dev-runtime.js","sourceRoot":"","sources":["../src/jsx-dev-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAY,GAAG,EAAE,GAAG,IAAI,MAAM,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsx-runtime.d.ts","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAE3E,KAAK,WAAW,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,YAAY,CAAC,aAAa,CAAC,CAAC;AAEjE;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,KAAK,GACb,aAAa,GACb,OAAO,CAAC,aAAa,CAAC,GACtB,MAAM,GACN,MAAM,GACN,OAAO,GACP,IAAI,GACJ,SAAS,GACT,SAAS,KAAK,EAAE,CAAC;AAErB,KAAK,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC;AAoC5D,eAAO,MAAM,QAAQ,eAA8B,CAAC;AAGpD,wBAAsB,GAAG,CACvB,IAAI,EAAE,WAAW,GAAG,OAAO,QAAQ,EACnC,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,aAAa,CAAC,CASxB;AAGD,wBAAsB,IAAI,CACxB,IAAI,EAAE,WAAW,GAAG,OAAO,QAAQ,EACnC,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,aAAa,CAAC,CAExB;AAED,yBAAiB,GAAG,CAAC;IACnB,KAAY,OAAO,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC;IAElD,KAAY,wBAAwB,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS;QACtD,QAAQ,CAAC,EAAE,cAAc,CAAC;KAC3B,GACG,IAAI,CAAC,CAAC,EAAE,UAAU,CAAC,GAAG;QAAE,QAAQ,CAAC,EAAE,KAAK,CAAA;KAAE,GAC1C,CAAC,CAAC;IACN,UAAiB,iBAAiB;QAChC,CAAC,GAAG,EAAE,MAAM,GAAG,KAAK,CAAC;KACtB;IACD,UAAiB,wBAAwB;QACvC,QAAQ,EAAE,OAAO,CAAC;KACnB;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"jsx-runtime.js","sourceRoot":"","sources":["../src/jsx-runtime.ts"],"names":[],"mappings":"AA+BA,gFAAgF;AAChF,KAAK,UAAU,iBAAiB,CAC9B,QAA2B;IAE3B,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QAChD,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,OAAO,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;IACD,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,8CAA8C;IAC9C,OAAO,CAAC,MAAM,QAAQ,CAAC,CAAC;AAC1B,CAAC;AAED,SAAS,eAAe,CAAC,KAAY;IACnC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,wDAAwD;AACxD,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;AAEpD,6CAA6C;AAC7C,MAAM,CAAC,KAAK,UAAU,GAAG,CACvB,IAAmC,EACnC,KAAY;IAEZ,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IAEzD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,8DAA8D;QAC9D,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,MAAM,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;AAC5C,CAAC;AAED,mEAAmE;AACnE,MAAM,CAAC,KAAK,UAAU,IAAI,CACxB,IAAmC,EACnC,KAAY;IAEZ,OAAO,MAAM,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAChC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=index.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../src/openai/index.test.tsx"],"names":[],"mappings":""}