blink 0.1.70 → 0.1.72

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 (30) hide show
  1. package/dist/browser/api/index.browser.d.cts +1 -1
  2. package/dist/browser/api/index.browser.d.ts +1 -1
  3. package/dist/browser/{client-LG-tSJAT.d.ts → client-3mJjOKuh.d.ts} +1 -1
  4. package/dist/browser/{client-lXd2XNhf.d.cts → client-B7xl9jGk.d.cts} +1 -1
  5. package/dist/browser/http/index.d.cts +2 -2
  6. package/dist/browser/http/index.d.ts +2 -2
  7. package/dist/{node/index.browser-BxnYzsYC.d.ts → browser/index.browser-c6tjyX5u.d.cts} +20 -16
  8. package/dist/{node/index.browser-C1lOzjkX.d.cts → browser/index.browser-ekIUKJkA.d.ts} +20 -16
  9. package/dist/browser/react/index.cjs +1 -1
  10. package/dist/browser/react/index.d.cts +2 -2
  11. package/dist/browser/react/index.d.ts +2 -2
  12. package/dist/browser/react/index.js +1 -1
  13. package/dist/cli/{auth-BUNIOupD.js → auth-Dw-wJ1IM.js} +1 -1
  14. package/dist/cli/{chat-L0VBV1Zr.js → chat-CvTLq5E0.js} +1 -1
  15. package/dist/cli/{dev-DOkXpZYA.js → dev-Cr9A596F.js} +59 -53
  16. package/dist/cli/index.js +3 -3
  17. package/dist/cli/{init-BEvNUWUD.js → init-LfebhEg-.js} +1 -1
  18. package/dist/cli/login-KHDcJ0iZ.js +1 -0
  19. package/dist/node/api/index.node.cjs +1 -1
  20. package/dist/node/api/index.node.d.cts +1 -1
  21. package/dist/node/api/index.node.d.ts +1 -1
  22. package/dist/node/api/index.node.js +1 -1
  23. package/dist/{browser/index.browser-DSTjG8Ih.d.ts → node/index.browser-Bo1v3lXu.d.cts} +20 -16
  24. package/dist/{browser/index.browser-DokYAoMj.d.cts → node/index.browser-Dhyi8IHz.d.ts} +20 -16
  25. package/dist/node/test.d.cts +1 -1
  26. package/dist/node/test.d.ts +1 -1
  27. package/package.json +1 -1
  28. package/dist/cli/login-DKW_KVCA.js +0 -1
  29. /package/dist/cli/{dist-NqrnQGst.js → dist-CN69Y-yA.js} +0 -0
  30. /package/dist/cli/{open-CSMQaj0E.js → open-Cr8lEmcs.js} +0 -0
@@ -1,2 +1,2 @@
1
- import { AgentOptions, Chat, ChatBehavior, ContextFromTools, ExperimentalCompletion, ExperimentalProvideCompletionsOptions, ExperimentalProvideCompletionsResponse, ExtractUIOptions, Message, MessageOptions, OptionSelect, OptionSelectValue, Options, OptionsSchema, ProvideOptionsRequest, SendMessagesOptions, SendMessagesResponse, StreamResponseFormat, ToolApprovalOutput, ToolSetWithApproval, ToolWithApproval, ToolWithContext, WithUIOptions, chat, isToolApprovalOutput, lastUIOptions, storage, toolWithApproval, tools, withResponseFormat } from "../index.browser-DokYAoMj.cjs";
1
+ import { AgentOptions, Chat, ChatBehavior, ContextFromTools, ExperimentalCompletion, ExperimentalProvideCompletionsOptions, ExperimentalProvideCompletionsResponse, ExtractUIOptions, Message, MessageOptions, OptionSelect, OptionSelectValue, Options, OptionsSchema, ProvideOptionsRequest, SendMessagesOptions, SendMessagesResponse, StreamResponseFormat, ToolApprovalOutput, ToolSetWithApproval, ToolWithApproval, ToolWithContext, WithUIOptions, chat, isToolApprovalOutput, lastUIOptions, storage, toolWithApproval, tools, withResponseFormat } from "../index.browser-c6tjyX5u.cjs";
2
2
  export { AgentOptions, Chat, ChatBehavior, ContextFromTools, ExperimentalCompletion, ExperimentalProvideCompletionsOptions, ExperimentalProvideCompletionsResponse, ExtractUIOptions, Message, MessageOptions, OptionSelect, OptionSelectValue, Options, OptionsSchema, ProvideOptionsRequest, SendMessagesOptions, SendMessagesResponse, StreamResponseFormat, ToolApprovalOutput, ToolSetWithApproval, ToolWithApproval, ToolWithContext, WithUIOptions, chat, isToolApprovalOutput, lastUIOptions, storage, toolWithApproval, tools, withResponseFormat };
@@ -1,2 +1,2 @@
1
- import { AgentOptions, Chat, ChatBehavior, ContextFromTools, ExperimentalCompletion, ExperimentalProvideCompletionsOptions, ExperimentalProvideCompletionsResponse, ExtractUIOptions, Message, MessageOptions, OptionSelect, OptionSelectValue, Options, OptionsSchema, ProvideOptionsRequest, SendMessagesOptions, SendMessagesResponse, StreamResponseFormat, ToolApprovalOutput, ToolSetWithApproval, ToolWithApproval, ToolWithContext, WithUIOptions, chat, isToolApprovalOutput, lastUIOptions, storage, toolWithApproval, tools, withResponseFormat } from "../index.browser-DSTjG8Ih.js";
1
+ import { AgentOptions, Chat, ChatBehavior, ContextFromTools, ExperimentalCompletion, ExperimentalProvideCompletionsOptions, ExperimentalProvideCompletionsResponse, ExtractUIOptions, Message, MessageOptions, OptionSelect, OptionSelectValue, Options, OptionsSchema, ProvideOptionsRequest, SendMessagesOptions, SendMessagesResponse, StreamResponseFormat, ToolApprovalOutput, ToolSetWithApproval, ToolWithApproval, ToolWithContext, WithUIOptions, chat, isToolApprovalOutput, lastUIOptions, storage, toolWithApproval, tools, withResponseFormat } from "../index.browser-ekIUKJkA.js";
2
2
  export { AgentOptions, Chat, ChatBehavior, ContextFromTools, ExperimentalCompletion, ExperimentalProvideCompletionsOptions, ExperimentalProvideCompletionsResponse, ExtractUIOptions, Message, MessageOptions, OptionSelect, OptionSelectValue, Options, OptionsSchema, ProvideOptionsRequest, SendMessagesOptions, SendMessagesResponse, StreamResponseFormat, ToolApprovalOutput, ToolSetWithApproval, ToolWithApproval, ToolWithContext, WithUIOptions, chat, isToolApprovalOutput, lastUIOptions, storage, toolWithApproval, tools, withResponseFormat };
@@ -1,4 +1,4 @@
1
- import { Chat, ExperimentalCompletion, OptionsSchema, ProvideOptionsRequest, WithUIOptions } from "./index.browser-DSTjG8Ih.js";
1
+ import { Chat, ExperimentalCompletion, OptionsSchema, ProvideOptionsRequest, WithUIOptions } from "./index.browser-ekIUKJkA.js";
2
2
  import { UIMessage, UIMessageChunk } from "ai";
3
3
 
4
4
  //#region src/api/internal/client.d.ts
@@ -1,4 +1,4 @@
1
- import { Chat, ExperimentalCompletion, OptionsSchema, ProvideOptionsRequest, WithUIOptions } from "./index.browser-DokYAoMj.cjs";
1
+ import { Chat, ExperimentalCompletion, OptionsSchema, ProvideOptionsRequest, WithUIOptions } from "./index.browser-c6tjyX5u.cjs";
2
2
  import { UIMessage, UIMessageChunk } from "ai";
3
3
 
4
4
  //#region src/api/internal/client.d.ts
@@ -1,5 +1,5 @@
1
- import { Chat, ChatBehavior, Message } from "../index.browser-DokYAoMj.cjs";
2
- import { APIServerURLEnvironmentVariable, CapabilitiesResponse, Client, ClientOptions, ExperimentalProvideCompletionsRequest, SendMessagesRequest, StreamResponseFormatHeader, streamSSE } from "../client-lXd2XNhf.cjs";
1
+ import { Chat, ChatBehavior, Message } from "../index.browser-c6tjyX5u.cjs";
2
+ import { APIServerURLEnvironmentVariable, CapabilitiesResponse, Client, ClientOptions, ExperimentalProvideCompletionsRequest, SendMessagesRequest, StreamResponseFormatHeader, streamSSE } from "../client-B7xl9jGk.cjs";
3
3
  import { UIMessageChunk } from "ai";
4
4
  import * as hono_types0 from "hono/types";
5
5
  import * as hono_hono_base0 from "hono/hono-base";
@@ -1,5 +1,5 @@
1
- import { Chat, ChatBehavior, Message } from "../index.browser-DSTjG8Ih.js";
2
- import { APIServerURLEnvironmentVariable, CapabilitiesResponse, Client, ClientOptions, ExperimentalProvideCompletionsRequest, SendMessagesRequest, StreamResponseFormatHeader, streamSSE } from "../client-LG-tSJAT.js";
1
+ import { Chat, ChatBehavior, Message } from "../index.browser-ekIUKJkA.js";
2
+ import { APIServerURLEnvironmentVariable, CapabilitiesResponse, Client, ClientOptions, ExperimentalProvideCompletionsRequest, SendMessagesRequest, StreamResponseFormatHeader, streamSSE } from "../client-3mJjOKuh.js";
3
3
  import { UIMessageChunk } from "ai";
4
4
  import * as hono_types0 from "hono/types";
5
5
  import * as hono_hono_base0 from "hono/hono-base";
@@ -1,4 +1,4 @@
1
- import { AsyncIterableStream, InferToolInput, InferToolOutput, InferUIMessageChunk, Tool, ToolSet, UIDataTypes, UIMessage, UIMessagePart, UITools } from "ai";
1
+ import { AsyncIterableStream, InferToolInput, InferToolOutput, InferUIMessageChunk, TextStreamPart, Tool, ToolSet, UIDataTypes, UIMessage, UIMessagePart, UITools } from "ai";
2
2
 
3
3
  //#region src/api/chat.d.ts
4
4
  interface Chat {
@@ -25,6 +25,19 @@ declare const chat: Readonly<{
25
25
  message: (id: string, message: Message, options?: MessageOptions) => Promise<void>;
26
26
  }>;
27
27
  //#endregion
28
+ //#region src/api/storage.d.ts
29
+ /**
30
+ * Storage allows agents to persist data.
31
+ * Every agent has it's own persistent storage namespace.
32
+ */
33
+ declare const storage: Readonly<{
34
+ kv: Readonly<{
35
+ get: (key: string) => Promise<string | undefined>;
36
+ set: (key: string, value: string) => Promise<void>;
37
+ del: (key: string) => Promise<void>;
38
+ }>;
39
+ }>;
40
+ //#endregion
28
41
  //#region src/api/tools.d.ts
29
42
  /**
30
43
  * ToolWithContext is a tool that supports the "withContext" method.
@@ -124,26 +137,17 @@ interface ToolApprovalOutput {
124
137
  */
125
138
  declare function isToolApprovalOutput(output: unknown): output is ToolApprovalOutput;
126
139
  //#endregion
127
- //#region src/api/storage.d.ts
128
- /**
129
- * Storage allows agents to persist data.
130
- * Every agent has it's own persistent storage namespace.
131
- */
132
- declare const storage: Readonly<{
133
- kv: Readonly<{
134
- get: (key: string) => Promise<string | undefined>;
135
- set: (key: string, value: string) => Promise<void>;
136
- del: (key: string) => Promise<void>;
137
- }>;
138
- }>;
139
- //#endregion
140
140
  //#region src/api/index.browser.d.ts
141
141
  /**
142
142
  * SendMessagesResponse is the response of the sendMessages function.
143
143
  * It can be a stream of messages or an arbitrary response.
144
144
  */
145
145
  type SendMessagesResponse = {
146
- toUIMessageStream(): AsyncIterableStream<InferUIMessageChunk<UIMessage>>;
146
+ toUIMessageStream(options?: {
147
+ messageMetadata?: (options: {
148
+ part: TextStreamPart<any>;
149
+ }) => any;
150
+ }): AsyncIterableStream<InferUIMessageChunk<UIMessage>>;
147
151
  } | Response | ReadableStream<InferUIMessageChunk<UIMessage>>;
148
152
  /**
149
153
  * SendMessagesOptions is the options for the sendMessages function.
@@ -240,7 +244,7 @@ type OptionSelect<Values extends readonly OptionSelectValue[] = readonly OptionS
240
244
  * defaultValue is the default value for the option.
241
245
  * If omitted, the option will not be selected by default.
242
246
  */
243
- readonly defaultValue?: Values[number]["id"];
247
+ readonly defaultValue: Values[number]["id"];
244
248
  readonly values: Values;
245
249
  };
246
250
  type Options = Record<string, string>;
@@ -1,4 +1,4 @@
1
- import { AsyncIterableStream, InferToolInput, InferToolOutput, InferUIMessageChunk, Tool, ToolSet, UIDataTypes, UIMessage, UIMessagePart, UITools } from "ai";
1
+ import { AsyncIterableStream, InferToolInput, InferToolOutput, InferUIMessageChunk, TextStreamPart, Tool, ToolSet, UIDataTypes, UIMessage, UIMessagePart, UITools } from "ai";
2
2
 
3
3
  //#region src/api/chat.d.ts
4
4
  interface Chat {
@@ -25,6 +25,19 @@ declare const chat: Readonly<{
25
25
  message: (id: string, message: Message, options?: MessageOptions) => Promise<void>;
26
26
  }>;
27
27
  //#endregion
28
+ //#region src/api/storage.d.ts
29
+ /**
30
+ * Storage allows agents to persist data.
31
+ * Every agent has it's own persistent storage namespace.
32
+ */
33
+ declare const storage: Readonly<{
34
+ kv: Readonly<{
35
+ get: (key: string) => Promise<string | undefined>;
36
+ set: (key: string, value: string) => Promise<void>;
37
+ del: (key: string) => Promise<void>;
38
+ }>;
39
+ }>;
40
+ //#endregion
28
41
  //#region src/api/tools.d.ts
29
42
  /**
30
43
  * ToolWithContext is a tool that supports the "withContext" method.
@@ -124,26 +137,17 @@ interface ToolApprovalOutput {
124
137
  */
125
138
  declare function isToolApprovalOutput(output: unknown): output is ToolApprovalOutput;
126
139
  //#endregion
127
- //#region src/api/storage.d.ts
128
- /**
129
- * Storage allows agents to persist data.
130
- * Every agent has it's own persistent storage namespace.
131
- */
132
- declare const storage: Readonly<{
133
- kv: Readonly<{
134
- get: (key: string) => Promise<string | undefined>;
135
- set: (key: string, value: string) => Promise<void>;
136
- del: (key: string) => Promise<void>;
137
- }>;
138
- }>;
139
- //#endregion
140
140
  //#region src/api/index.browser.d.ts
141
141
  /**
142
142
  * SendMessagesResponse is the response of the sendMessages function.
143
143
  * It can be a stream of messages or an arbitrary response.
144
144
  */
145
145
  type SendMessagesResponse = {
146
- toUIMessageStream(): AsyncIterableStream<InferUIMessageChunk<UIMessage>>;
146
+ toUIMessageStream(options?: {
147
+ messageMetadata?: (options: {
148
+ part: TextStreamPart<any>;
149
+ }) => any;
150
+ }): AsyncIterableStream<InferUIMessageChunk<UIMessage>>;
147
151
  } | Response | ReadableStream<InferUIMessageChunk<UIMessage>>;
148
152
  /**
149
153
  * SendMessagesOptions is the options for the sendMessages function.
@@ -240,7 +244,7 @@ type OptionSelect<Values extends readonly OptionSelectValue[] = readonly OptionS
240
244
  * defaultValue is the default value for the option.
241
245
  * If omitted, the option will not be selected by default.
242
246
  */
243
- readonly defaultValue?: Values[number]["id"];
247
+ readonly defaultValue: Values[number]["id"];
244
248
  readonly values: Values;
245
249
  };
246
250
  type Options = Record<string, string>;
@@ -1 +1 @@
1
- const e=require(`../client-DFaZjb1-.cjs`),t=require(`../index.browser-BwGhLjB7.cjs`);let n=require(`react`);n=e.__toESM(n);function r({agent:e,capabilities:r,messages:i}){let[a,o]=(0,n.useState)(void 0),[s,c]=(0,n.useState)(!0),[l,u]=(0,n.useState)(void 0),d=(0,n.useRef)(l);(0,n.useEffect)(()=>{d.current=l},[l]);let[f,p]=(0,n.useState)(()=>t.lastUIOptions(i));(0,n.useEffect)(()=>{p(e=>{let n=t.lastUIOptions(i);return JSON.stringify(n)===JSON.stringify(e)?e:n})},[i]);let[m,h]=(0,n.useState)(void 0),g=(0,n.useCallback)((e,t)=>{if(!d.current)return!1;let n=d.current[e];return n?n.values.some(e=>e.id===t):!1},[]),_=(0,n.useCallback)(e=>{h(t=>{let n={...f,...t,...e};for(let[e,t]of Object.entries(n))g(e,t)||delete n[e];for(let[e,t]of Object.entries(d.current??{}))!n[e]&&t.defaultValue!==void 0&&(n[e]=t.defaultValue);return JSON.stringify(n)===JSON.stringify(t)?t:n})},[f,g]);(0,n.useEffect)(()=>{if(!f&&!l){h(void 0);return}_()},[f,l,_]);let v=(0,n.useRef)(void 0);(0,n.useEffect)(()=>{if(r&&!r.options||!e){u(void 0),h(void 0),o(void 0),v.current=void 0;return}let t=m?JSON.stringify(m):``;if(v.current===t){c(!1),o(void 0);return}let n=new AbortController;return c(!0),o(void 0),e.provideUIOptions(m?{selectedOptions:m}:{},{signal:n.signal}).then(e=>{n.signal.aborted||(u(t=>JSON.stringify(t)===JSON.stringify(e)?t:e),v.current=t)}).catch(e=>{n.signal.aborted||o(e instanceof Error?e:Error(String(e)))}).finally(()=>{c(!1)}),()=>{n.abort()}},[e,r,m]);let y=(0,n.useCallback)((e,t)=>{_({[e]:t})},[_]);return{schema:l,options:m,setOption:y,loading:s,error:a}}exports.useOptions=r;
1
+ const e=require(`../client-DFaZjb1-.cjs`),t=require(`../index.browser-BwGhLjB7.cjs`);let n=require(`react`);n=e.__toESM(n);function r({agent:e,capabilities:r,messages:i}){let[a,o]=(0,n.useState)(void 0),[s,c]=(0,n.useState)(!0),[l,u]=(0,n.useState)(void 0),d=(0,n.useRef)(l);(0,n.useEffect)(()=>{d.current=l},[l]);let[f,p]=(0,n.useState)(()=>t.lastUIOptions(i));(0,n.useEffect)(()=>{p(e=>{let n=t.lastUIOptions(i);return JSON.stringify(n)===JSON.stringify(e)?e:n})},[i]);let[m,h]=(0,n.useState)(void 0),g=(0,n.useCallback)((e,t)=>{if(!d.current)return!1;let n=d.current[e];return n?n.values.some(e=>e.id===t):!1},[]),_=(0,n.useCallback)(e=>{h(t=>{let n={...f,...t,...e};for(let[e,t]of Object.entries(n))g(e,t)||delete n[e];for(let[e,t]of Object.entries(d.current??{}))!n[e]&&t.defaultValue!==void 0&&(n[e]=t.defaultValue);return JSON.stringify(n)===JSON.stringify(t)?t:n})},[f,g]);(0,n.useEffect)(()=>{if(!f&&!l){h(void 0);return}_()},[f,l,_]);let v=(0,n.useRef)(void 0),y=(0,n.useRef)(void 0);(0,n.useEffect)(()=>{e!==y.current&&(y.current=e,u(void 0),h(void 0),o(void 0),c(!0),v.current=void 0)},[e]),(0,n.useEffect)(()=>{if(r&&!r.options||!e){u(void 0),h(void 0),o(void 0),v.current=void 0;return}let t=m?JSON.stringify(m):``;if(v.current===t){c(!1),o(void 0);return}let n=new AbortController;return c(!0),o(void 0),e.provideUIOptions(m?{selectedOptions:m}:{},{signal:n.signal}).then(e=>{n.signal.aborted||(u(t=>JSON.stringify(t)===JSON.stringify(e)?t:e),v.current=t)}).catch(e=>{n.signal.aborted||o(e instanceof Error?e:Error(String(e)))}).finally(()=>{c(!1)}),()=>{n.abort()}},[e,r,m]);let b=(0,n.useCallback)((e,t)=>{_({[e]:t})},[_]);return{schema:l,options:m,setOption:b,loading:s,error:a}}exports.useOptions=r;
@@ -1,5 +1,5 @@
1
- import { Options, OptionsSchema } from "../index.browser-DokYAoMj.cjs";
2
- import { CapabilitiesResponse, Client } from "../client-lXd2XNhf.cjs";
1
+ import { Options, OptionsSchema } from "../index.browser-c6tjyX5u.cjs";
2
+ import { CapabilitiesResponse, Client } from "../client-B7xl9jGk.cjs";
3
3
  import { UIMessage } from "ai";
4
4
 
5
5
  //#region src/react/use-options.d.ts
@@ -1,5 +1,5 @@
1
- import { Options, OptionsSchema } from "../index.browser-DSTjG8Ih.js";
2
- import { CapabilitiesResponse, Client } from "../client-LG-tSJAT.js";
1
+ import { Options, OptionsSchema } from "../index.browser-ekIUKJkA.js";
2
+ import { CapabilitiesResponse, Client } from "../client-3mJjOKuh.js";
3
3
  import { UIMessage } from "ai";
4
4
 
5
5
  //#region src/react/use-options.d.ts
@@ -1 +1 @@
1
- import"../client-BbZudkEc.js";import{lastUIOptions as e}from"../index.browser-Dj8kjB6X.js";import{useCallback as t,useEffect as n,useRef as r,useState as i}from"react";function a({agent:a,capabilities:o,messages:s}){let[c,l]=i(void 0),[u,d]=i(!0),[f,p]=i(void 0),m=r(f);n(()=>{m.current=f},[f]);let[h,g]=i(()=>e(s));n(()=>{g(t=>{let n=e(s);return JSON.stringify(n)===JSON.stringify(t)?t:n})},[s]);let[_,v]=i(void 0),y=t((e,t)=>{if(!m.current)return!1;let n=m.current[e];return n?n.values.some(e=>e.id===t):!1},[]),b=t(e=>{v(t=>{let n={...h,...t,...e};for(let[e,t]of Object.entries(n))y(e,t)||delete n[e];for(let[e,t]of Object.entries(m.current??{}))!n[e]&&t.defaultValue!==void 0&&(n[e]=t.defaultValue);return JSON.stringify(n)===JSON.stringify(t)?t:n})},[h,y]);n(()=>{if(!h&&!f){v(void 0);return}b()},[h,f,b]);let x=r(void 0);n(()=>{if(o&&!o.options||!a){p(void 0),v(void 0),l(void 0),x.current=void 0;return}let e=_?JSON.stringify(_):``;if(x.current===e){d(!1),l(void 0);return}let t=new AbortController;return d(!0),l(void 0),a.provideUIOptions(_?{selectedOptions:_}:{},{signal:t.signal}).then(n=>{t.signal.aborted||(p(e=>JSON.stringify(e)===JSON.stringify(n)?e:n),x.current=e)}).catch(e=>{t.signal.aborted||l(e instanceof Error?e:Error(String(e)))}).finally(()=>{d(!1)}),()=>{t.abort()}},[a,o,_]);let S=t((e,t)=>{b({[e]:t})},[b]);return{schema:f,options:_,setOption:S,loading:u,error:c}}export{a as useOptions};
1
+ import"../client-BbZudkEc.js";import{lastUIOptions as e}from"../index.browser-Dj8kjB6X.js";import{useCallback as t,useEffect as n,useRef as r,useState as i}from"react";function a({agent:a,capabilities:o,messages:s}){let[c,l]=i(void 0),[u,d]=i(!0),[f,p]=i(void 0),m=r(f);n(()=>{m.current=f},[f]);let[h,g]=i(()=>e(s));n(()=>{g(t=>{let n=e(s);return JSON.stringify(n)===JSON.stringify(t)?t:n})},[s]);let[_,v]=i(void 0),y=t((e,t)=>{if(!m.current)return!1;let n=m.current[e];return n?n.values.some(e=>e.id===t):!1},[]),b=t(e=>{v(t=>{let n={...h,...t,...e};for(let[e,t]of Object.entries(n))y(e,t)||delete n[e];for(let[e,t]of Object.entries(m.current??{}))!n[e]&&t.defaultValue!==void 0&&(n[e]=t.defaultValue);return JSON.stringify(n)===JSON.stringify(t)?t:n})},[h,y]);n(()=>{if(!h&&!f){v(void 0);return}b()},[h,f,b]);let x=r(void 0),S=r(void 0);n(()=>{a!==S.current&&(S.current=a,p(void 0),v(void 0),l(void 0),d(!0),x.current=void 0)},[a]),n(()=>{if(o&&!o.options||!a){p(void 0),v(void 0),l(void 0),x.current=void 0;return}let e=_?JSON.stringify(_):``;if(x.current===e){d(!1),l(void 0);return}let t=new AbortController;return d(!0),l(void 0),a.provideUIOptions(_?{selectedOptions:_}:{},{signal:t.signal}).then(n=>{t.signal.aborted||(p(e=>JSON.stringify(e)===JSON.stringify(n)?e:n),x.current=e)}).catch(e=>{t.signal.aborted||l(e instanceof Error?e:Error(String(e)))}).finally(()=>{d(!1)}),()=>{t.abort()}},[a,o,_]);let C=t((e,t)=>{b({[e]:t})},[b]);return{schema:f,options:_,setOption:C,loading:u,error:c}}export{a as useOptions};
@@ -1,4 +1,4 @@
1
- import{__commonJSMin as e,__export as t,__reExport as n,__require as r,__toESM as i}from"./chunk-ByIbJXPc.js";import{Y as a}from"./dist-NqrnQGst.js";import{open_default as o}from"./open-CSMQaj0E.js";import{createRequire as s}from"node:module";import{createReadStream as c}from"node:fs";import l from"node:process";import{dirname as u,join as d}from"path";import{existsSync as f,mkdirSync as p,readFileSync as m,writeFileSync as h}from"fs";import{createRequire as g}from"module";import*as _ from"fs/promises";import v,{z as y}from"zod";import"zod/v4";import"zod/v3";import*as b from"node:fs/promises";import{spawn as x}from"child_process";import S from"node:os";import C from"node:tty";y.object({email:y.string().email(),password:y.string().min(8)}),y.object({email:y.string().email(),code:y.string()}),y.object({email:y.string().email(),password:y.string().min(8)});var w=class{constructor(e,t){this.client=e,this.baseURL=t}async token(e,t={timeout:12e4}){return new Promise((n,r)=>{let i=crypto.randomUUID(),a=this.client.websocket(`/api/auth/token?id=${i}`),o=new URL(`/auth?id=${i}`,this.baseURL),s=setTimeout(()=>{r(Error(`Timeout waiting for the user to authenticate`))},t.timeout);a.onerror=e=>{clearTimeout(s),console.log(`error`,e),r(Error(`Failed to connect to server`))},a.onopen=()=>{e(o.toString(),i)},a.onmessage=e=>{typeof e.data==`string`&&(clearTimeout(s),n(e.data))}})}};const T=async(e,t)=>{if(e.status!==t){let n=await e.text();try{let r=JSON.parse(n);throw r.message?Error(r.message,{cause:r.details}):Error(`Expected status ${t}, got ${e.status}: ${n}`)}catch(r){throw Error(`Expected status ${t}, got ${e.status}: ${n}`)}}},E=y.object({per_page:y.number().int().positive().max(100).default(10).optional(),page:y.number().int().nonnegative().default(0).optional()}),D=e=>y.object({has_more:y.boolean(),items:y.array(e)}),O=y.object({limit:y.number().int().positive().max(100).default(10).optional(),cursor:y.string().optional()}),k=e=>y.object({next_cursor:y.string().nullable(),items:y.array(e)}),A=y.record(y.string().min(1).max(64),y.string().max(512)).nullable().refine(e=>e?Object.keys(e).length<=16:!0,{message:`Metadata must contain at most 16 keys`}),j=/^[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,38}$/i;y.object({agent_id:y.uuid(),deployment_id:y.uuid()}),y.object({agent_id:y.uuid(),deployment_id:y.uuid()});const ee=y.object({path:y.string(),id:y.uuid()}),M=ee.or(y.object({path:y.string(),data:y.string().max(1024*1024*5)})),N=y.enum([`production`,`preview`]);y.object({agent_id:y.uuid(),files:y.array(M),target:N,entrypoint:y.string().optional(),message:y.string().max(128).optional()});const P=y.object({id:y.uuid(),number:y.number().int().positive(),created_at:y.iso.datetime(),updated_at:y.iso.datetime(),created_by:y.uuid().nullable(),created_from:y.enum([`cli`]),agent_id:y.uuid(),files:y.array(ee),status:y.enum([`success`,`failed`,`deploying`,`pending`]),target:N,error_message:y.string().nullable(),user_message:y.string().nullable(),platform:y.enum([`lambda`]),platform_memory_mb:y.number().int().positive(),platform_region:y.string().nullable()});y.object({id:y.uuid(),created_at:y.string().datetime(),updated_at:y.string().datetime(),agent_id:y.uuid(),deployment_id:y.uuid(),level:y.enum([`log`,`info`,`warning`,`error`]),message:y.string()}),E.extend({agent_id:y.uuid(),order:y.enum([`asc`,`desc`]).default(`asc`).optional()}),D(P);var te=class{constructor(e){this.client=e}async list(e){let t=new URLSearchParams;e.page&&t.set(`page`,e.page.toString()),e.per_page&&t.set(`per_page`,e.per_page.toString()),e.order&&t.set(`order`,e.order);let n=await this.client.request(`GET`,`/api/agents/${e.agent_id}/deployments?${t.toString()}`);return await T(n,200),n.json()}async get(e){let t=await this.client.request(`GET`,`/api/agents/${e.agent_id}/deployments/${e.deployment_id}`);return await T(t,200),t.json()}async create(e){let t=await this.client.request(`POST`,`/api/agents/${e.agent_id}/deployments`,JSON.stringify(e));return await T(t,200),t.json()}async delete(e){let t=await this.client.request(`DELETE`,`/api/agents/${e.agent_id}/deployments/${e.deployment_id}`);await T(t,200)}async promote(){}async logs(){}};y.object({agent_id:y.uuid(),target:N.array().optional()}),y.object({id:y.uuid(),created_at:y.date(),updated_at:y.date(),created_by:y.uuid(),updated_by:y.uuid(),key:y.string(),value:y.string().nullable(),secret:y.boolean(),target:N.array()});const ne=y.object({key:y.string(),value:y.string(),secret:y.boolean(),target:N.array().optional(),upsert:y.boolean().optional()});ne.extend({agent_id:y.uuid()}),y.object({agent_id:y.uuid(),id:y.uuid()}),y.object({agent_id:y.uuid(),id:y.uuid(),key:y.string().optional(),value:y.string().optional(),secret:y.boolean().optional(),target:N.array().default([`preview`,`production`]).optional()});var F=class{constructor(e){this.client=e}async list(e){let t=new URLSearchParams;if(e.target)for(let n of e.target)t.append(`target`,n);let n=await this.client.request(`GET`,`/api/agents/${e.agent_id}/env?${t.toString()}`);return await T(n,200),n.json()}async create(e){let t=await this.client.request(`POST`,`/api/agents/${e.agent_id}/env`,JSON.stringify(e));return await T(t,200),t.json()}async delete(e){let t=await this.client.request(`DELETE`,`/api/agents/${e.agent_id}/env/${e.id}`);await T(t,204)}async update(e){let t=await this.client.request(`PUT`,`/api/agents/${e.agent_id}/env/${e.id}`,JSON.stringify(e));return await T(t,200),t.json()}};const I=y.object({id:y.string(),agent_id:y.uuid(),agent_deployment_id:y.uuid(),received_at:y.date(),request_method:y.string(),request_handler_location:y.string().nullable(),duration_ms:y.number().nullable(),error:y.string().nullable(),response_status:y.number().nullable()});I.extend({request_headers:y.record(y.string(),y.string()),request_headers_redacted:y.boolean(),request_body:y.string().nullable(),request_body_redacted:y.boolean(),response_headers:y.record(y.string(),y.string()).nullable(),response_headers_redacted:y.boolean(),response_body:y.string().nullable(),response_body_redacted:y.boolean()}),O.extend({agent_id:y.string(),agent_deployment_id:y.number().optional()}),k(I);var re=class{constructor(e){this.client=e}async log(e){let t=await this.client.request(`GET`,`/api/agents/${e.agent_id}/webhook/logs/${e.webhook_id}`);return await T(t,200),t.json()}async logs(e){let t=new URLSearchParams;e.agent_deployment_id&&t.set(`agent_deployment_id`,e.agent_deployment_id.toString()),e.limit&&t.set(`limit`,e.limit.toString()),e.cursor&&t.set(`cursor`,e.cursor);let n=await this.client.request(`GET`,`/api/agents/${e.agent_id}/webhook/logs?${t.toString()}`);return await T(n,200),n.json()}};O.extend({agent_id:y.uuid(),agent_deployment_id:y.uuid().optional()}),y.object({agent_id:y.uuid(),run_id:y.uuid()});var ie=class{constructor(e){this.client=e}async list(e){let t=new URLSearchParams;e.agent_deployment_id&&t.set(`agent_deployment_id`,e.agent_deployment_id),e.limit&&t.set(`limit`,e.limit.toString()),e.cursor&&t.set(`cursor`,e.cursor);let n=await this.client.request(`GET`,`/api/agents/${e.agent_id}/runs?${t.toString()}`);return await T(n,200),n.json()}async get(e){let t=await this.client.request(`GET`,`/api/agents/${e.agent_id}/runs/${e.run_id}`);return await T(t,200),t.json()}};const ae=y.enum([`streaming`,`stalled`,`completed`,`interrupted`,`error`]),oe=y.enum([`tool_call`,`queued_message`]),se=y.object({id:y.uuid(),number:y.number().int().positive(),chat_id:y.uuid(),chat_run_id:y.uuid(),agent_id:y.uuid(),agent_deployment_id:y.uuid(),started_at:y.string().datetime(),status:ae,error:y.string().nullable(),continuation_reason:oe.nullable(),response_status:y.number().nullable(),response_message_id:y.uuid().nullable()});se.extend({heartbeat_at:y.date(),completed_at:y.date().nullable(),interrupted_at:y.date().nullable(),first_message_id:y.uuid().nullable(),last_message_id:y.uuid().nullable(),response_headers:y.record(y.string(),y.string()).nullable(),response_headers_redacted:y.boolean(),response_body:y.string().nullable(),response_body_redacted:y.boolean()}),O.extend({chat_id:y.uuid(),run_id:y.uuid().optional()}),k(se);var ce=class{constructor(e){this.client=e}async list(e){let t=new URLSearchParams;e.run_id&&t.set(`run_id`,e.run_id);let n=await this.client.request(`GET`,`/api/chats/${e.chat_id}/steps?${t.toString()}`);return await T(n,200),n.json()}async get(e){let t=await this.client.request(`GET`,`/api/chats/${e.chat_id}/steps/${e.step_id}`);return await T(t,200),t.json()}};O.extend({agent_id:y.uuid(),agent_deployment_id:y.uuid().optional(),chat_id:y.uuid().optional(),run_id:y.uuid().optional(),status:ae.optional()}),k(se);var le=class{constructor(e){this.client=e}async list(e){let t=new URLSearchParams;e.run_id&&t.set(`run_id`,e.run_id),e.agent_deployment_id&&t.set(`agent_deployment_id`,e.agent_deployment_id),e.chat_id&&t.set(`chat_id`,e.chat_id),e.status&&t.set(`status`,e.status);let n=await this.client.request(`GET`,`/api/agents/${e.agent_id}/steps?${t.toString()}`);return await T(n,200),n.json()}async get(e){let t=await this.client.request(`GET`,`/api/agents/${e.agent_id}/steps/${e.step_id}`);return await T(t,200),t.json()}};v.object({start_time:v.iso.datetime().pipe(v.coerce.date()),end_time:v.iso.datetime().pipe(v.coerce.date()),message_pattern:v.string().optional(),limit:v.string().pipe(v.coerce.number().min(1).max(1e4)).optional()});const ue=v.object({timestamp:v.iso.datetime().pipe(v.coerce.date()),message:v.string(),level:v.enum([`info`,`error`,`warn`])}),de=v.object({logs:v.array(ue)});var fe=class{constructor(e){this.client=e}async logs(e){let t=new URLSearchParams;t.set(`start_time`,e.start_time.toISOString()),t.set(`end_time`,e.end_time.toISOString()),e.limit&&t.set(`limit`,e.limit.toString()),e.message_pattern&&t.set(`message_pattern`,e.message_pattern);let n=await this.client.request(`GET`,`/api/agents/${e.agent_id}/logs?${t.toString()}`);await T(n,200);let r=await n.json();return de.parse(r)}};const pe=y.enum([`private`,`public`]);y.object({organization_id:y.uuid(),name:y.string().regex(j),description:y.string().optional(),visibility:pe.default(`private`).optional(),files:y.array(M).optional(),entrypoint:y.string().optional(),env:y.array(ne).optional()});const me=y.object({id:y.uuid(),organization_id:y.uuid(),created_at:y.iso.datetime(),updated_at:y.iso.datetime(),created_by:y.uuid(),name:y.string().regex(j),description:y.string().nullable(),avatar_url:y.string().nullable(),visibility:pe,active_deployment_id:y.uuid().nullable(),webhook_route:y.string().url().nullable().describe(`The route for the agent's webhook. Only visible to owners.`)});y.object({id:y.uuid(),name:y.string().regex(j).optional(),description:y.string().optional(),visibility:pe.optional(),active_deployment_id:y.uuid().optional()}),E.extend({organization_id:y.uuid().optional()}),D(me);var he=class{constructor(e){this.client=e,this.deployments=new te(e),this.env=new F(e),this.webhook=new re(e),this.runs=new ie(e),this.steps=new le(e),this.logs=new fe(e)}async create(e){let t=await this.client.request(`POST`,`/api/agents`,JSON.stringify(e));return await T(t,200),t.json()}async update(e){let t=await this.client.request(`PATCH`,`/api/agents/${e.id}`,JSON.stringify(e));return await T(t,200),t.json()}async get(e){let t=await this.client.request(`GET`,`/api/agents/${e}`);return await T(t,200),t.json()}async list(e){let t=new URLSearchParams;e.organization_id&&t.set(`organization_id`,e.organization_id),e.page&&t.set(`page`,e.page.toString()),e.per_page&&t.set(`per_page`,e.per_page.toString());let n=await this.client.request(`GET`,`/api/agents?${t.toString()}`);return await T(n,200),n.json()}async delete(e){let t=await this.client.request(`DELETE`,`/api/agents/${e}`);await T(t,204)}},ge=class{constructor(e){this.client=e}async upload(e){let t=new FormData;t.append(`file`,e);let n=await this.client.request(`POST`,`/api/files`,t);return await T(n,201),n.json()}async get(e){let t=await this.client.request(`GET`,`/api/files/${e}`);return await T(t,200),new File([await t.blob()],``)}};const _e=y.enum([`owner`,`admin`,`billing_admin`,`member`]),ve=y.object({user_id:y.uuid(),organization_id:y.uuid(),role:_e,created_at:y.date(),updated_at:y.date()}),ye=y.object({id:y.uuid(),created_at:y.date(),updated_at:y.date(),display_name:y.string().nullable(),email:y.email(),avatar_url:y.url().nullable(),username:y.string()}),be=ve.extend({user:ye});E.extend({organization_id:y.uuid()}),D(be),y.object({organization_id:y.uuid(),user_id:y.uuid()});const xe=y.object({role:y.enum([`owner`,`admin`,`member`,`billing_admin`]).optional()});xe.extend({organization_id:y.uuid(),user_id:y.uuid()});var Se=class{constructor(e){this.client=e}async list(e){let t=new URLSearchParams;e.per_page&&t.set(`per_page`,e.per_page.toString()),e.page&&t.set(`page`,e.page.toString());let n=await this.client.request(`GET`,`/api/organizations/${e.organization_id}/members?${t.toString()}`);return await T(n,200),n.json()}async get(e){let t=await this.client.request(`GET`,`/api/organizations/${e.organization_id}/members/${e.user_id}`);return await T(t,200),t.json()}async delete(e){let t=await this.client.request(`DELETE`,`/api/organizations/${e.organization_id}/members/${e.user_id}`);await T(t,204)}async update(e){let t=await this.client.request(`PUT`,`/api/organizations/${e.organization_id}/members/${e.user_id}`,JSON.stringify({role:e.role}));return await T(t,200),t.json()}},Ce=class{constructor(e){this.client=e}async get(e){let t=await this.client.request(`GET`,`/api/organizations/${e.organization_id}/agents/${e.agent_name}`);return await T(t,200),t.json()}};y.object({id:y.uuid(),name:y.string(),created_at:y.date(),updated_at:y.date(),membership:ve.nullable(),members_url:y.url(),invites_url:y.url(),avatar_url:y.url().nullable()}),y.object({name:y.string().regex(j)});var we=class{constructor(e){this.client=e,this.members=new Se(e),this.agents=new Ce(e)}async list(){let e=await this.client.request(`GET`,`/api/organizations`);return await T(e,200),e.json()}async get(e){let t=await this.client.request(`GET`,`/api/organizations/${e}`);return await T(t,200),t.json()}async create(e){let t=await this.client.request(`POST`,`/api/organizations`,JSON.stringify(e));return await T(t,201),t.json()}async delete(e){let t=await this.client.request(`DELETE`,`/api/organizations/${e}`);await T(t,204)}};v.object({id:v.uuid(),created_at:v.date(),updated_at:v.date(),email:v.string().email(),email_verified:v.boolean(),display_name:v.string(),username:v.string(),organization_id:v.uuid(),avatar_url:v.string().url().nullable()});var Te=class{constructor(e){this.client=e}async me(){return this.get(`me`)}async get(e){let t=await this.client.request(`GET`,`/api/users/${e}`);return await T(t,200),t.json()}},Ee=`vercel.ai.error`,De=Symbol.for(Ee),Oe,ke=class e extends Error{constructor({name:e,message:t,cause:n}){super(t),this[Oe]=!0,this.name=e,this.cause=n}static isInstance(t){return e.hasMarker(t,Ee)}static hasMarker(e,t){let n=Symbol.for(t);return typeof e==`object`&&!!e&&n in e&&typeof e[n]==`boolean`&&e[n]===!0}};Oe=De;var Ae=ke,je=`AI_APICallError`,Me=`vercel.ai.error.${je}`,Ne=Symbol.for(Me),Pe;Pe=Ne;var Fe=`AI_EmptyResponseBodyError`,Ie=`vercel.ai.error.${Fe}`,Le=Symbol.for(Ie),Re;Re=Le;function ze(e){return e==null?`unknown error`:typeof e==`string`?e:e instanceof Error?e.message:JSON.stringify(e)}var Be=`AI_InvalidArgumentError`,Ve=`vercel.ai.error.${Be}`,He=Symbol.for(Ve),Ue,We=class extends Ae{constructor({message:e,cause:t,argument:n}){super({name:Be,message:e,cause:t}),this[Ue]=!0,this.argument=n}static isInstance(e){return Ae.hasMarker(e,Ve)}};Ue=He;var Ge=`AI_InvalidPromptError`,Ke=`vercel.ai.error.${Ge}`,qe=Symbol.for(Ke),Je;Je=qe;var Ye=`AI_InvalidResponseDataError`,Xe=`vercel.ai.error.${Ye}`,Ze=Symbol.for(Xe),Qe;Qe=Ze;var $e=`AI_JSONParseError`,et=`vercel.ai.error.${$e}`,tt=Symbol.for(et),nt,rt=class extends Ae{constructor({text:e,cause:t}){super({name:$e,message:`JSON parsing failed: Text: ${e}.
1
+ import{__commonJSMin as e,__export as t,__reExport as n,__require as r,__toESM as i}from"./chunk-ByIbJXPc.js";import{Y as a}from"./dist-CN69Y-yA.js";import{open_default as o}from"./open-Cr8lEmcs.js";import{createRequire as s}from"node:module";import{createReadStream as c}from"node:fs";import l from"node:process";import{dirname as u,join as d}from"path";import{existsSync as f,mkdirSync as p,readFileSync as m,writeFileSync as h}from"fs";import{createRequire as g}from"module";import*as _ from"fs/promises";import v,{z as y}from"zod";import"zod/v4";import"zod/v3";import*as b from"node:fs/promises";import{spawn as x}from"child_process";import S from"node:os";import C from"node:tty";y.object({email:y.string().email(),password:y.string().min(8)}),y.object({email:y.string().email(),code:y.string()}),y.object({email:y.string().email(),password:y.string().min(8)});var w=class{constructor(e,t){this.client=e,this.baseURL=t}async token(e,t={timeout:12e4}){return new Promise((n,r)=>{let i=crypto.randomUUID(),a=this.client.websocket(`/api/auth/token?id=${i}`),o=new URL(`/auth?id=${i}`,this.baseURL),s=setTimeout(()=>{r(Error(`Timeout waiting for the user to authenticate`))},t.timeout);a.onerror=e=>{clearTimeout(s),console.log(`error`,e),r(Error(`Failed to connect to server`))},a.onopen=()=>{e(o.toString(),i)},a.onmessage=e=>{typeof e.data==`string`&&(clearTimeout(s),n(e.data))}})}};const T=async(e,t)=>{if(e.status!==t){let n=await e.text();try{let r=JSON.parse(n);throw r.message?Error(r.message,{cause:r.details}):Error(`Expected status ${t}, got ${e.status}: ${n}`)}catch(r){throw Error(`Expected status ${t}, got ${e.status}: ${n}`)}}},E=y.object({per_page:y.number().int().positive().max(100).default(10).optional(),page:y.number().int().nonnegative().default(0).optional()}),D=e=>y.object({has_more:y.boolean(),items:y.array(e)}),O=y.object({limit:y.number().int().positive().max(100).default(10).optional(),cursor:y.string().optional()}),k=e=>y.object({next_cursor:y.string().nullable(),items:y.array(e)}),A=y.record(y.string().min(1).max(64),y.string().max(512)).nullable().refine(e=>e?Object.keys(e).length<=16:!0,{message:`Metadata must contain at most 16 keys`}),j=/^[a-z0-9](?:[a-z0-9]|-(?=[a-z0-9])){0,38}$/i;y.object({agent_id:y.uuid(),deployment_id:y.uuid()}),y.object({agent_id:y.uuid(),deployment_id:y.uuid()});const ee=y.object({path:y.string(),id:y.uuid()}),M=ee.or(y.object({path:y.string(),data:y.string().max(1024*1024*5)})),N=y.enum([`production`,`preview`]);y.object({agent_id:y.uuid(),files:y.array(M),target:N,entrypoint:y.string().optional(),message:y.string().max(128).optional()});const P=y.object({id:y.uuid(),number:y.number().int().positive(),created_at:y.iso.datetime(),updated_at:y.iso.datetime(),created_by:y.uuid().nullable(),created_from:y.enum([`cli`]),agent_id:y.uuid(),files:y.array(ee),status:y.enum([`success`,`failed`,`deploying`,`pending`]),target:N,error_message:y.string().nullable(),user_message:y.string().nullable(),platform:y.enum([`lambda`]),platform_memory_mb:y.number().int().positive(),platform_region:y.string().nullable()});y.object({id:y.uuid(),created_at:y.string().datetime(),updated_at:y.string().datetime(),agent_id:y.uuid(),deployment_id:y.uuid(),level:y.enum([`log`,`info`,`warning`,`error`]),message:y.string()}),E.extend({agent_id:y.uuid(),order:y.enum([`asc`,`desc`]).default(`asc`).optional()}),D(P);var te=class{constructor(e){this.client=e}async list(e){let t=new URLSearchParams;e.page&&t.set(`page`,e.page.toString()),e.per_page&&t.set(`per_page`,e.per_page.toString()),e.order&&t.set(`order`,e.order);let n=await this.client.request(`GET`,`/api/agents/${e.agent_id}/deployments?${t.toString()}`);return await T(n,200),n.json()}async get(e){let t=await this.client.request(`GET`,`/api/agents/${e.agent_id}/deployments/${e.deployment_id}`);return await T(t,200),t.json()}async create(e){let t=await this.client.request(`POST`,`/api/agents/${e.agent_id}/deployments`,JSON.stringify(e));return await T(t,200),t.json()}async delete(e){let t=await this.client.request(`DELETE`,`/api/agents/${e.agent_id}/deployments/${e.deployment_id}`);await T(t,200)}async promote(){}async logs(){}};y.object({agent_id:y.uuid(),target:N.array().optional()}),y.object({id:y.uuid(),created_at:y.date(),updated_at:y.date(),created_by:y.uuid(),updated_by:y.uuid(),key:y.string(),value:y.string().nullable(),secret:y.boolean(),target:N.array()});const ne=y.object({key:y.string(),value:y.string(),secret:y.boolean(),target:N.array().optional(),upsert:y.boolean().optional()});ne.extend({agent_id:y.uuid()}),y.object({agent_id:y.uuid(),id:y.uuid()}),y.object({agent_id:y.uuid(),id:y.uuid(),key:y.string().optional(),value:y.string().optional(),secret:y.boolean().optional(),target:N.array().default([`preview`,`production`]).optional()});var F=class{constructor(e){this.client=e}async list(e){let t=new URLSearchParams;if(e.target)for(let n of e.target)t.append(`target`,n);let n=await this.client.request(`GET`,`/api/agents/${e.agent_id}/env?${t.toString()}`);return await T(n,200),n.json()}async create(e){let t=await this.client.request(`POST`,`/api/agents/${e.agent_id}/env`,JSON.stringify(e));return await T(t,200),t.json()}async delete(e){let t=await this.client.request(`DELETE`,`/api/agents/${e.agent_id}/env/${e.id}`);await T(t,204)}async update(e){let t=await this.client.request(`PUT`,`/api/agents/${e.agent_id}/env/${e.id}`,JSON.stringify(e));return await T(t,200),t.json()}};const I=y.object({id:y.string(),agent_id:y.uuid(),agent_deployment_id:y.uuid(),received_at:y.date(),request_method:y.string(),request_handler_location:y.string().nullable(),duration_ms:y.number().nullable(),error:y.string().nullable(),response_status:y.number().nullable()});I.extend({request_headers:y.record(y.string(),y.string()),request_headers_redacted:y.boolean(),request_body:y.string().nullable(),request_body_redacted:y.boolean(),response_headers:y.record(y.string(),y.string()).nullable(),response_headers_redacted:y.boolean(),response_body:y.string().nullable(),response_body_redacted:y.boolean()}),O.extend({agent_id:y.string(),agent_deployment_id:y.number().optional()}),k(I);var re=class{constructor(e){this.client=e}async log(e){let t=await this.client.request(`GET`,`/api/agents/${e.agent_id}/webhook/logs/${e.webhook_id}`);return await T(t,200),t.json()}async logs(e){let t=new URLSearchParams;e.agent_deployment_id&&t.set(`agent_deployment_id`,e.agent_deployment_id.toString()),e.limit&&t.set(`limit`,e.limit.toString()),e.cursor&&t.set(`cursor`,e.cursor);let n=await this.client.request(`GET`,`/api/agents/${e.agent_id}/webhook/logs?${t.toString()}`);return await T(n,200),n.json()}};O.extend({agent_id:y.uuid(),agent_deployment_id:y.uuid().optional()}),y.object({agent_id:y.uuid(),run_id:y.uuid()});var ie=class{constructor(e){this.client=e}async list(e){let t=new URLSearchParams;e.agent_deployment_id&&t.set(`agent_deployment_id`,e.agent_deployment_id),e.limit&&t.set(`limit`,e.limit.toString()),e.cursor&&t.set(`cursor`,e.cursor);let n=await this.client.request(`GET`,`/api/agents/${e.agent_id}/runs?${t.toString()}`);return await T(n,200),n.json()}async get(e){let t=await this.client.request(`GET`,`/api/agents/${e.agent_id}/runs/${e.run_id}`);return await T(t,200),t.json()}};const ae=y.enum([`streaming`,`stalled`,`completed`,`interrupted`,`error`]),oe=y.enum([`tool_call`,`queued_message`]),se=y.object({id:y.uuid(),number:y.number().int().positive(),chat_id:y.uuid(),chat_run_id:y.uuid(),agent_id:y.uuid(),agent_deployment_id:y.uuid(),started_at:y.string().datetime(),status:ae,error:y.string().nullable(),continuation_reason:oe.nullable(),response_status:y.number().nullable(),response_message_id:y.uuid().nullable()});se.extend({heartbeat_at:y.date(),completed_at:y.date().nullable(),interrupted_at:y.date().nullable(),first_message_id:y.uuid().nullable(),last_message_id:y.uuid().nullable(),response_headers:y.record(y.string(),y.string()).nullable(),response_headers_redacted:y.boolean(),response_body:y.string().nullable(),response_body_redacted:y.boolean()}),O.extend({chat_id:y.uuid(),run_id:y.uuid().optional()}),k(se);var ce=class{constructor(e){this.client=e}async list(e){let t=new URLSearchParams;e.run_id&&t.set(`run_id`,e.run_id);let n=await this.client.request(`GET`,`/api/chats/${e.chat_id}/steps?${t.toString()}`);return await T(n,200),n.json()}async get(e){let t=await this.client.request(`GET`,`/api/chats/${e.chat_id}/steps/${e.step_id}`);return await T(t,200),t.json()}};O.extend({agent_id:y.uuid(),agent_deployment_id:y.uuid().optional(),chat_id:y.uuid().optional(),run_id:y.uuid().optional(),status:ae.optional()}),k(se);var le=class{constructor(e){this.client=e}async list(e){let t=new URLSearchParams;e.run_id&&t.set(`run_id`,e.run_id),e.agent_deployment_id&&t.set(`agent_deployment_id`,e.agent_deployment_id),e.chat_id&&t.set(`chat_id`,e.chat_id),e.status&&t.set(`status`,e.status);let n=await this.client.request(`GET`,`/api/agents/${e.agent_id}/steps?${t.toString()}`);return await T(n,200),n.json()}async get(e){let t=await this.client.request(`GET`,`/api/agents/${e.agent_id}/steps/${e.step_id}`);return await T(t,200),t.json()}};v.object({start_time:v.iso.datetime().pipe(v.coerce.date()),end_time:v.iso.datetime().pipe(v.coerce.date()),message_pattern:v.string().optional(),limit:v.string().pipe(v.coerce.number().min(1).max(1e4)).optional()});const ue=v.object({timestamp:v.iso.datetime().pipe(v.coerce.date()),message:v.string(),level:v.enum([`info`,`error`,`warn`])}),de=v.object({logs:v.array(ue)});var fe=class{constructor(e){this.client=e}async logs(e){let t=new URLSearchParams;t.set(`start_time`,e.start_time.toISOString()),t.set(`end_time`,e.end_time.toISOString()),e.limit&&t.set(`limit`,e.limit.toString()),e.message_pattern&&t.set(`message_pattern`,e.message_pattern);let n=await this.client.request(`GET`,`/api/agents/${e.agent_id}/logs?${t.toString()}`);await T(n,200);let r=await n.json();return de.parse(r)}};const pe=y.enum([`private`,`public`]);y.object({organization_id:y.uuid(),name:y.string().regex(j),description:y.string().optional(),visibility:pe.default(`private`).optional(),files:y.array(M).optional(),entrypoint:y.string().optional(),env:y.array(ne).optional()});const me=y.object({id:y.uuid(),organization_id:y.uuid(),created_at:y.iso.datetime(),updated_at:y.iso.datetime(),created_by:y.uuid(),name:y.string().regex(j),description:y.string().nullable(),avatar_url:y.string().nullable(),visibility:pe,active_deployment_id:y.uuid().nullable(),webhook_route:y.string().url().nullable().describe(`The route for the agent's webhook. Only visible to owners.`)});y.object({id:y.uuid(),name:y.string().regex(j).optional(),description:y.string().optional(),visibility:pe.optional(),active_deployment_id:y.uuid().optional()}),E.extend({organization_id:y.uuid().optional()}),D(me);var he=class{constructor(e){this.client=e,this.deployments=new te(e),this.env=new F(e),this.webhook=new re(e),this.runs=new ie(e),this.steps=new le(e),this.logs=new fe(e)}async create(e){let t=await this.client.request(`POST`,`/api/agents`,JSON.stringify(e));return await T(t,200),t.json()}async update(e){let t=await this.client.request(`PATCH`,`/api/agents/${e.id}`,JSON.stringify(e));return await T(t,200),t.json()}async get(e){let t=await this.client.request(`GET`,`/api/agents/${e}`);return await T(t,200),t.json()}async list(e){let t=new URLSearchParams;e.organization_id&&t.set(`organization_id`,e.organization_id),e.page&&t.set(`page`,e.page.toString()),e.per_page&&t.set(`per_page`,e.per_page.toString());let n=await this.client.request(`GET`,`/api/agents?${t.toString()}`);return await T(n,200),n.json()}async delete(e){let t=await this.client.request(`DELETE`,`/api/agents/${e}`);await T(t,204)}},ge=class{constructor(e){this.client=e}async upload(e){let t=new FormData;t.append(`file`,e);let n=await this.client.request(`POST`,`/api/files`,t);return await T(n,201),n.json()}async get(e){let t=await this.client.request(`GET`,`/api/files/${e}`);return await T(t,200),new File([await t.blob()],``)}};const _e=y.enum([`owner`,`admin`,`billing_admin`,`member`]),ve=y.object({user_id:y.uuid(),organization_id:y.uuid(),role:_e,created_at:y.date(),updated_at:y.date()}),ye=y.object({id:y.uuid(),created_at:y.date(),updated_at:y.date(),display_name:y.string().nullable(),email:y.email(),avatar_url:y.url().nullable(),username:y.string()}),be=ve.extend({user:ye});E.extend({organization_id:y.uuid()}),D(be),y.object({organization_id:y.uuid(),user_id:y.uuid()});const xe=y.object({role:y.enum([`owner`,`admin`,`member`,`billing_admin`]).optional()});xe.extend({organization_id:y.uuid(),user_id:y.uuid()});var Se=class{constructor(e){this.client=e}async list(e){let t=new URLSearchParams;e.per_page&&t.set(`per_page`,e.per_page.toString()),e.page&&t.set(`page`,e.page.toString());let n=await this.client.request(`GET`,`/api/organizations/${e.organization_id}/members?${t.toString()}`);return await T(n,200),n.json()}async get(e){let t=await this.client.request(`GET`,`/api/organizations/${e.organization_id}/members/${e.user_id}`);return await T(t,200),t.json()}async delete(e){let t=await this.client.request(`DELETE`,`/api/organizations/${e.organization_id}/members/${e.user_id}`);await T(t,204)}async update(e){let t=await this.client.request(`PUT`,`/api/organizations/${e.organization_id}/members/${e.user_id}`,JSON.stringify({role:e.role}));return await T(t,200),t.json()}},Ce=class{constructor(e){this.client=e}async get(e){let t=await this.client.request(`GET`,`/api/organizations/${e.organization_id}/agents/${e.agent_name}`);return await T(t,200),t.json()}};y.object({id:y.uuid(),name:y.string(),created_at:y.date(),updated_at:y.date(),membership:ve.nullable(),members_url:y.url(),invites_url:y.url(),avatar_url:y.url().nullable()}),y.object({name:y.string().regex(j)});var we=class{constructor(e){this.client=e,this.members=new Se(e),this.agents=new Ce(e)}async list(){let e=await this.client.request(`GET`,`/api/organizations`);return await T(e,200),e.json()}async get(e){let t=await this.client.request(`GET`,`/api/organizations/${e}`);return await T(t,200),t.json()}async create(e){let t=await this.client.request(`POST`,`/api/organizations`,JSON.stringify(e));return await T(t,201),t.json()}async delete(e){let t=await this.client.request(`DELETE`,`/api/organizations/${e}`);await T(t,204)}};v.object({id:v.uuid(),created_at:v.date(),updated_at:v.date(),email:v.string().email(),email_verified:v.boolean(),display_name:v.string(),username:v.string(),organization_id:v.uuid(),avatar_url:v.string().url().nullable()});var Te=class{constructor(e){this.client=e}async me(){return this.get(`me`)}async get(e){let t=await this.client.request(`GET`,`/api/users/${e}`);return await T(t,200),t.json()}},Ee=`vercel.ai.error`,De=Symbol.for(Ee),Oe,ke=class e extends Error{constructor({name:e,message:t,cause:n}){super(t),this[Oe]=!0,this.name=e,this.cause=n}static isInstance(t){return e.hasMarker(t,Ee)}static hasMarker(e,t){let n=Symbol.for(t);return typeof e==`object`&&!!e&&n in e&&typeof e[n]==`boolean`&&e[n]===!0}};Oe=De;var Ae=ke,je=`AI_APICallError`,Me=`vercel.ai.error.${je}`,Ne=Symbol.for(Me),Pe;Pe=Ne;var Fe=`AI_EmptyResponseBodyError`,Ie=`vercel.ai.error.${Fe}`,Le=Symbol.for(Ie),Re;Re=Le;function ze(e){return e==null?`unknown error`:typeof e==`string`?e:e instanceof Error?e.message:JSON.stringify(e)}var Be=`AI_InvalidArgumentError`,Ve=`vercel.ai.error.${Be}`,He=Symbol.for(Ve),Ue,We=class extends Ae{constructor({message:e,cause:t,argument:n}){super({name:Be,message:e,cause:t}),this[Ue]=!0,this.argument=n}static isInstance(e){return Ae.hasMarker(e,Ve)}};Ue=He;var Ge=`AI_InvalidPromptError`,Ke=`vercel.ai.error.${Ge}`,qe=Symbol.for(Ke),Je;Je=qe;var Ye=`AI_InvalidResponseDataError`,Xe=`vercel.ai.error.${Ye}`,Ze=Symbol.for(Xe),Qe;Qe=Ze;var $e=`AI_JSONParseError`,et=`vercel.ai.error.${$e}`,tt=Symbol.for(et),nt,rt=class extends Ae{constructor({text:e,cause:t}){super({name:$e,message:`JSON parsing failed: Text: ${e}.
2
2
  Error message: ${ze(t)}`,cause:t}),this[nt]=!0,this.text=e}static isInstance(e){return Ae.hasMarker(e,et)}};nt=tt;var it=`AI_LoadAPIKeyError`,at=`vercel.ai.error.${it}`,ot=Symbol.for(at),st;st=ot;var ct=`AI_LoadSettingError`,lt=`vercel.ai.error.${ct}`,ut=Symbol.for(lt),dt;dt=ut;var ft=`AI_NoContentGeneratedError`,pt=`vercel.ai.error.${ft}`,mt=Symbol.for(pt),ht;ht=mt;var gt=`AI_NoSuchModelError`,_t=`vercel.ai.error.${gt}`,vt=Symbol.for(_t),yt;yt=vt;var bt=`AI_TooManyEmbeddingValuesForCallError`,xt=`vercel.ai.error.${bt}`,St=Symbol.for(xt),Ct;Ct=St;var wt=`AI_TypeValidationError`,Tt=`vercel.ai.error.${wt}`,Et=Symbol.for(Tt),Dt,Ot=class e extends Ae{constructor({value:e,cause:t}){super({name:wt,message:`Type validation failed: Value: ${JSON.stringify(e)}.
3
3
  Error message: ${ze(t)}`,cause:t}),this[Dt]=!0,this.value=e}static isInstance(e){return Ae.hasMarker(e,Tt)}static wrap({value:t,cause:n}){return e.isInstance(n)&&n.value===t?n:new e({value:t,cause:n})}};Dt=Et;var kt=Ot,At=`AI_UnsupportedFunctionalityError`,jt=`vercel.ai.error.${At}`,Mt=Symbol.for(jt),Nt;Nt=Mt;var Pt=({prefix:e,size:t=16,alphabet:n=`0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz`,separator:r=`-`}={})=>{let i=()=>{let e=n.length,r=Array(t);for(let i=0;i<t;i++)r[i]=n[Math.random()*e|0];return r.join(``)};if(e==null)return i;if(n.includes(r))throw new We({argument:`separator`,message:`The separator "${r}" must not be part of the alphabet "${n}".`});return()=>`${e}${r}${i()}`};Pt();var Ft=/"__proto__"\s*:/,It=/"constructor"\s*:/;function Lt(e){let t=JSON.parse(e);return typeof t!=`object`||!t||Ft.test(e)===!1&&It.test(e)===!1?t:Rt(t)}function Rt(e){let t=[e];for(;t.length;){let e=t;t=[];for(let n of e){if(Object.prototype.hasOwnProperty.call(n,`__proto__`)||Object.prototype.hasOwnProperty.call(n,`constructor`)&&Object.prototype.hasOwnProperty.call(n.constructor,`prototype`))throw SyntaxError(`Object contains forbidden prototype property`);for(let e in n){let r=n[e];r&&typeof r==`object`&&t.push(r)}}}return e}function zt(e){let{stackTraceLimit:t}=Error;Error.stackTraceLimit=0;try{return Lt(e)}finally{Error.stackTraceLimit=t}}var Bt=Symbol.for(`vercel.ai.validator`);function Vt(e){return{[Bt]:!0,validate:e}}function Ht(e){return typeof e==`object`&&!!e&&Bt in e&&e[Bt]===!0&&`validate`in e}function Ut(e){return Ht(e)?e:Wt(e)}function Wt(e){return Vt(async t=>{let n=await e[`~standard`].validate(t);return n.issues==null?{success:!0,value:n.value}:{success:!1,error:new kt({value:t,cause:n.issues})}})}async function Gt({value:e,schema:t}){let n=Ut(t);try{if(n.validate==null)return{success:!0,value:e,rawValue:e};let t=await n.validate(e);return t.success?{success:!0,value:t.value,rawValue:e}:{success:!1,error:kt.wrap({value:e,cause:t.error}),rawValue:e}}catch(t){return{success:!1,error:kt.wrap({value:e,cause:t}),rawValue:e}}}async function Kt({text:e,schema:t}){try{let n=zt(e);return t==null?{success:!0,value:n,rawValue:n}:await Gt({value:n,schema:t})}catch(t){return{success:!1,error:rt.isInstance(t)?t:new rt({text:e,cause:t}),rawValue:void 0}}}var{btoa:qt,atob:Jt}=globalThis,Yt=class extends Error{constructor(e,t){super(e),this.name=`ParseError`,this.type=t.type,this.field=t.field,this.value=t.value,this.line=t.line}};function Xt(e){}function Zt(e){if(typeof e==`function`)throw TypeError("`callbacks` must be an object, got a function instead. Did you mean `{onEvent: fn}`?");let{onEvent:t=Xt,onError:n=Xt,onRetry:r=Xt,onComment:i}=e,a=``,o=!0,s,c=``,l=``;function u(e){let t=o?e.replace(/^\xEF\xBB\xBF/,``):e,[n,r]=Qt(`${a}${t}`);for(let e of n)d(e);a=r,o=!1}function d(e){if(e===``){p();return}if(e.startsWith(`:`)){i&&i(e.slice(e.startsWith(`: `)?2:1));return}let t=e.indexOf(`:`);if(t!==-1){let n=e.slice(0,t),r=e[t+1]===` `?2:1,i=e.slice(t+r);f(n,i,e);return}f(e,``,e)}function f(e,t,i){switch(e){case`event`:l=t;break;case`data`:c=`${c}${t}
4
4
  `;break;case`id`:s=t.includes(`\0`)?void 0:t;break;case`retry`:/^\d+$/.test(t)?r(parseInt(t,10)):n(new Yt(`Invalid \`retry\` value: "${t}"`,{type:`invalid-retry`,value:t,line:i}));break;default:n(new Yt(`Unknown field "${e.length>20?`${e.slice(0,20)}\u2026`:e}"`,{type:`unknown-field`,field:e,value:t,line:i}));break}}function p(){c.length>0&&t({id:s,event:l||void 0,data:c.endsWith(`
@@ -1 +1 @@
1
- import{import_websocket as e}from"./wrapper-B4vDwpOq.js";import{open_default as t}from"./open-CSMQaj0E.js";import{WorkspaceConnect as n}from"./connect-Cxa-uIEb.js";import"./events-CWgtj8lb.js";async function r(){let r=crypto.randomUUID(),i=new e.default(`wss://blink.so/legacy-auth?id=${r}`),a=new Promise((e,t)=>{i.onopen=()=>{e()},i.onerror=e=>{t(e)}});await a;let o=new Promise((e,t)=>{i.onmessage=t=>{e(t.data.toString())}}),s=`https://blink.so/legacy-auth?id=${r}&type=workspace`;console.log(`Opening the following URL in your browser: ${s}`),await t(s);let c=await o,l=new n({url:`wss://blink.so/api/connect`,token:c});l.onConnect(()=>{console.log(`Connected to Blink`)}),l.onDisconnect(()=>{console.log(`Disconnected from Blink`)})}export{r as default};
1
+ import{import_websocket as e}from"./wrapper-B4vDwpOq.js";import{open_default as t}from"./open-Cr8lEmcs.js";import{WorkspaceConnect as n}from"./connect-Cxa-uIEb.js";import"./events-CWgtj8lb.js";async function r(){let r=crypto.randomUUID(),i=new e.default(`wss://blink.so/legacy-auth?id=${r}`),a=new Promise((e,t)=>{i.onopen=()=>{e()},i.onerror=e=>{t(e)}});await a;let o=new Promise((e,t)=>{i.onmessage=t=>{e(t.data.toString())}}),s=`https://blink.so/legacy-auth?id=${r}&type=workspace`;console.log(`Opening the following URL in your browser: ${s}`),await t(s);let c=await o,l=new n({url:`wss://blink.so/api/connect`,token:c});l.onConnect(()=>{console.log(`Connected to Blink`)}),l.onDisconnect(()=>{console.log(`Disconnected from Blink`)})}export{r as default};