@intelligo-dev/chat 1.0.0-beta.13

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 (94) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +6 -0
  3. package/README.md +116 -0
  4. package/dist/artifact-writer.d.ts +45 -0
  5. package/dist/artifact-writer.d.ts.map +1 -0
  6. package/dist/artifact-writer.js +77 -0
  7. package/dist/artifact-writer.js.map +1 -0
  8. package/dist/attachments.d.ts +56 -0
  9. package/dist/attachments.d.ts.map +1 -0
  10. package/dist/attachments.js +204 -0
  11. package/dist/attachments.js.map +1 -0
  12. package/dist/body.d.ts +72 -0
  13. package/dist/body.d.ts.map +1 -0
  14. package/dist/body.js +174 -0
  15. package/dist/body.js.map +1 -0
  16. package/dist/client.d.ts +65 -0
  17. package/dist/client.d.ts.map +1 -0
  18. package/dist/client.js +61 -0
  19. package/dist/client.js.map +1 -0
  20. package/dist/config.d.ts +322 -0
  21. package/dist/config.d.ts.map +1 -0
  22. package/dist/config.js +11 -0
  23. package/dist/config.js.map +1 -0
  24. package/dist/errors.d.ts +23 -0
  25. package/dist/errors.d.ts.map +1 -0
  26. package/dist/errors.js +41 -0
  27. package/dist/errors.js.map +1 -0
  28. package/dist/feedback.d.ts +22 -0
  29. package/dist/feedback.d.ts.map +1 -0
  30. package/dist/feedback.js +46 -0
  31. package/dist/feedback.js.map +1 -0
  32. package/dist/generation.d.ts +104 -0
  33. package/dist/generation.d.ts.map +1 -0
  34. package/dist/generation.js +85 -0
  35. package/dist/generation.js.map +1 -0
  36. package/dist/handler.d.ts +30 -0
  37. package/dist/handler.d.ts.map +1 -0
  38. package/dist/handler.js +913 -0
  39. package/dist/handler.js.map +1 -0
  40. package/dist/index.d.ts +31 -0
  41. package/dist/index.d.ts.map +1 -0
  42. package/dist/index.js +20 -0
  43. package/dist/index.js.map +1 -0
  44. package/dist/messages.d.ts +19 -0
  45. package/dist/messages.d.ts.map +1 -0
  46. package/dist/messages.js +34 -0
  47. package/dist/messages.js.map +1 -0
  48. package/dist/parts.d.ts +117 -0
  49. package/dist/parts.d.ts.map +1 -0
  50. package/dist/parts.js +13 -0
  51. package/dist/parts.js.map +1 -0
  52. package/dist/quota.d.ts +32 -0
  53. package/dist/quota.d.ts.map +1 -0
  54. package/dist/quota.js +81 -0
  55. package/dist/quota.js.map +1 -0
  56. package/dist/share.d.ts +24 -0
  57. package/dist/share.d.ts.map +1 -0
  58. package/dist/share.js +78 -0
  59. package/dist/share.js.map +1 -0
  60. package/dist/testing.d.ts +36 -0
  61. package/dist/testing.d.ts.map +1 -0
  62. package/dist/testing.js +82 -0
  63. package/dist/testing.js.map +1 -0
  64. package/dist/title.d.ts +7 -0
  65. package/dist/title.d.ts.map +1 -0
  66. package/dist/title.js +15 -0
  67. package/dist/title.js.map +1 -0
  68. package/dist/usage.d.ts +21 -0
  69. package/dist/usage.d.ts.map +1 -0
  70. package/dist/usage.js +35 -0
  71. package/dist/usage.js.map +1 -0
  72. package/dist/windowing.d.ts +38 -0
  73. package/dist/windowing.d.ts.map +1 -0
  74. package/dist/windowing.js +82 -0
  75. package/dist/windowing.js.map +1 -0
  76. package/package.json +78 -0
  77. package/src/artifact-writer.ts +114 -0
  78. package/src/attachments.ts +262 -0
  79. package/src/body.ts +236 -0
  80. package/src/client.ts +133 -0
  81. package/src/config.ts +376 -0
  82. package/src/errors.ts +80 -0
  83. package/src/feedback.ts +62 -0
  84. package/src/generation.ts +150 -0
  85. package/src/handler.ts +1164 -0
  86. package/src/index.ts +93 -0
  87. package/src/messages.ts +39 -0
  88. package/src/parts.ts +143 -0
  89. package/src/quota.ts +105 -0
  90. package/src/share.ts +103 -0
  91. package/src/testing.ts +150 -0
  92. package/src/title.ts +15 -0
  93. package/src/usage.ts +46 -0
  94. package/src/windowing.ts +110 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handler.js","sourceRoot":"","sources":["../src/handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * The chat transport: `createChatHandler(config)` returns `{ POST, DELETE,
3
+ * GET }` over Web `Request`/`Response` and runs every turn through auth, rate
4
+ * limit, feature gate, persistence and the execution boundary. The config
5
+ * takes AI SDK models, tools and stop conditions as they are.
6
+ */
7
+ export { createChatHandler } from "./handler.js";
8
+ export { truncateTitle } from "./title.js";
9
+ export type { ChatHandler } from "./handler.js";
10
+ export type { ChatActor, ChatAgentConfig, ChatAttachmentPolicy, ChatGenerationOptions, ChatMessageKey, ChatMessageParams, ChatMessages, ChatModelsConfig, ChatServerConfig, ChatTurn, ChatTurnContext, ChatTurnEvents, PreparedTurn, ProviderOptions, RateLimitDecision, ResolvedAgent, StreamTurn, TurnStream, } from "./config.js";
11
+ export { CHAT_ERROR_STATUS, DEFAULT_CHAT_MESSAGES } from "./errors.js";
12
+ export { parseChatBody } from "./body.js";
13
+ export type { ChatBody, ParsedChatBody } from "./body.js";
14
+ export { getChatQuotaState, getChatQuotaStates } from "./quota.js";
15
+ export { lastUserMessage, toUIMessages } from "./messages.js";
16
+ export { pickUsage, sumStepUsage } from "./usage.js";
17
+ export type { TokenUsage } from "./usage.js";
18
+ export { applyConversationWindow, estimateConversationTokens, estimateTokenCount, extractText, } from "./windowing.js";
19
+ export type { ConversationWindow, ConversationWindowOptions, } from "./windowing.js";
20
+ export { createArtifactWriter } from "./artifact-writer.js";
21
+ export type { ArtifactWriter, ArtifactWriterOptions } from "./artifact-writer.js";
22
+ export { sanitizeForShare } from "./share.js";
23
+ export type { SharePolicy } from "./share.js";
24
+ export { recordChatFeedback } from "./feedback.js";
25
+ export type { ChatFeedback, RecordChatFeedbackResult } from "./feedback.js";
26
+ export { createChatAttachmentHandler, createChatUploadHandler, } from "./attachments.js";
27
+ export type { ChatAttachmentHandler, ChatUploadHandler, ChatUploadResult, } from "./attachments.js";
28
+ export { CHAT_ERROR_CODES, parseChatError, isChatDataPart } from "./client.js";
29
+ export type { ChatErrorBody, ChatErrorCode, ChatModelOption, ChatQuotaState, } from "./client.js";
30
+ export type { ChatAgentData, ChatArtifactData, ChatAuthorizationData, ChatCompactionData, ChatDataChunk, ChatDataPart, ChatDataPartName, ChatDataParts, ChatMessageMetadata, ChatQuestionData, ChatQuestionOption, ChatStatusData, ChatTaskData, ChatTaskItem, ChatTaskStatus, ChatUIMessage, ChatUIMessageChunk, } from "./parts.js";
31
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE7C,YAAY,EACV,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,QAAQ,EACR,eAAe,EACf,cAAc,EACd,YAAY,EACZ,eAAe,EACf,iBAAiB,EACjB,aAAa,EACb,UAAU,EACV,UAAU,GACX,MAAM,UAAU,CAAC;AAElB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,YAAY,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AAEvD,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAClD,YAAY,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,kBAAkB,EAClB,WAAW,GACZ,MAAM,aAAa,CAAC;AACrB,YAAY,EACV,kBAAkB,EAClB,yBAAyB,GAC1B,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AACzD,YAAY,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAC3C,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EAAE,YAAY,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,YAAY,EACV,qBAAqB,EACrB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC5E,YAAY,EACV,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,GACf,MAAM,UAAU,CAAC;AAClB,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,aAAa,EACb,kBAAkB,GACnB,MAAM,SAAS,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,20 @@
1
+ /**
2
+ * The chat transport: `createChatHandler(config)` returns `{ POST, DELETE,
3
+ * GET }` over Web `Request`/`Response` and runs every turn through auth, rate
4
+ * limit, feature gate, persistence and the execution boundary. The config
5
+ * takes AI SDK models, tools and stop conditions as they are.
6
+ */
7
+ export { createChatHandler } from "./handler.js";
8
+ export { truncateTitle } from "./title.js";
9
+ export { CHAT_ERROR_STATUS, DEFAULT_CHAT_MESSAGES } from "./errors.js";
10
+ export { parseChatBody } from "./body.js";
11
+ export { getChatQuotaState, getChatQuotaStates } from "./quota.js";
12
+ export { lastUserMessage, toUIMessages } from "./messages.js";
13
+ export { pickUsage, sumStepUsage } from "./usage.js";
14
+ export { applyConversationWindow, estimateConversationTokens, estimateTokenCount, extractText, } from "./windowing.js";
15
+ export { createArtifactWriter } from "./artifact-writer.js";
16
+ export { sanitizeForShare } from "./share.js";
17
+ export { recordChatFeedback } from "./feedback.js";
18
+ export { createChatAttachmentHandler, createChatUploadHandler, } from "./attachments.js";
19
+ export { CHAT_ERROR_CODES, parseChatError, isChatDataPart } from "./client.js";
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAwBxC,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAGvC,OAAO,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAElD,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,kBAAkB,EAClB,WAAW,GACZ,MAAM,aAAa,CAAC;AAMrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAE3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,OAAO,EACL,2BAA2B,EAC3B,uBAAuB,GACxB,MAAM,eAAe,CAAC;AAOvB,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Between the rows core stores and the transcript the AI SDK renders.
3
+ */
4
+ import type { UIMessage } from "ai";
5
+ type MessageRow = {
6
+ id: string;
7
+ role: string;
8
+ parts: string;
9
+ };
10
+ /**
11
+ * Stored `messages.parts` is a JSON string; a
12
+ * row that fails to parse is dropped rather than failing the whole
13
+ * conversation. Tool-role rows are not part of the UI transcript.
14
+ */
15
+ export declare function toUIMessages(rows: ReadonlyArray<MessageRow>): UIMessage[];
16
+ /** The last message when it is the user's turn, else null. */
17
+ export declare function lastUserMessage(messages: ReadonlyArray<UIMessage>): UIMessage | null;
18
+ export {};
19
+ //# sourceMappingURL=messages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEpC,KAAK,UAAU,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAM9D;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,CAAC,UAAU,CAAC,GAAG,SAAS,EAAE,CAazE;AAED,8DAA8D;AAC9D,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,GACjC,SAAS,GAAG,IAAI,CAGlB"}
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Between the rows core stores and the transcript the AI SDK renders.
3
+ */
4
+ function isChatRole(role) {
5
+ return role === "system" || role === "user" || role === "assistant";
6
+ }
7
+ /**
8
+ * Stored `messages.parts` is a JSON string; a
9
+ * row that fails to parse is dropped rather than failing the whole
10
+ * conversation. Tool-role rows are not part of the UI transcript.
11
+ */
12
+ export function toUIMessages(rows) {
13
+ const out = [];
14
+ for (const row of rows) {
15
+ if (!isChatRole(row.role))
16
+ continue;
17
+ try {
18
+ const parts = JSON.parse(row.parts);
19
+ if (!Array.isArray(parts))
20
+ continue;
21
+ out.push({ id: row.id, role: row.role, parts });
22
+ }
23
+ catch {
24
+ // A corrupt row costs one message, not the conversation.
25
+ }
26
+ }
27
+ return out;
28
+ }
29
+ /** The last message when it is the user's turn, else null. */
30
+ export function lastUserMessage(messages) {
31
+ const last = messages[messages.length - 1];
32
+ return last?.role === "user" ? last : null;
33
+ }
34
+ //# sourceMappingURL=messages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"messages.js","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,SAAS,UAAU,CAAC,IAAY;IAC9B,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,WAAW,CAAC;AACtE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,YAAY,CAAC,IAA+B;IAC1D,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,SAAS;QACpC,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAY,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;gBAAE,SAAS;YACpC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,yDAAyD;QAC3D,CAAC;IACH,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,eAAe,CAC7B,QAAkC;IAElC,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC3C,OAAO,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AAC7C,CAAC"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * The parts vocabulary a chat UI, a tool and a runtime binding share. The
3
+ * AI SDK's own parts render as they arrive; a `data-chat-*` part exists only
4
+ * where the SDK has nothing (a deferred title, a status line, a task plan, a
5
+ * subagent, a canvas document, a question, an authorization). Type-only.
6
+ */
7
+ import type { DataUIPart, UIMessage, UIMessageChunk } from "ai";
8
+ import type { TokenUsage } from "./usage.js";
9
+ /** A live line under the reply — "Searching the web…". One per `id`; transient. */
10
+ export type ChatStatusData = {
11
+ label: string;
12
+ phase?: "thinking" | "searching" | "tool" | "writing";
13
+ done?: boolean;
14
+ };
15
+ export type ChatTaskStatus = "pending" | "in_progress" | "done" | "failed";
16
+ export type ChatTaskItem = {
17
+ id: string;
18
+ title: string;
19
+ status: ChatTaskStatus;
20
+ };
21
+ /** A plan the agent is working through. Reconciled by `id`; persisted. */
22
+ export type ChatTaskData = {
23
+ id: string;
24
+ title: string;
25
+ status: ChatTaskStatus;
26
+ items?: ChatTaskItem[];
27
+ };
28
+ /** A delegated agent — eve's `subagent.*`, Mastra's networks and nested agents. */
29
+ export type ChatAgentData = {
30
+ id: string;
31
+ name: string;
32
+ status: "started" | "completed" | "failed";
33
+ parentId?: string;
34
+ summary?: string;
35
+ };
36
+ /**
37
+ * A document streaming into the canvas. Deltas travel as transient
38
+ * parts under the same `id`; the final `ready` part is persisted so the
39
+ * card reopens the document after a reload.
40
+ */
41
+ export type ChatArtifactData = {
42
+ id: string;
43
+ kind: string;
44
+ title: string;
45
+ status: "streaming" | "ready" | "error";
46
+ documentId?: string;
47
+ version?: number;
48
+ /** The whole content, when the writer was asked to persist it. */
49
+ content?: string;
50
+ /** One streamed increment; only on transient parts. */
51
+ delta?: string;
52
+ error?: string;
53
+ };
54
+ export type ChatQuestionOption = {
55
+ id: string;
56
+ label: string;
57
+ description?: string;
58
+ };
59
+ /** A runtime paused for an answer that is not a tool approval. */
60
+ export type ChatQuestionData = {
61
+ id: string;
62
+ prompt: string;
63
+ options?: ChatQuestionOption[];
64
+ allowFreeform?: boolean;
65
+ multiple?: boolean;
66
+ answered?: boolean;
67
+ answer?: string;
68
+ };
69
+ /** A connection that needs the user to sign in before the run continues. */
70
+ export type ChatAuthorizationData = {
71
+ id: string;
72
+ name: string;
73
+ status: "required" | "completed";
74
+ description?: string;
75
+ instructions?: string;
76
+ url?: string;
77
+ };
78
+ export type ChatCompactionData = {
79
+ status: "requested" | "completed";
80
+ };
81
+ export type ChatDataParts = {
82
+ /** A title written after the first reply. Transient. */
83
+ "chat-title": string;
84
+ "chat-status": ChatStatusData;
85
+ "chat-task": ChatTaskData;
86
+ "chat-agent": ChatAgentData;
87
+ "chat-artifact": ChatArtifactData;
88
+ "chat-question": ChatQuestionData;
89
+ "chat-authorization": ChatAuthorizationData;
90
+ "chat-compaction": ChatCompactionData;
91
+ /** A structured result the turn was asked for. */
92
+ "chat-result": unknown;
93
+ };
94
+ export type ChatDataPartName = keyof ChatDataParts;
95
+ /** What the transport attaches to an assistant message once it finishes. */
96
+ export type ChatMessageMetadata = {
97
+ modelId?: string;
98
+ usage?: TokenUsage;
99
+ /** ISO-8601. */
100
+ finishedAt?: string;
101
+ /** The reader's feedback, folded in by the UI from the votes table. */
102
+ vote?: "up" | "down";
103
+ };
104
+ export type ChatUIMessage = UIMessage<ChatMessageMetadata, ChatDataParts>;
105
+ export type ChatDataPart = DataUIPart<ChatDataParts>;
106
+ export type ChatUIMessageChunk = UIMessageChunk<ChatMessageMetadata, ChatDataParts>;
107
+ /** The chunks a tool or a binding may write mid-turn through `turn.write`. */
108
+ export type ChatDataChunk = Extract<ChatUIMessageChunk, {
109
+ type: `data-${string}`;
110
+ }>;
111
+ /** Narrow an unknown part to one of this vocabulary's data parts. */
112
+ export declare function isChatDataPart<NAME extends ChatDataPartName>(part: unknown, name: NAME): part is {
113
+ type: `data-${NAME}`;
114
+ id?: string;
115
+ data: ChatDataParts[NAME];
116
+ };
117
+ //# sourceMappingURL=parts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parts.d.ts","sourceRoot":"","sources":["../src/parts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,IAAI,CAAC;AAEhE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE1C,mFAAmF;AACnF,MAAM,MAAM,cAAc,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,SAAS,CAAC;IACtD,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,aAAa,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE3E,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,cAAc,CAAC;CACxB,CAAC;AAEF,0EAA0E;AAC1E,MAAM,MAAM,YAAY,GAAG;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,cAAc,CAAC;IACvB,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;CACxB,CAAC;AAEF,mFAAmF;AACnF,MAAM,MAAM,aAAa,GAAG;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;;;GAIG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,GAAG,OAAO,GAAG,OAAO,CAAC;IACxC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kEAAkE;IAClE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uDAAuD;IACvD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,kEAAkE;AAClE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,4EAA4E;AAC5E,MAAM,MAAM,qBAAqB,GAAG;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,UAAU,GAAG,WAAW,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAAE,MAAM,EAAE,WAAW,GAAG,WAAW,CAAA;CAAE,CAAC;AAEvE,MAAM,MAAM,aAAa,GAAG;IAC1B,wDAAwD;IACxD,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,cAAc,CAAC;IAC9B,WAAW,EAAE,YAAY,CAAC;IAC1B,YAAY,EAAE,aAAa,CAAC;IAC5B,eAAe,EAAE,gBAAgB,CAAC;IAClC,eAAe,EAAE,gBAAgB,CAAC;IAClC,oBAAoB,EAAE,qBAAqB,CAAC;IAC5C,iBAAiB,EAAE,kBAAkB,CAAC;IACtC,kDAAkD;IAClD,aAAa,EAAE,OAAO,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAC;AAEnD,4EAA4E;AAC5E,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,gBAAgB;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,IAAI,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,SAAS,CAAC,mBAAmB,EAAE,aAAa,CAAC,CAAC;AAE1E,MAAM,MAAM,YAAY,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;AAErD,MAAM,MAAM,kBAAkB,GAAG,cAAc,CAC7C,mBAAmB,EACnB,aAAa,CACd,CAAC;AAEF,8EAA8E;AAC9E,MAAM,MAAM,aAAa,GAAG,OAAO,CACjC,kBAAkB,EAClB;IAAE,IAAI,EAAE,QAAQ,MAAM,EAAE,CAAA;CAAE,CAC3B,CAAC;AAEF,qEAAqE;AACrE,wBAAgB,cAAc,CAAC,IAAI,SAAS,gBAAgB,EAC1D,IAAI,EAAE,OAAO,EACb,IAAI,EAAE,IAAI,GACT,IAAI,IAAI;IAAE,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,CAAA;CAAE,CAM1E"}
package/dist/parts.js ADDED
@@ -0,0 +1,13 @@
1
+ /**
2
+ * The parts vocabulary a chat UI, a tool and a runtime binding share. The
3
+ * AI SDK's own parts render as they arrive; a `data-chat-*` part exists only
4
+ * where the SDK has nothing (a deferred title, a status line, a task plan, a
5
+ * subagent, a canvas document, a question, an authorization). Type-only.
6
+ */
7
+ /** Narrow an unknown part to one of this vocabulary's data parts. */
8
+ export function isChatDataPart(part, name) {
9
+ return (typeof part === "object" &&
10
+ part !== null &&
11
+ part.type === `data-${name}`);
12
+ }
13
+ //# sourceMappingURL=parts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parts.js","sourceRoot":"","sources":["../src/parts.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+HH,qEAAqE;AACrE,MAAM,UAAU,cAAc,CAC5B,IAAa,EACb,IAAU;IAEV,OAAO,CACL,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACZ,IAA2B,CAAC,IAAI,KAAK,QAAQ,IAAI,EAAE,CACrD,CAAC;AACJ,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * What the chat page knows about the caller's credit before they type, so
3
+ * it can say so before a turn is refused with 402. An estimate, never a
4
+ * reservation: rendering a page cannot consume credit.
5
+ */
6
+ import type { ChatQuotaState } from "./client.js";
7
+ /**
8
+ * Never throws: the page renders with or without this. A quota read
9
+ * that fails should cost the reader a banner, not the conversation.
10
+ */
11
+ export declare function getChatQuotaState(options: {
12
+ /** The model a turn would run on — what the estimate is priced against. */
13
+ modelId: string;
14
+ /** Where "upgrade" and "top up" should go. */
15
+ upgradeHref: string;
16
+ /** Defaults to the request's workspace. */
17
+ workspaceId?: string;
18
+ }): Promise<ChatQuotaState | null>;
19
+ /**
20
+ * The same estimate for each model the composer offers, keyed by model
21
+ * id, so the banner can follow the picker: a turn on a dearer model has
22
+ * a larger worst case, and the balance that funds one may not fund the
23
+ * other. Never throws; a model whose read failed is left out.
24
+ */
25
+ export declare function getChatQuotaStates(options: {
26
+ modelIds: readonly string[];
27
+ /** Where "upgrade" and "top up" should go. */
28
+ upgradeHref: string;
29
+ /** Defaults to the request's workspace. */
30
+ workspaceId?: string;
31
+ }): Promise<Record<string, ChatQuotaState>>;
32
+ //# sourceMappingURL=quota.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quota.d.ts","sourceRoot":"","sources":["../src/quota.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAiC/C;;;GAGG;AACH,wBAAsB,iBAAiB,CAAC,OAAO,EAAE;IAC/C,2EAA2E;IAC3E,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CASjC;AAED;;;;;GAKG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE;IAChD,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5B,8CAA8C;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CA2B1C"}
package/dist/quota.js ADDED
@@ -0,0 +1,81 @@
1
+ /**
2
+ * What the chat page knows about the caller's credit before they type, so
3
+ * it can say so before a turn is refused with 402. An estimate, never a
4
+ * reservation: rendering a page cannot consume credit.
5
+ */
6
+ import { requireWorkspace } from "@intelligo-dev/auth";
7
+ import { estimateQuota } from "@intelligo-dev/billing";
8
+ import { createLogger } from "@intelligo-dev/core/logger";
9
+ const log = createLogger("ChatQuota");
10
+ function errorMessage(error) {
11
+ return error instanceof Error ? error.message : String(error);
12
+ }
13
+ async function readState(workspaceId, modelId, upgradeHref) {
14
+ const quota = await estimateQuota(workspaceId, { modelId });
15
+ if (quota.code === "unknown_model") {
16
+ // A deployment error, not the reader's balance: the page shows
17
+ // neutral copy, and this line is where the operator finds out.
18
+ log.error("Model has no registered price", {
19
+ modelId,
20
+ reason: quota.reason,
21
+ });
22
+ }
23
+ return {
24
+ allowed: quota.allowed,
25
+ reason: quota.reason ?? null,
26
+ code: quota.code ?? null,
27
+ // Micros of the deployment's billing currency.
28
+ remaining: quota.remaining?.amount ?? 0,
29
+ estimated: quota.estimated?.amount ?? 0,
30
+ upgradeHref,
31
+ };
32
+ }
33
+ /**
34
+ * Never throws: the page renders with or without this. A quota read
35
+ * that fails should cost the reader a banner, not the conversation.
36
+ */
37
+ export async function getChatQuotaState(options) {
38
+ try {
39
+ const workspaceId = options.workspaceId ?? (await requireWorkspace()).workspace.id;
40
+ return await readState(workspaceId, options.modelId, options.upgradeHref);
41
+ }
42
+ catch (error) {
43
+ log.warn("quota state unavailable", { error: errorMessage(error) });
44
+ return null;
45
+ }
46
+ }
47
+ /**
48
+ * The same estimate for each model the composer offers, keyed by model
49
+ * id, so the banner can follow the picker: a turn on a dearer model has
50
+ * a larger worst case, and the balance that funds one may not fund the
51
+ * other. Never throws; a model whose read failed is left out.
52
+ */
53
+ export async function getChatQuotaStates(options) {
54
+ const modelIds = [...new Set(options.modelIds)];
55
+ if (modelIds.length === 0)
56
+ return {};
57
+ try {
58
+ const workspaceId = options.workspaceId ?? (await requireWorkspace()).workspace.id;
59
+ const entries = await Promise.all(modelIds.map(async (modelId) => {
60
+ try {
61
+ return [
62
+ modelId,
63
+ await readState(workspaceId, modelId, options.upgradeHref),
64
+ ];
65
+ }
66
+ catch (error) {
67
+ log.warn("quota state unavailable", {
68
+ modelId,
69
+ error: errorMessage(error),
70
+ });
71
+ return null;
72
+ }
73
+ }));
74
+ return Object.fromEntries(entries.filter((entry) => entry !== null));
75
+ }
76
+ catch (error) {
77
+ log.warn("quota state unavailable", { error: errorMessage(error) });
78
+ return {};
79
+ }
80
+ }
81
+ //# sourceMappingURL=quota.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quota.js","sourceRoot":"","sources":["../src/quota.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /**
2
+ * What a public, read-only copy of a conversation may show.
3
+ *
4
+ * A shared page renders the same transcript the owner sees, minus what
5
+ * was never meant for a stranger: the model's reasoning, the raw input
6
+ * and output of every tool, provider metadata, token usage, transient
7
+ * runtime parts, and any file URL — a stored attachment's URL is a
8
+ * tenant-scoped, short-lived signed link, and an inline one is the
9
+ * whole file. A product that wants a named tool's output on the shared
10
+ * page (a report card, say) lists it in the policy.
11
+ *
12
+ * Pure: no I/O, no `ai` import at runtime.
13
+ */
14
+ import type { UIMessage } from "ai";
15
+ export type SharePolicy = {
16
+ /** Tool names whose `input`/`output` stay on the shared page. */
17
+ keepToolOutput?: readonly string[];
18
+ /** `data-*` part names (without the prefix) that stay. Default: `chat-task`, `chat-artifact`. */
19
+ keepDataParts?: readonly string[];
20
+ /** Keep reasoning parts. Default false. */
21
+ keepReasoning?: boolean;
22
+ };
23
+ export declare function sanitizeForShare(messages: ReadonlyArray<UIMessage>, policy?: SharePolicy): UIMessage[];
24
+ //# sourceMappingURL=share.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"share.d.ts","sourceRoot":"","sources":["../src/share.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,IAAI,CAAC;AAEpC,MAAM,MAAM,WAAW,GAAG;IACxB,iEAAiE;IACjE,cAAc,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,iGAAiG;IACjG,aAAa,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,2CAA2C;IAC3C,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAcF,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,aAAa,CAAC,SAAS,CAAC,EAClC,MAAM,GAAE,WAAgB,GACvB,SAAS,EAAE,CA8Db"}
package/dist/share.js ADDED
@@ -0,0 +1,78 @@
1
+ /**
2
+ * What a public, read-only copy of a conversation may show.
3
+ *
4
+ * A shared page renders the same transcript the owner sees, minus what
5
+ * was never meant for a stranger: the model's reasoning, the raw input
6
+ * and output of every tool, provider metadata, token usage, transient
7
+ * runtime parts, and any file URL — a stored attachment's URL is a
8
+ * tenant-scoped, short-lived signed link, and an inline one is the
9
+ * whole file. A product that wants a named tool's output on the shared
10
+ * page (a report card, say) lists it in the policy.
11
+ *
12
+ * Pure: no I/O, no `ai` import at runtime.
13
+ */
14
+ const DEFAULT_DATA_PARTS = ["chat-task", "chat-artifact"];
15
+ function toolNameOf(part) {
16
+ if (part.type === "dynamic-tool" && typeof part.toolName === "string") {
17
+ return part.toolName;
18
+ }
19
+ if (typeof part.type === "string" && part.type.startsWith("tool-")) {
20
+ return part.type.slice("tool-".length);
21
+ }
22
+ return null;
23
+ }
24
+ export function sanitizeForShare(messages, policy = {}) {
25
+ const keepTools = new Set(policy.keepToolOutput ?? []);
26
+ const keepData = new Set(policy.keepDataParts ?? DEFAULT_DATA_PARTS);
27
+ return messages.map((message) => {
28
+ const parts = [];
29
+ for (const raw of message.parts) {
30
+ const part = raw;
31
+ const type = typeof part.type === "string" ? part.type : "";
32
+ if (type === "reasoning") {
33
+ if (policy.keepReasoning)
34
+ parts.push(raw);
35
+ continue;
36
+ }
37
+ if (type === "text" || type === "step-start") {
38
+ const { providerMetadata: _pm, ...rest } = part;
39
+ parts.push(rest);
40
+ continue;
41
+ }
42
+ if (type === "source-url" || type === "source-document") {
43
+ const { providerMetadata: _pm, ...rest } = part;
44
+ parts.push(rest);
45
+ continue;
46
+ }
47
+ if (type === "file") {
48
+ parts.push({
49
+ type: "file",
50
+ mediaType: String(part.mediaType ?? "application/octet-stream"),
51
+ ...(typeof part.filename === "string"
52
+ ? { filename: part.filename }
53
+ : {}),
54
+ url: "",
55
+ });
56
+ continue;
57
+ }
58
+ const toolName = toolNameOf(part);
59
+ if (toolName !== null) {
60
+ const kept = keepTools.has(toolName);
61
+ const { input, output, errorText: _e, providerMetadata: _pm, callProviderMetadata: _cpm, providerExecuted: _pe, approval: _a, ...rest } = part;
62
+ parts.push({
63
+ ...rest,
64
+ ...(kept && input !== undefined ? { input } : {}),
65
+ ...(kept && output !== undefined ? { output } : {}),
66
+ });
67
+ continue;
68
+ }
69
+ if (type.startsWith("data-")) {
70
+ if (keepData.has(type.slice("data-".length)))
71
+ parts.push(raw);
72
+ continue;
73
+ }
74
+ }
75
+ return { id: message.id, role: message.role, parts };
76
+ });
77
+ }
78
+ //# sourceMappingURL=share.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"share.js","sourceRoot":"","sources":["../src/share.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAaH,MAAM,kBAAkB,GAAsB,CAAC,WAAW,EAAE,eAAe,CAAC,CAAC;AAE7E,SAAS,UAAU,CAAC,IAA6B;IAC/C,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACtE,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACnE,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,QAAkC,EAClC,SAAsB,EAAE;IAExB,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,IAAI,kBAAkB,CAAC,CAAC;IAErE,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;QAC9B,MAAM,KAAK,GAAuB,EAAE,CAAC;QACrC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,GAAyC,CAAC;YACvD,MAAM,IAAI,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAE5D,IAAI,IAAI,KAAK,WAAW,EAAE,CAAC;gBACzB,IAAI,MAAM,CAAC,aAAa;oBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC1C,SAAS;YACX,CAAC;YACD,IAAI,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;gBAC7C,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;gBAChD,KAAK,CAAC,IAAI,CAAC,IAA6C,CAAC,CAAC;gBAC1D,SAAS;YACX,CAAC;YACD,IAAI,IAAI,KAAK,YAAY,IAAI,IAAI,KAAK,iBAAiB,EAAE,CAAC;gBACxD,MAAM,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;gBAChD,KAAK,CAAC,IAAI,CAAC,IAA6C,CAAC,CAAC;gBAC1D,SAAS;YACX,CAAC;YACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,EAAE,MAAM;oBACZ,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,0BAA0B,CAAC;oBAC/D,GAAG,CAAC,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;wBACnC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE;wBAC7B,CAAC,CAAC,EAAE,CAAC;oBACP,GAAG,EAAE,EAAE;iBACR,CAAC,CAAC;gBACH,SAAS;YACX,CAAC;YACD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;gBACtB,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBACrC,MAAM,EACJ,KAAK,EACL,MAAM,EACN,SAAS,EAAE,EAAE,EACb,gBAAgB,EAAE,GAAG,EACrB,oBAAoB,EAAE,IAAI,EAC1B,gBAAgB,EAAE,GAAG,EACrB,QAAQ,EAAE,EAAE,EACZ,GAAG,IAAI,EACR,GAAG,IAAI,CAAC;gBACT,KAAK,CAAC,IAAI,CAAC;oBACT,GAAG,IAAI;oBACP,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjD,GAAG,CAAC,IAAI,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;iBACX,CAAC,CAAC;gBAC5C,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC7B,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC9D,SAAS;YACX,CAAC;QACH,CAAC;QACD,OAAO,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * A deterministic language model (from `ai/test`) that streams end to end
3
+ * before any provider is configured; the transport's own tests use it too.
4
+ * `modelId` is a parameter, never a literal: the boundary bills whatever id
5
+ * the transport settles with, so it must be registered in the pricing table.
6
+ */
7
+ import type { LanguageModel } from "ai";
8
+ /** A model prompt as the stub sees it: the AI SDK's provider-level shape. */
9
+ export type StubPrompt = ReadonlyArray<{
10
+ role: string;
11
+ content: unknown;
12
+ }>;
13
+ export type StubToolCall = {
14
+ toolName: string;
15
+ /** Must satisfy the tool's input schema. */
16
+ input: Record<string, unknown>;
17
+ };
18
+ export type StubLanguageModelOptions = {
19
+ /** Reported to the boundary; must be a registered model id. */
20
+ modelId: string;
21
+ /** The reply, from the last user message's text. */
22
+ reply: (lastUserText: string, prompt: StubPrompt) => string | Promise<string>;
23
+ /**
24
+ * A tool call to emit alongside the reply, or null for none. Lets a
25
+ * stub exercise the whole tool path — call, execute, render — with
26
+ * no provider. Called once per step; return null on the follow-up
27
+ * step (the prompt then carries the earlier call) to end the turn.
28
+ */
29
+ toolCall?: (lastUserText: string, prompt: StubPrompt) => StubToolCall | null | Promise<StubToolCall | null>;
30
+ /** Delay between tokens, in ms. Default 15; 0 in tests. */
31
+ chunkDelayInMs?: number;
32
+ };
33
+ /** The last user message's text, from a provider-level prompt. */
34
+ export declare function lastUserTextOf(prompt: StubPrompt): string;
35
+ export declare function createStubLanguageModel(options: StubLanguageModelOptions): LanguageModel;
36
+ //# sourceMappingURL=testing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../src/testing.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAGxC,6EAA6E;AAC7E,MAAM,MAAM,UAAU,GAAG,aAAa,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAAC;AAE3E,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,+DAA+D;IAC/D,OAAO,EAAE,MAAM,CAAC;IAChB,oDAAoD;IACpD,KAAK,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,KAAK,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC9E;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,CACT,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,UAAU,KACf,YAAY,GAAG,IAAI,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IACxD,2DAA2D;IAC3D,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAiCF,kEAAkE;AAClE,wBAAgB,cAAc,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAgBzD;AAED,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,wBAAwB,GAChC,aAAa,CA2Df"}