@dainprotocol/service-sdk 2.0.82 → 2.0.84

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.
@@ -2,7 +2,7 @@ import { type Tool } from "ai";
2
2
  import { DainClientAuth } from "./client-auth";
3
3
  import { DainPlugin } from "../plugins/types";
4
4
  import { ToolInterfaceType } from "../interfaces";
5
- import { ServiceMetadata, ServiceConfig, ToolboxConfig, ToolConfig, ServiceContext, ServiceContextWithData, ToolWithJsonSchema, ServiceWidgetWithData, OAuth2ProviderInfo, ProviderInfo, DirectAuthStatus, ExampleQueries, HumanActionStep, ServiceDatasource, ServiceDatasourceWithData, ServiceAgent } from "./types";
5
+ import { ServiceMetadata, ServiceConfig, ToolboxConfig, ToolConfig, ServiceContext, ServiceContextWithData, ToolWithJsonSchema, ServiceWidgetWithData, OAuth2ProviderInfo, ProviderInfo, DirectAuthStatus, ExampleQueries, HumanActionStep, ServiceDatasource, ServiceDatasourceWithData, ServiceAgent, RecommendationSearchRequest, RecommendationSearchResponse, RecommendationRenderRequest, RecommendationRenderResponse } from "./types";
6
6
  export type { ServiceMetadata, ServiceConfig, ToolboxConfig, ToolConfig, ServiceAgent };
7
7
  interface ToolCallOptions {
8
8
  onUIUpdate?: (update: {
@@ -19,17 +19,19 @@ export declare class DainServiceConnection {
19
19
  private clientAuth;
20
20
  private plugins;
21
21
  private enableStreaming;
22
+ private extraHeaders;
22
23
  private readonly streamIdleTimeoutMs;
23
24
  constructor(baseUrl: string, clientAuth: DainClientAuth, options?: {
24
25
  plugins?: DainPlugin[];
25
26
  enableStreaming?: boolean;
27
+ extraHeaders?: Record<string, string>;
26
28
  });
27
29
  getURI(): string;
28
30
  private processPluginInput;
29
31
  private processPluginOutput;
30
32
  private extractDataFromPluginResponse;
31
33
  private extractSingleFromPluginResponse;
32
- makeRequest(method: string, path: string, body?: Record<string, unknown>): Promise<unknown>;
34
+ makeRequest<TResult = any>(method: string, path: string, body?: Record<string, unknown>): Promise<TResult>;
33
35
  getMetadata(): Promise<ServiceMetadata>;
34
36
  getExampleQueries(): Promise<ExampleQueries>;
35
37
  getServices(): Promise<ServiceConfig[]>;
@@ -51,11 +53,13 @@ export declare class DainServiceConnection {
51
53
  tools: ToolWithJsonSchema[];
52
54
  reccomendedPrompts: string[];
53
55
  }>;
56
+ searchRecommendations(request?: RecommendationSearchRequest): Promise<RecommendationSearchResponse>;
57
+ renderRecommendations(request: RecommendationRenderRequest): Promise<RecommendationRenderResponse>;
54
58
  loadToolbox(toolboxId: string, execute?: boolean): Promise<Record<string, Tool>>;
55
59
  createVercelAITool(toolInfo: ToolConfig): Tool;
56
- callTool(toolId: string, params: Record<string, unknown>, options?: ToolCallOptions): Promise<unknown>;
57
- callToolAndGetNewContext(toolId: string, params: Record<string, unknown>, options?: ToolCallOptions): Promise<{
58
- toolResult: unknown;
60
+ callTool<TResult = any>(toolId: string, params: Record<string, unknown> | undefined, options?: ToolCallOptions): Promise<TResult>;
61
+ callToolAndGetNewContext<TToolResult = any>(toolId: string, params: Record<string, unknown> | undefined, options?: ToolCallOptions): Promise<{
62
+ toolResult: TToolResult;
59
63
  context: ServiceContextWithData[];
60
64
  }>;
61
65
  private _callToolWithStreaming;
@@ -96,6 +100,26 @@ export declare class DainServiceConnection {
96
100
  }>;
97
101
  listDatasources(): Promise<ServiceDatasource[]>;
98
102
  getDatasource(datasourceId: string, params: Record<string, unknown>): Promise<ServiceDatasourceWithData>;
103
+ /**
104
+ * Stream datasource updates over SSE.
105
+ *
106
+ * This is intended for "fresh" UI surfaces that want stream-first updates with
107
+ * a bounded poll fallback. Callers should always provide a fallback strategy
108
+ * because SSE can disconnect or be rate-limited.
109
+ *
110
+ * The returned AbortController can be used to close the stream.
111
+ */
112
+ streamDatasource(datasourceId: string, params: Record<string, unknown>, options: {
113
+ onUpdate: (update: ServiceDatasourceWithData) => void;
114
+ onError?: (error: Error) => void;
115
+ /**
116
+ * Optional requested interval for server-side streaming re-runs.
117
+ * Butterfly computes an effective interval after applying platform clamps
118
+ * and passes it here so services are not forced to run faster than allowed.
119
+ */
120
+ intervalMs?: number;
121
+ signal?: AbortSignal;
122
+ }): AbortController;
99
123
  postAllDatasources(): Promise<ServiceDatasource[]>;
100
124
  getToolsByInterface(interfaceType: ToolInterfaceType): Promise<ToolConfig[]>;
101
125
  getAvailableInterfaces(): Promise<ToolInterfaceType[]>;
@@ -13,12 +13,14 @@ class DainServiceConnection {
13
13
  clientAuth;
14
14
  plugins;
15
15
  enableStreaming;
16
+ extraHeaders;
16
17
  streamIdleTimeoutMs = 60000;
17
18
  constructor(baseUrl, clientAuth, options = {}) {
18
19
  this.baseUrl = baseUrl;
19
20
  this.clientAuth = clientAuth;
20
21
  this.plugins = options.plugins || [];
21
22
  this.enableStreaming = options.enableStreaming ?? false;
23
+ this.extraHeaders = options.extraHeaders || {};
22
24
  }
23
25
  getURI() {
24
26
  return this.baseUrl;
@@ -26,16 +28,26 @@ class DainServiceConnection {
26
28
  async processPluginInput(body) {
27
29
  if (this.plugins.length === 0)
28
30
  return body;
29
- const pluginsData = {};
31
+ const existingPlugins = body.plugins && typeof body.plugins === "object" && !Array.isArray(body.plugins)
32
+ ? body.plugins
33
+ : {};
34
+ const { plugins: _, ...bodyWithoutPlugins } = body;
35
+ const hasAllPluginPayloads = this.plugins.every((plugin) => Object.prototype.hasOwnProperty.call(existingPlugins, plugin.id));
36
+ // Many callers pre-process payloads before delegating to `makeRequest`.
37
+ // If all plugin payloads are already present, avoid redundant plugin work.
38
+ if (hasAllPluginPayloads) {
39
+ return body;
40
+ }
41
+ const pluginsData = { ...existingPlugins };
30
42
  for (const plugin of this.plugins) {
31
43
  if (plugin.processInputClient) {
32
- const pluginData = await plugin.processInputClient(body);
33
- if (pluginData) {
44
+ const pluginData = await plugin.processInputClient(bodyWithoutPlugins);
45
+ if (pluginData !== undefined) {
34
46
  pluginsData[plugin.id] = pluginData;
35
47
  }
36
48
  }
37
49
  }
38
- return { ...body, plugins: pluginsData };
50
+ return { ...bodyWithoutPlugins, plugins: pluginsData };
39
51
  }
40
52
  async processPluginOutput(data) {
41
53
  if (this.plugins.length === 0)
@@ -77,6 +89,7 @@ class DainServiceConnection {
77
89
  headers: {
78
90
  "Content-Type": "application/json",
79
91
  ...this.clientAuth.getHeaders(),
92
+ ...this.extraHeaders,
80
93
  },
81
94
  });
82
95
  return this.processPluginOutput(response.data);
@@ -89,6 +102,18 @@ class DainServiceConnection {
89
102
  : responseData?.message ?? error.message;
90
103
  const customError = new Error(serverError);
91
104
  customError.status = error.response.status;
105
+ customError.responseData = responseData;
106
+ // Preserve structured error hints (e.g. authorization_url) so clients can
107
+ // surface consent UX instead of generic "network error" toasts.
108
+ if (responseData && typeof responseData === "object") {
109
+ const maybe = responseData;
110
+ if (typeof maybe.authorization_url === "string") {
111
+ customError.authorization_url = maybe.authorization_url;
112
+ }
113
+ if (typeof maybe.service_url === "string") {
114
+ customError.service_url = maybe.service_url;
115
+ }
116
+ }
92
117
  throw customError;
93
118
  }
94
119
  throw error;
@@ -200,6 +225,41 @@ class DainServiceConnection {
200
225
  reccomendedPrompts: returned.reccomendedPrompts,
201
226
  };
202
227
  }
228
+ async searchRecommendations(request = {}) {
229
+ const parsedRequest = types_1.RecommendationSearchRequestSchema.parse(request);
230
+ const requestBody = await this.processPluginInput(parsedRequest);
231
+ const data = await this.makeRequest("POST", "/recommendations/search", requestBody);
232
+ if (data && typeof data === "object" && "plugins" in data) {
233
+ const parsed = this.extractSingleFromPluginResponse(data, types_1.RecommendationSearchResponseSchema);
234
+ return parsed;
235
+ }
236
+ return types_1.RecommendationSearchResponseSchema.parse(data);
237
+ }
238
+ async renderRecommendations(request) {
239
+ const parsedRequest = types_1.RecommendationRenderRequestSchema.parse(request);
240
+ const requestBody = await this.processPluginInput(parsedRequest);
241
+ try {
242
+ const data = await this.makeRequest("POST", "/recommendations/render", requestBody);
243
+ if (data && typeof data === "object" && "plugins" in data) {
244
+ const parsed = this.extractSingleFromPluginResponse(data, types_1.RecommendationRenderResponseSchema);
245
+ return parsed;
246
+ }
247
+ return types_1.RecommendationRenderResponseSchema.parse(data);
248
+ }
249
+ catch (error) {
250
+ const maybeError = error;
251
+ // Server may return 400 with structured render errors when continueOnError=false.
252
+ if (maybeError.status === 400 && maybeError.responseData) {
253
+ // Error responses can still be plugin-processed (encrypted/wrapped).
254
+ const responseData = await this.processPluginOutput(maybeError.responseData);
255
+ if (responseData && typeof responseData === "object" && "plugins" in responseData) {
256
+ return this.extractSingleFromPluginResponse(responseData, types_1.RecommendationRenderResponseSchema);
257
+ }
258
+ return types_1.RecommendationRenderResponseSchema.parse(responseData);
259
+ }
260
+ throw error;
261
+ }
262
+ }
203
263
  async loadToolbox(toolboxId, execute = true) {
204
264
  const toolbox = await this.getToolbox(toolboxId);
205
265
  const tools = {};
@@ -225,7 +285,7 @@ class DainServiceConnection {
225
285
  });
226
286
  }
227
287
  async callTool(toolId, params, options) {
228
- const processedParams = await this.processPluginInput(params);
288
+ const processedParams = await this.processPluginInput(params ?? {});
229
289
  if (this.enableStreaming) {
230
290
  const streamedResult = await this._callToolWithStreaming(toolId, processedParams, `/tools/${toolId}`, options);
231
291
  return this.sanitizeToolResponse(streamedResult, options);
@@ -234,7 +294,7 @@ class DainServiceConnection {
234
294
  return this.sanitizeToolResponse(response, options);
235
295
  }
236
296
  async callToolAndGetNewContext(toolId, params, options) {
237
- const processedParams = await this.processPluginInput(params);
297
+ const processedParams = await this.processPluginInput(params ?? {});
238
298
  const endpoint = `/tools/${toolId}/executeAndGetNewContext`;
239
299
  if (this.enableStreaming) {
240
300
  const streamedResult = await this._callToolWithStreaming(toolId, processedParams, endpoint, options);
@@ -251,6 +311,7 @@ class DainServiceConnection {
251
311
  'Content-Type': 'application/json',
252
312
  'Accept': 'text/event-stream',
253
313
  ...this.clientAuth.getHeaders(),
314
+ ...this.extraHeaders,
254
315
  },
255
316
  body: JSON.stringify(params),
256
317
  signal: abortController.signal,
@@ -511,6 +572,165 @@ class DainServiceConnection {
511
572
  const data = await this.makeRequest("POST", `/datasources/${datasourceId}`, requestBody);
512
573
  return this.extractSingleFromPluginResponse(data, types_1.ServiceDatasourceWithDataSchema);
513
574
  }
575
+ /**
576
+ * Stream datasource updates over SSE.
577
+ *
578
+ * This is intended for "fresh" UI surfaces that want stream-first updates with
579
+ * a bounded poll fallback. Callers should always provide a fallback strategy
580
+ * because SSE can disconnect or be rate-limited.
581
+ *
582
+ * The returned AbortController can be used to close the stream.
583
+ */
584
+ streamDatasource(datasourceId, params, options) {
585
+ const abortController = new AbortController();
586
+ if (options.signal) {
587
+ if (options.signal.aborted) {
588
+ abortController.abort();
589
+ }
590
+ else {
591
+ options.signal.addEventListener("abort", () => abortController.abort(), {
592
+ once: true,
593
+ });
594
+ }
595
+ }
596
+ const signal = abortController.signal;
597
+ void (async () => {
598
+ try {
599
+ const requestBody = await this.processPluginInput(params);
600
+ const endpoint = `/datasources/${datasourceId}/stream`;
601
+ const response = await fetch(`${this.baseUrl}${endpoint}`, {
602
+ method: "POST",
603
+ headers: {
604
+ "Content-Type": "application/json",
605
+ Accept: "text/event-stream",
606
+ ...this.clientAuth.getHeaders(),
607
+ ...this.extraHeaders,
608
+ },
609
+ body: JSON.stringify({
610
+ params: requestBody,
611
+ intervalMs: options.intervalMs,
612
+ }),
613
+ signal,
614
+ });
615
+ if (!response.ok) {
616
+ let message = `${response.status} ${response.statusText}`;
617
+ try {
618
+ const data = await response.json();
619
+ if (data && typeof data === "object") {
620
+ if ("message" in data) {
621
+ message = String(data.message);
622
+ }
623
+ else if ("error" in data) {
624
+ message = String(data.error);
625
+ }
626
+ }
627
+ }
628
+ catch { }
629
+ throw new Error(`Datasource stream HTTP error: ${message}`);
630
+ }
631
+ const reader = response.body?.getReader();
632
+ if (!reader)
633
+ throw new Error("No response body");
634
+ const decoder = new TextDecoder();
635
+ let buffer = "";
636
+ let currentEvent = null;
637
+ let currentDataLines = [];
638
+ const stripFieldValue = (value) => value.startsWith(" ") ? value.slice(1) : value;
639
+ const handleEvent = async (eventType, rawData) => {
640
+ let wrappedData = rawData;
641
+ if (rawData !== "") {
642
+ try {
643
+ wrappedData = JSON.parse(rawData);
644
+ }
645
+ catch {
646
+ wrappedData = rawData;
647
+ }
648
+ }
649
+ if (eventType === "error") {
650
+ const message = typeof wrappedData === "string"
651
+ ? wrappedData
652
+ : wrappedData?.message || rawData || "Unknown SSE error";
653
+ throw new Error(`SSE error: ${message}`);
654
+ }
655
+ if (eventType !== "datasource-update")
656
+ return;
657
+ const isSignedPayload = wrappedData && typeof wrappedData === "object" && "_signature" in wrappedData;
658
+ let payload = wrappedData;
659
+ if (isSignedPayload) {
660
+ const signedData = wrappedData;
661
+ const { signature, timestamp, address } = signedData._signature || {};
662
+ if (signature && timestamp && address) {
663
+ const dataString = JSON.stringify(signedData.data);
664
+ const isSignatureValid = this.clientAuth.verifyEventSignature(dataString, signature, timestamp, address);
665
+ if (!isSignatureValid) {
666
+ console.warn(`SSE event signature verification failed for datasource-update`);
667
+ }
668
+ }
669
+ payload = signedData.data;
670
+ }
671
+ // Unwrap plugin-encrypted payloads, then validate schema
672
+ const processed = await this.processPluginOutput(payload);
673
+ const parsed = types_1.ServiceDatasourceWithDataSchema.parse(processed);
674
+ options.onUpdate(parsed);
675
+ };
676
+ const flushEvent = async () => {
677
+ if (!currentEvent && currentDataLines.length === 0)
678
+ return;
679
+ const eventType = currentEvent || "message";
680
+ const rawData = currentDataLines.join("\n");
681
+ currentEvent = null;
682
+ currentDataLines = [];
683
+ if (!rawData)
684
+ return;
685
+ await handleEvent(eventType, rawData);
686
+ };
687
+ const processSSELines = async (lines) => {
688
+ for (const line of lines) {
689
+ if (line.startsWith(":"))
690
+ continue;
691
+ if (line.startsWith("event:")) {
692
+ currentEvent = stripFieldValue(line.slice(6));
693
+ }
694
+ else if (line.startsWith("data:")) {
695
+ currentDataLines.push(stripFieldValue(line.slice(5)));
696
+ }
697
+ else if (line === "") {
698
+ await flushEvent();
699
+ }
700
+ }
701
+ };
702
+ while (!signal.aborted) {
703
+ const { done, value } = await reader.read();
704
+ if (done)
705
+ break;
706
+ if (!value)
707
+ continue;
708
+ buffer += decoder.decode(value, { stream: true });
709
+ buffer = buffer.replace(/\r\n/g, "\n");
710
+ const lines = buffer.split("\n");
711
+ buffer = lines.pop() || "";
712
+ await processSSELines(lines);
713
+ }
714
+ if (buffer.trim()) {
715
+ buffer += "\n\n";
716
+ const lines = buffer.split("\n");
717
+ buffer = "";
718
+ await processSSELines(lines);
719
+ }
720
+ try {
721
+ reader.releaseLock();
722
+ }
723
+ catch { }
724
+ }
725
+ catch (error) {
726
+ if (signal.aborted)
727
+ return;
728
+ const err = error instanceof Error ? error : new Error(String(error));
729
+ options.onError?.(err);
730
+ }
731
+ })();
732
+ return abortController;
733
+ }
514
734
  async postAllDatasources() {
515
735
  const requestBody = await this.processPluginInput({});
516
736
  const data = await this.makeRequest("POST", `/datasources/all`, requestBody);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client/client.ts"],"names":[],"mappings":"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"}