@dainprotocol/service-sdk 2.0.89 → 2.0.91

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,9 +2,9 @@ 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
- export interface ToolCallOptions {
7
+ interface ToolCallOptions {
8
8
  onUIUpdate?: (update: {
9
9
  ui: unknown;
10
10
  }) => void;
@@ -19,19 +19,18 @@ 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
+ private buildStructuredServiceError;
33
+ makeRequest(method: string, path: string, body?: Record<string, unknown>): Promise<unknown>;
35
34
  getMetadata(): Promise<ServiceMetadata>;
36
35
  getExampleQueries(): Promise<ExampleQueries>;
37
36
  getServices(): Promise<ServiceConfig[]>;
@@ -52,23 +51,12 @@ export declare class DainServiceConnection {
52
51
  getAllToolsAsJsonSchema(): Promise<{
53
52
  tools: ToolWithJsonSchema[];
54
53
  reccomendedPrompts: string[];
55
- schemaVersion: string;
56
54
  }>;
57
- searchRecommendations(request?: RecommendationSearchRequest): Promise<RecommendationSearchResponse>;
58
- renderRecommendations(request: RecommendationRenderRequest): Promise<RecommendationRenderResponse>;
59
55
  loadToolbox(toolboxId: string, execute?: boolean): Promise<Record<string, Tool>>;
60
56
  createVercelAITool(toolInfo: ToolConfig): Tool;
61
- /**
62
- * Execute a tool via the standard `/tools/:id` endpoint.
63
- * Use this when the caller does not need a post-tool context refresh.
64
- */
65
- callTool<TResult = any>(toolId: string, params: Record<string, unknown> | undefined, options?: ToolCallOptions): Promise<TResult>;
66
- /**
67
- * Execute a tool and request a full context refresh via `/tools/:id/executeAndGetNewContext`.
68
- * Most callers should prefer `callTool`; this variant is for explicit context consumers.
69
- */
70
- callToolAndGetNewContext<TToolResult = any>(toolId: string, params: Record<string, unknown> | undefined, options?: ToolCallOptions): Promise<{
71
- toolResult: TToolResult;
57
+ callTool(toolId: string, params: Record<string, unknown>, options?: ToolCallOptions): Promise<unknown>;
58
+ callToolAndGetNewContext(toolId: string, params: Record<string, unknown>, options?: ToolCallOptions): Promise<{
59
+ toolResult: unknown;
72
60
  context: ServiceContextWithData[];
73
61
  }>;
74
62
  private _callToolWithStreaming;
@@ -109,26 +97,6 @@ export declare class DainServiceConnection {
109
97
  }>;
110
98
  listDatasources(): Promise<ServiceDatasource[]>;
111
99
  getDatasource(datasourceId: string, params: Record<string, unknown>): Promise<ServiceDatasourceWithData>;
112
- /**
113
- * Stream datasource updates over SSE.
114
- *
115
- * This is intended for "fresh" UI surfaces that want stream-first updates with
116
- * a bounded poll fallback. Callers should always provide a fallback strategy
117
- * because SSE can disconnect or be rate-limited.
118
- *
119
- * The returned AbortController can be used to close the stream.
120
- */
121
- streamDatasource(datasourceId: string, params: Record<string, unknown>, options: {
122
- onUpdate: (update: ServiceDatasourceWithData) => void;
123
- onError?: (error: Error) => void;
124
- /**
125
- * Optional requested interval for server-side streaming re-runs.
126
- * Butterfly computes an effective interval after applying platform clamps
127
- * and passes it here so services are not forced to run faster than allowed.
128
- */
129
- intervalMs?: number;
130
- signal?: AbortSignal;
131
- }): AbortController;
132
100
  postAllDatasources(): Promise<ServiceDatasource[]>;
133
101
  getToolsByInterface(interfaceType: ToolInterfaceType): Promise<ToolConfig[]>;
134
102
  getAvailableInterfaces(): Promise<ToolInterfaceType[]>;
@@ -8,20 +8,17 @@ const axios_1 = tslib_1.__importStar(require("axios"));
8
8
  const interfaces_1 = require("../interfaces");
9
9
  const schemaConversion_1 = require("../lib/schemaConversion");
10
10
  const types_1 = require("./types");
11
- const toolDiscovery_1 = require("../lib/toolDiscovery");
12
11
  class DainServiceConnection {
13
12
  baseUrl;
14
13
  clientAuth;
15
14
  plugins;
16
15
  enableStreaming;
17
- extraHeaders;
18
16
  streamIdleTimeoutMs = 60000;
19
17
  constructor(baseUrl, clientAuth, options = {}) {
20
18
  this.baseUrl = baseUrl;
21
19
  this.clientAuth = clientAuth;
22
20
  this.plugins = options.plugins || [];
23
21
  this.enableStreaming = options.enableStreaming ?? false;
24
- this.extraHeaders = options.extraHeaders || {};
25
22
  }
26
23
  getURI() {
27
24
  return this.baseUrl;
@@ -29,26 +26,16 @@ class DainServiceConnection {
29
26
  async processPluginInput(body) {
30
27
  if (this.plugins.length === 0)
31
28
  return body;
32
- const existingPlugins = body.plugins && typeof body.plugins === "object" && !Array.isArray(body.plugins)
33
- ? body.plugins
34
- : {};
35
- const { plugins: _, ...bodyWithoutPlugins } = body;
36
- const hasAllPluginPayloads = this.plugins.every((plugin) => Object.prototype.hasOwnProperty.call(existingPlugins, plugin.id));
37
- // Many callers pre-process payloads before delegating to `makeRequest`.
38
- // If all plugin payloads are already present, avoid redundant plugin work.
39
- if (hasAllPluginPayloads) {
40
- return body;
41
- }
42
- const pluginsData = { ...existingPlugins };
29
+ const pluginsData = {};
43
30
  for (const plugin of this.plugins) {
44
31
  if (plugin.processInputClient) {
45
- const pluginData = await plugin.processInputClient(bodyWithoutPlugins);
46
- if (pluginData !== undefined) {
32
+ const pluginData = await plugin.processInputClient(body);
33
+ if (pluginData) {
47
34
  pluginsData[plugin.id] = pluginData;
48
35
  }
49
36
  }
50
37
  }
51
- return { ...bodyWithoutPlugins, plugins: pluginsData };
38
+ return { ...body, plugins: pluginsData };
52
39
  }
53
40
  async processPluginOutput(data) {
54
41
  if (this.plugins.length === 0)
@@ -78,6 +65,24 @@ class DainServiceConnection {
78
65
  const { plugins: _, ...rest } = data;
79
66
  return schema.parse(rest);
80
67
  }
68
+ buildStructuredServiceError(status, statusText, responseData, fallbackMessage) {
69
+ const serverError = typeof responseData === "string"
70
+ ? responseData
71
+ : responseData && typeof responseData === "object" && typeof responseData.message === "string"
72
+ ? (responseData.message)
73
+ : fallbackMessage || statusText;
74
+ const customError = new Error(serverError);
75
+ customError.status = status;
76
+ customError.responseData = responseData;
77
+ if (responseData && typeof responseData === "object") {
78
+ const maybe = responseData;
79
+ if (typeof maybe.authorization_url === "string")
80
+ customError.authorization_url = maybe.authorization_url;
81
+ if (typeof maybe.service_url === "string")
82
+ customError.service_url = maybe.service_url;
83
+ }
84
+ return customError;
85
+ }
81
86
  async makeRequest(method, path, body = {}) {
82
87
  const processedBody = method === "POST"
83
88
  ? await this.processPluginInput(body)
@@ -90,7 +95,6 @@ class DainServiceConnection {
90
95
  headers: {
91
96
  "Content-Type": "application/json",
92
97
  ...this.clientAuth.getHeaders(),
93
- ...this.extraHeaders,
94
98
  },
95
99
  });
96
100
  return this.processPluginOutput(response.data);
@@ -103,18 +107,6 @@ class DainServiceConnection {
103
107
  : responseData?.message ?? error.message;
104
108
  const customError = new Error(serverError);
105
109
  customError.status = error.response.status;
106
- customError.responseData = responseData;
107
- // Preserve structured error hints (e.g. authorization_url) so clients can
108
- // surface consent UX instead of generic "network error" toasts.
109
- if (responseData && typeof responseData === "object") {
110
- const maybe = responseData;
111
- if (typeof maybe.authorization_url === "string") {
112
- customError.authorization_url = maybe.authorization_url;
113
- }
114
- if (typeof maybe.service_url === "string") {
115
- customError.service_url = maybe.service_url;
116
- }
117
- }
118
110
  throw customError;
119
111
  }
120
112
  throw error;
@@ -212,21 +204,11 @@ class DainServiceConnection {
212
204
  const requestBody = await this.processPluginInput({});
213
205
  const data = await this.makeRequest("POST", "/getAllToolsAsJsonSchema", requestBody);
214
206
  if (data && typeof data === 'object' && 'plugins' in data) {
215
- const { plugins: _, tools, reccomendedPrompts, schemaVersion } = data;
207
+ const { plugins: _, tools, reccomendedPrompts, ...rest } = data;
216
208
  if (Array.isArray(tools) && Array.isArray(reccomendedPrompts)) {
217
- const response = {
218
- tools: tools,
219
- reccomendedPrompts: reccomendedPrompts,
220
- schemaVersion: typeof schemaVersion === "string" ? schemaVersion : undefined,
221
- };
222
209
  return {
223
- tools: response.tools,
224
- reccomendedPrompts: response.reccomendedPrompts,
225
- schemaVersion: response.schemaVersion ||
226
- (0, toolDiscovery_1.computeToolDiscoverySchemaVersion)({
227
- tools: response.tools,
228
- reccomendedPrompts: response.reccomendedPrompts,
229
- }),
210
+ tools: tools,
211
+ reccomendedPrompts: reccomendedPrompts
230
212
  };
231
213
  }
232
214
  }
@@ -234,48 +216,8 @@ class DainServiceConnection {
234
216
  return {
235
217
  tools: returned.tools,
236
218
  reccomendedPrompts: returned.reccomendedPrompts,
237
- schemaVersion: returned.schemaVersion ||
238
- (0, toolDiscovery_1.computeToolDiscoverySchemaVersion)({
239
- tools: returned.tools,
240
- reccomendedPrompts: returned.reccomendedPrompts,
241
- }),
242
219
  };
243
220
  }
244
- async searchRecommendations(request = {}) {
245
- const parsedRequest = types_1.RecommendationSearchRequestSchema.parse(request);
246
- const requestBody = await this.processPluginInput(parsedRequest);
247
- const data = await this.makeRequest("POST", "/recommendations/search", requestBody);
248
- if (data && typeof data === "object" && "plugins" in data) {
249
- const parsed = this.extractSingleFromPluginResponse(data, types_1.RecommendationSearchResponseSchema);
250
- return parsed;
251
- }
252
- return types_1.RecommendationSearchResponseSchema.parse(data);
253
- }
254
- async renderRecommendations(request) {
255
- const parsedRequest = types_1.RecommendationRenderRequestSchema.parse(request);
256
- const requestBody = await this.processPluginInput(parsedRequest);
257
- try {
258
- const data = await this.makeRequest("POST", "/recommendations/render", requestBody);
259
- if (data && typeof data === "object" && "plugins" in data) {
260
- const parsed = this.extractSingleFromPluginResponse(data, types_1.RecommendationRenderResponseSchema);
261
- return parsed;
262
- }
263
- return types_1.RecommendationRenderResponseSchema.parse(data);
264
- }
265
- catch (error) {
266
- const maybeError = error;
267
- // Server may return 400 with structured render errors when continueOnError=false.
268
- if (maybeError.status === 400 && maybeError.responseData) {
269
- // Error responses can still be plugin-processed (encrypted/wrapped).
270
- const responseData = await this.processPluginOutput(maybeError.responseData);
271
- if (responseData && typeof responseData === "object" && "plugins" in responseData) {
272
- return this.extractSingleFromPluginResponse(responseData, types_1.RecommendationRenderResponseSchema);
273
- }
274
- return types_1.RecommendationRenderResponseSchema.parse(responseData);
275
- }
276
- throw error;
277
- }
278
- }
279
221
  async loadToolbox(toolboxId, execute = true) {
280
222
  const toolbox = await this.getToolbox(toolboxId);
281
223
  const tools = {};
@@ -300,12 +242,8 @@ class DainServiceConnection {
300
242
  },
301
243
  });
302
244
  }
303
- /**
304
- * Execute a tool via the standard `/tools/:id` endpoint.
305
- * Use this when the caller does not need a post-tool context refresh.
306
- */
307
245
  async callTool(toolId, params, options) {
308
- const processedParams = await this.processPluginInput(params ?? {});
246
+ const processedParams = await this.processPluginInput(params);
309
247
  if (this.enableStreaming) {
310
248
  const streamedResult = await this._callToolWithStreaming(toolId, processedParams, `/tools/${toolId}`, options);
311
249
  return this.sanitizeToolResponse(streamedResult, options);
@@ -313,12 +251,8 @@ class DainServiceConnection {
313
251
  const response = await this.makeRequest("POST", `/tools/${toolId}`, processedParams);
314
252
  return this.sanitizeToolResponse(response, options);
315
253
  }
316
- /**
317
- * Execute a tool and request a full context refresh via `/tools/:id/executeAndGetNewContext`.
318
- * Most callers should prefer `callTool`; this variant is for explicit context consumers.
319
- */
320
254
  async callToolAndGetNewContext(toolId, params, options) {
321
- const processedParams = await this.processPluginInput(params ?? {});
255
+ const processedParams = await this.processPluginInput(params);
322
256
  const endpoint = `/tools/${toolId}/executeAndGetNewContext`;
323
257
  if (this.enableStreaming) {
324
258
  const streamedResult = await this._callToolWithStreaming(toolId, processedParams, endpoint, options);
@@ -335,7 +269,6 @@ class DainServiceConnection {
335
269
  'Content-Type': 'application/json',
336
270
  'Accept': 'text/event-stream',
337
271
  ...this.clientAuth.getHeaders(),
338
- ...this.extraHeaders,
339
272
  },
340
273
  body: JSON.stringify(params),
341
274
  signal: abortController.signal,
@@ -343,13 +276,12 @@ class DainServiceConnection {
343
276
  const contentType = response.headers.get('content-type') || '';
344
277
  if (contentType.includes('application/json')) {
345
278
  const data = await response.json();
279
+ if (!response.ok) {
280
+ throw this.buildStructuredServiceError(response.status, response.statusText, data, response.statusText);
281
+ }
346
282
  return this.processPluginOutput(data);
347
283
  }
348
284
  if (!response.ok) {
349
- if (contentType.includes('application/json')) {
350
- const errorData = await response.json();
351
- throw new Error(`Server error: ${errorData.message || response.statusText}`);
352
- }
353
285
  throw new Error(`HTTP error: ${response.status} ${response.statusText}`);
354
286
  }
355
287
  const reader = response.body?.getReader();
@@ -596,165 +528,6 @@ class DainServiceConnection {
596
528
  const data = await this.makeRequest("POST", `/datasources/${datasourceId}`, requestBody);
597
529
  return this.extractSingleFromPluginResponse(data, types_1.ServiceDatasourceWithDataSchema);
598
530
  }
599
- /**
600
- * Stream datasource updates over SSE.
601
- *
602
- * This is intended for "fresh" UI surfaces that want stream-first updates with
603
- * a bounded poll fallback. Callers should always provide a fallback strategy
604
- * because SSE can disconnect or be rate-limited.
605
- *
606
- * The returned AbortController can be used to close the stream.
607
- */
608
- streamDatasource(datasourceId, params, options) {
609
- const abortController = new AbortController();
610
- if (options.signal) {
611
- if (options.signal.aborted) {
612
- abortController.abort();
613
- }
614
- else {
615
- options.signal.addEventListener("abort", () => abortController.abort(), {
616
- once: true,
617
- });
618
- }
619
- }
620
- const signal = abortController.signal;
621
- void (async () => {
622
- try {
623
- const requestBody = await this.processPluginInput(params);
624
- const endpoint = `/datasources/${datasourceId}/stream`;
625
- const response = await fetch(`${this.baseUrl}${endpoint}`, {
626
- method: "POST",
627
- headers: {
628
- "Content-Type": "application/json",
629
- Accept: "text/event-stream",
630
- ...this.clientAuth.getHeaders(),
631
- ...this.extraHeaders,
632
- },
633
- body: JSON.stringify({
634
- params: requestBody,
635
- intervalMs: options.intervalMs,
636
- }),
637
- signal,
638
- });
639
- if (!response.ok) {
640
- let message = `${response.status} ${response.statusText}`;
641
- try {
642
- const data = await response.json();
643
- if (data && typeof data === "object") {
644
- if ("message" in data) {
645
- message = String(data.message);
646
- }
647
- else if ("error" in data) {
648
- message = String(data.error);
649
- }
650
- }
651
- }
652
- catch { }
653
- throw new Error(`Datasource stream HTTP error: ${message}`);
654
- }
655
- const reader = response.body?.getReader();
656
- if (!reader)
657
- throw new Error("No response body");
658
- const decoder = new TextDecoder();
659
- let buffer = "";
660
- let currentEvent = null;
661
- let currentDataLines = [];
662
- const stripFieldValue = (value) => value.startsWith(" ") ? value.slice(1) : value;
663
- const handleEvent = async (eventType, rawData) => {
664
- let wrappedData = rawData;
665
- if (rawData !== "") {
666
- try {
667
- wrappedData = JSON.parse(rawData);
668
- }
669
- catch {
670
- wrappedData = rawData;
671
- }
672
- }
673
- if (eventType === "error") {
674
- const message = typeof wrappedData === "string"
675
- ? wrappedData
676
- : wrappedData?.message || rawData || "Unknown SSE error";
677
- throw new Error(`SSE error: ${message}`);
678
- }
679
- if (eventType !== "datasource-update")
680
- return;
681
- const isSignedPayload = wrappedData && typeof wrappedData === "object" && "_signature" in wrappedData;
682
- let payload = wrappedData;
683
- if (isSignedPayload) {
684
- const signedData = wrappedData;
685
- const { signature, timestamp, address } = signedData._signature || {};
686
- if (signature && timestamp && address) {
687
- const dataString = JSON.stringify(signedData.data);
688
- const isSignatureValid = this.clientAuth.verifyEventSignature(dataString, signature, timestamp, address);
689
- if (!isSignatureValid) {
690
- console.warn(`SSE event signature verification failed for datasource-update`);
691
- }
692
- }
693
- payload = signedData.data;
694
- }
695
- // Unwrap plugin-encrypted payloads, then validate schema
696
- const processed = await this.processPluginOutput(payload);
697
- const parsed = types_1.ServiceDatasourceWithDataSchema.parse(processed);
698
- options.onUpdate(parsed);
699
- };
700
- const flushEvent = async () => {
701
- if (!currentEvent && currentDataLines.length === 0)
702
- return;
703
- const eventType = currentEvent || "message";
704
- const rawData = currentDataLines.join("\n");
705
- currentEvent = null;
706
- currentDataLines = [];
707
- if (!rawData)
708
- return;
709
- await handleEvent(eventType, rawData);
710
- };
711
- const processSSELines = async (lines) => {
712
- for (const line of lines) {
713
- if (line.startsWith(":"))
714
- continue;
715
- if (line.startsWith("event:")) {
716
- currentEvent = stripFieldValue(line.slice(6));
717
- }
718
- else if (line.startsWith("data:")) {
719
- currentDataLines.push(stripFieldValue(line.slice(5)));
720
- }
721
- else if (line === "") {
722
- await flushEvent();
723
- }
724
- }
725
- };
726
- while (!signal.aborted) {
727
- const { done, value } = await reader.read();
728
- if (done)
729
- break;
730
- if (!value)
731
- continue;
732
- buffer += decoder.decode(value, { stream: true });
733
- buffer = buffer.replace(/\r\n/g, "\n");
734
- const lines = buffer.split("\n");
735
- buffer = lines.pop() || "";
736
- await processSSELines(lines);
737
- }
738
- if (buffer.trim()) {
739
- buffer += "\n\n";
740
- const lines = buffer.split("\n");
741
- buffer = "";
742
- await processSSELines(lines);
743
- }
744
- try {
745
- reader.releaseLock();
746
- }
747
- catch { }
748
- }
749
- catch (error) {
750
- if (signal.aborted)
751
- return;
752
- const err = error instanceof Error ? error : new Error(String(error));
753
- options.onError?.(err);
754
- }
755
- })();
756
- return abortController;
757
- }
758
531
  async postAllDatasources() {
759
532
  const requestBody = await this.processPluginInput({});
760
533
  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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"}