@dainprotocol/service-sdk 2.0.86 → 2.0.87

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, RecommendationSearchRequest, RecommendationSearchResponse, RecommendationRenderRequest, RecommendationRenderResponse } from "./types";
5
+ import { ServiceMetadata, ServiceConfig, ToolboxConfig, ToolConfig, ServiceContext, ServiceContextWithData, ToolWithJsonSchema, ServiceWidgetWithData, OAuth2ProviderInfo, ProviderInfo, DirectAuthStatus, ExampleQueries, HumanActionStep, ServiceDatasource, ServiceDatasourceWithData, ServiceAgent } from "./types";
6
6
  export type { ServiceMetadata, ServiceConfig, ToolboxConfig, ToolConfig, ServiceAgent };
7
7
  interface ToolCallOptions {
8
8
  onUIUpdate?: (update: {
@@ -19,19 +19,17 @@ export declare class DainServiceConnection {
19
19
  private clientAuth;
20
20
  private plugins;
21
21
  private enableStreaming;
22
- private extraHeaders;
23
22
  private readonly streamIdleTimeoutMs;
24
23
  constructor(baseUrl: string, clientAuth: DainClientAuth, options?: {
25
24
  plugins?: DainPlugin[];
26
25
  enableStreaming?: boolean;
27
- extraHeaders?: Record<string, string>;
28
26
  });
29
27
  getURI(): string;
30
28
  private processPluginInput;
31
29
  private processPluginOutput;
32
30
  private extractDataFromPluginResponse;
33
31
  private extractSingleFromPluginResponse;
34
- makeRequest<TResult = any>(method: string, path: string, body?: Record<string, unknown>): Promise<TResult>;
32
+ makeRequest(method: string, path: string, body?: Record<string, unknown>): Promise<unknown>;
35
33
  getMetadata(): Promise<ServiceMetadata>;
36
34
  getExampleQueries(): Promise<ExampleQueries>;
37
35
  getServices(): Promise<ServiceConfig[]>;
@@ -53,13 +51,11 @@ export declare class DainServiceConnection {
53
51
  tools: ToolWithJsonSchema[];
54
52
  reccomendedPrompts: string[];
55
53
  }>;
56
- searchRecommendations(request?: RecommendationSearchRequest): Promise<RecommendationSearchResponse>;
57
- renderRecommendations(request: RecommendationRenderRequest): Promise<RecommendationRenderResponse>;
58
54
  loadToolbox(toolboxId: string, execute?: boolean): Promise<Record<string, Tool>>;
59
55
  createVercelAITool(toolInfo: ToolConfig): Tool;
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;
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;
63
59
  context: ServiceContextWithData[];
64
60
  }>;
65
61
  private _callToolWithStreaming;
@@ -100,26 +96,6 @@ export declare class DainServiceConnection {
100
96
  }>;
101
97
  listDatasources(): Promise<ServiceDatasource[]>;
102
98
  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;
123
99
  postAllDatasources(): Promise<ServiceDatasource[]>;
124
100
  getToolsByInterface(interfaceType: ToolInterfaceType): Promise<ToolConfig[]>;
125
101
  getAvailableInterfaces(): Promise<ToolInterfaceType[]>;
@@ -13,14 +13,12 @@ class DainServiceConnection {
13
13
  clientAuth;
14
14
  plugins;
15
15
  enableStreaming;
16
- extraHeaders;
17
16
  streamIdleTimeoutMs = 60000;
18
17
  constructor(baseUrl, clientAuth, options = {}) {
19
18
  this.baseUrl = baseUrl;
20
19
  this.clientAuth = clientAuth;
21
20
  this.plugins = options.plugins || [];
22
21
  this.enableStreaming = options.enableStreaming ?? false;
23
- this.extraHeaders = options.extraHeaders || {};
24
22
  }
25
23
  getURI() {
26
24
  return this.baseUrl;
@@ -28,26 +26,16 @@ class DainServiceConnection {
28
26
  async processPluginInput(body) {
29
27
  if (this.plugins.length === 0)
30
28
  return body;
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 };
29
+ const pluginsData = {};
42
30
  for (const plugin of this.plugins) {
43
31
  if (plugin.processInputClient) {
44
- const pluginData = await plugin.processInputClient(bodyWithoutPlugins);
45
- if (pluginData !== undefined) {
32
+ const pluginData = await plugin.processInputClient(body);
33
+ if (pluginData) {
46
34
  pluginsData[plugin.id] = pluginData;
47
35
  }
48
36
  }
49
37
  }
50
- return { ...bodyWithoutPlugins, plugins: pluginsData };
38
+ return { ...body, plugins: pluginsData };
51
39
  }
52
40
  async processPluginOutput(data) {
53
41
  if (this.plugins.length === 0)
@@ -89,7 +77,6 @@ class DainServiceConnection {
89
77
  headers: {
90
78
  "Content-Type": "application/json",
91
79
  ...this.clientAuth.getHeaders(),
92
- ...this.extraHeaders,
93
80
  },
94
81
  });
95
82
  return this.processPluginOutput(response.data);
@@ -102,18 +89,6 @@ class DainServiceConnection {
102
89
  : responseData?.message ?? error.message;
103
90
  const customError = new Error(serverError);
104
91
  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
- }
117
92
  throw customError;
118
93
  }
119
94
  throw error;
@@ -225,41 +200,6 @@ class DainServiceConnection {
225
200
  reccomendedPrompts: returned.reccomendedPrompts,
226
201
  };
227
202
  }
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
- }
263
203
  async loadToolbox(toolboxId, execute = true) {
264
204
  const toolbox = await this.getToolbox(toolboxId);
265
205
  const tools = {};
@@ -285,7 +225,7 @@ class DainServiceConnection {
285
225
  });
286
226
  }
287
227
  async callTool(toolId, params, options) {
288
- const processedParams = await this.processPluginInput(params ?? {});
228
+ const processedParams = await this.processPluginInput(params);
289
229
  if (this.enableStreaming) {
290
230
  const streamedResult = await this._callToolWithStreaming(toolId, processedParams, `/tools/${toolId}`, options);
291
231
  return this.sanitizeToolResponse(streamedResult, options);
@@ -294,7 +234,7 @@ class DainServiceConnection {
294
234
  return this.sanitizeToolResponse(response, options);
295
235
  }
296
236
  async callToolAndGetNewContext(toolId, params, options) {
297
- const processedParams = await this.processPluginInput(params ?? {});
237
+ const processedParams = await this.processPluginInput(params);
298
238
  const endpoint = `/tools/${toolId}/executeAndGetNewContext`;
299
239
  if (this.enableStreaming) {
300
240
  const streamedResult = await this._callToolWithStreaming(toolId, processedParams, endpoint, options);
@@ -311,7 +251,6 @@ class DainServiceConnection {
311
251
  'Content-Type': 'application/json',
312
252
  'Accept': 'text/event-stream',
313
253
  ...this.clientAuth.getHeaders(),
314
- ...this.extraHeaders,
315
254
  },
316
255
  body: JSON.stringify(params),
317
256
  signal: abortController.signal,
@@ -572,165 +511,6 @@ class DainServiceConnection {
572
511
  const data = await this.makeRequest("POST", `/datasources/${datasourceId}`, requestBody);
573
512
  return this.extractSingleFromPluginResponse(data, types_1.ServiceDatasourceWithDataSchema);
574
513
  }
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
- }
734
514
  async postAllDatasources() {
735
515
  const requestBody = await this.processPluginInput({});
736
516
  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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"}