@expandai/mcp-server 0.1.3 → 0.1.4

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.
package/dist/Server.cjs CHANGED
@@ -40,7 +40,7 @@ var S__namespace = /*#__PURE__*/_interopNamespace(S);
40
40
 
41
41
  // package.json
42
42
  var package_default = {
43
- version: "0.1.3"};
43
+ version: "0.1.4"};
44
44
  var ExpandDocs = ai.McpServer.resource({
45
45
  uri: "expand://about",
46
46
  name: "About expand.ai",
@@ -691,7 +691,7 @@ var ClientError = (tag, cause, response) => new ClientErrorImpl({
691
691
 
692
692
  // src/ExpandClient.ts
693
693
  var ExpandConfig = effect.Config.all({
694
- apiKey: effect.Config.redacted("EXPAND_API_KEY"),
694
+ apiKey: effect.Config.option(effect.Config.redacted("EXPAND_API_KEY")),
695
695
  baseUrl: effect.Config.withDefault(effect.Config.string("EXPAND_BASE_URL"), "https://api.expand.ai")
696
696
  });
697
697
  var ExpandClient = class extends effect.Effect.Service()("ExpandClient", {
@@ -699,12 +699,24 @@ var ExpandClient = class extends effect.Effect.Service()("ExpandClient", {
699
699
  scoped: effect.Effect.gen(function* () {
700
700
  const config = yield* ExpandConfig;
701
701
  const httpClient = yield* platform.HttpClient.HttpClient;
702
+ const requestHeaders = yield* effect.Effect.serviceOption(CurrentRequestHeaders);
702
703
  yield* effect.Effect.logInfo(`ExpandClient connected to ${config.baseUrl}`);
703
704
  return make(httpClient, {
704
705
  transformClient: (client) => effect.Effect.succeed(
705
706
  client.pipe(
706
707
  platform.HttpClient.mapRequest(platform.HttpClientRequest.prependUrl(config.baseUrl)),
707
- platform.HttpClient.mapRequest(platform.HttpClientRequest.setHeader("x-expand-api-key", effect.Redacted.value(config.apiKey)))
708
+ platform.HttpClient.mapRequest((req) => {
709
+ if (effect.Option.isSome(requestHeaders)) {
710
+ const auth = requestHeaders.value["authorization"];
711
+ if (auth) {
712
+ return platform.HttpClientRequest.setHeader("authorization", auth)(req);
713
+ }
714
+ }
715
+ if (effect.Option.isSome(config.apiKey)) {
716
+ return platform.HttpClientRequest.setHeader("x-expand-api-key", effect.Redacted.value(config.apiKey.value))(req);
717
+ }
718
+ return req;
719
+ })
708
720
  )
709
721
  )
710
722
  });
@@ -810,7 +822,10 @@ var ServerInfo = {
810
822
  name: "expandai-mcp-server",
811
823
  version: package_default.version
812
824
  };
825
+ var CurrentRequestHeaders = class extends effect.Context.Tag("CurrentRequestHeaders")() {
826
+ };
813
827
  var makeServerLayer = (options = {}) => options.includeDocs ? effect.Layer.mergeAll(ExpandToolKit, ExpandDocs) : ExpandToolKit;
814
828
 
829
+ exports.CurrentRequestHeaders = CurrentRequestHeaders;
815
830
  exports.ServerInfo = ServerInfo;
816
831
  exports.makeServerLayer = makeServerLayer;
package/dist/Server.d.cts CHANGED
@@ -1,12 +1,15 @@
1
1
  import * as effect_ConfigError from 'effect/ConfigError';
2
- import { Layer } from 'effect';
2
+ import { Context, Layer } from 'effect';
3
3
 
4
4
  declare const ServerInfo: {
5
5
  readonly name: "expandai-mcp-server";
6
6
  readonly version: string;
7
7
  };
8
+ declare const CurrentRequestHeaders_base: Context.TagClass<CurrentRequestHeaders, "CurrentRequestHeaders", Record<string, string>>;
9
+ declare class CurrentRequestHeaders extends CurrentRequestHeaders_base {
10
+ }
8
11
  declare const makeServerLayer: (options?: {
9
12
  readonly includeDocs?: boolean;
10
13
  }) => Layer.Layer<never, effect_ConfigError.ConfigError, never>;
11
14
 
12
- export { ServerInfo, makeServerLayer };
15
+ export { CurrentRequestHeaders, ServerInfo, makeServerLayer };
package/dist/Server.d.ts CHANGED
@@ -1,12 +1,15 @@
1
1
  import * as effect_ConfigError from 'effect/ConfigError';
2
- import { Layer } from 'effect';
2
+ import { Context, Layer } from 'effect';
3
3
 
4
4
  declare const ServerInfo: {
5
5
  readonly name: "expandai-mcp-server";
6
6
  readonly version: string;
7
7
  };
8
+ declare const CurrentRequestHeaders_base: Context.TagClass<CurrentRequestHeaders, "CurrentRequestHeaders", Record<string, string>>;
9
+ declare class CurrentRequestHeaders extends CurrentRequestHeaders_base {
10
+ }
8
11
  declare const makeServerLayer: (options?: {
9
12
  readonly includeDocs?: boolean;
10
13
  }) => Layer.Layer<never, effect_ConfigError.ConfigError, never>;
11
14
 
12
- export { ServerInfo, makeServerLayer };
15
+ export { CurrentRequestHeaders, ServerInfo, makeServerLayer };
package/dist/Server.js CHANGED
@@ -1 +1 @@
1
- export { ServerInfo, makeServerLayer } from './chunk-7ECG3QBA.js';
1
+ export { CurrentRequestHeaders, ServerInfo, makeServerLayer } from './chunk-TUBB4OP4.js';
@@ -1,4 +1,4 @@
1
- import { Effect, Config, Schema, Layer, Redacted } from 'effect';
1
+ import { Effect, Config, Schema, Layer, Context, Option, Redacted } from 'effect';
2
2
  import { McpServer, Tool, Toolkit } from '@effect/ai';
3
3
  import { NodeHttpClient } from '@effect/platform-node';
4
4
  import { HttpClient, HttpClientRequest as HttpClientRequest$1 } from '@effect/platform';
@@ -13,7 +13,7 @@ import * as S from 'effect/Schema';
13
13
 
14
14
  // package.json
15
15
  var package_default = {
16
- version: "0.1.3"};
16
+ version: "0.1.4"};
17
17
  var ExpandDocs = McpServer.resource({
18
18
  uri: "expand://about",
19
19
  name: "About expand.ai",
@@ -664,7 +664,7 @@ var ClientError = (tag, cause, response) => new ClientErrorImpl({
664
664
 
665
665
  // src/ExpandClient.ts
666
666
  var ExpandConfig = Config.all({
667
- apiKey: Config.redacted("EXPAND_API_KEY"),
667
+ apiKey: Config.option(Config.redacted("EXPAND_API_KEY")),
668
668
  baseUrl: Config.withDefault(Config.string("EXPAND_BASE_URL"), "https://api.expand.ai")
669
669
  });
670
670
  var ExpandClient = class extends Effect.Service()("ExpandClient", {
@@ -672,12 +672,24 @@ var ExpandClient = class extends Effect.Service()("ExpandClient", {
672
672
  scoped: Effect.gen(function* () {
673
673
  const config = yield* ExpandConfig;
674
674
  const httpClient = yield* HttpClient.HttpClient;
675
+ const requestHeaders = yield* Effect.serviceOption(CurrentRequestHeaders);
675
676
  yield* Effect.logInfo(`ExpandClient connected to ${config.baseUrl}`);
676
677
  return make(httpClient, {
677
678
  transformClient: (client) => Effect.succeed(
678
679
  client.pipe(
679
680
  HttpClient.mapRequest(HttpClientRequest$1.prependUrl(config.baseUrl)),
680
- HttpClient.mapRequest(HttpClientRequest$1.setHeader("x-expand-api-key", Redacted.value(config.apiKey)))
681
+ HttpClient.mapRequest((req) => {
682
+ if (Option.isSome(requestHeaders)) {
683
+ const auth = requestHeaders.value["authorization"];
684
+ if (auth) {
685
+ return HttpClientRequest$1.setHeader("authorization", auth)(req);
686
+ }
687
+ }
688
+ if (Option.isSome(config.apiKey)) {
689
+ return HttpClientRequest$1.setHeader("x-expand-api-key", Redacted.value(config.apiKey.value))(req);
690
+ }
691
+ return req;
692
+ })
681
693
  )
682
694
  )
683
695
  });
@@ -783,6 +795,8 @@ var ServerInfo = {
783
795
  name: "expandai-mcp-server",
784
796
  version: package_default.version
785
797
  };
798
+ var CurrentRequestHeaders = class extends Context.Tag("CurrentRequestHeaders")() {
799
+ };
786
800
  var makeServerLayer = (options = {}) => options.includeDocs ? Layer.mergeAll(ExpandToolKit, ExpandDocs) : ExpandToolKit;
787
801
 
788
- export { ServerInfo, makeServerLayer };
802
+ export { CurrentRequestHeaders, ServerInfo, makeServerLayer };
package/dist/main.cjs CHANGED
@@ -39,7 +39,7 @@ var S__namespace = /*#__PURE__*/_interopNamespace(S);
39
39
 
40
40
  // package.json
41
41
  var package_default = {
42
- version: "0.1.3"};
42
+ version: "0.1.4"};
43
43
  var ExpandDocs = ai.McpServer.resource({
44
44
  uri: "expand://about",
45
45
  name: "About expand.ai",
@@ -690,7 +690,7 @@ var ClientError = (tag, cause, response) => new ClientErrorImpl({
690
690
 
691
691
  // src/ExpandClient.ts
692
692
  var ExpandConfig = effect.Config.all({
693
- apiKey: effect.Config.redacted("EXPAND_API_KEY"),
693
+ apiKey: effect.Config.option(effect.Config.redacted("EXPAND_API_KEY")),
694
694
  baseUrl: effect.Config.withDefault(effect.Config.string("EXPAND_BASE_URL"), "https://api.expand.ai")
695
695
  });
696
696
  var ExpandClient = class extends effect.Effect.Service()("ExpandClient", {
@@ -698,12 +698,24 @@ var ExpandClient = class extends effect.Effect.Service()("ExpandClient", {
698
698
  scoped: effect.Effect.gen(function* () {
699
699
  const config = yield* ExpandConfig;
700
700
  const httpClient = yield* platform.HttpClient.HttpClient;
701
+ const requestHeaders = yield* effect.Effect.serviceOption(CurrentRequestHeaders);
701
702
  yield* effect.Effect.logInfo(`ExpandClient connected to ${config.baseUrl}`);
702
703
  return make(httpClient, {
703
704
  transformClient: (client) => effect.Effect.succeed(
704
705
  client.pipe(
705
706
  platform.HttpClient.mapRequest(platform.HttpClientRequest.prependUrl(config.baseUrl)),
706
- platform.HttpClient.mapRequest(platform.HttpClientRequest.setHeader("x-expand-api-key", effect.Redacted.value(config.apiKey)))
707
+ platform.HttpClient.mapRequest((req) => {
708
+ if (effect.Option.isSome(requestHeaders)) {
709
+ const auth = requestHeaders.value["authorization"];
710
+ if (auth) {
711
+ return platform.HttpClientRequest.setHeader("authorization", auth)(req);
712
+ }
713
+ }
714
+ if (effect.Option.isSome(config.apiKey)) {
715
+ return platform.HttpClientRequest.setHeader("x-expand-api-key", effect.Redacted.value(config.apiKey.value))(req);
716
+ }
717
+ return req;
718
+ })
707
719
  )
708
720
  )
709
721
  });
@@ -809,6 +821,8 @@ var ServerInfo = {
809
821
  name: "expandai-mcp-server",
810
822
  version: package_default.version
811
823
  };
824
+ var CurrentRequestHeaders = class extends effect.Context.Tag("CurrentRequestHeaders")() {
825
+ };
812
826
  var makeServerLayer = (options = {}) => options.includeDocs ? effect.Layer.mergeAll(ExpandToolKit, ExpandDocs) : ExpandToolKit;
813
827
 
814
828
  // src/main.ts
package/dist/main.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { ServerInfo, makeServerLayer } from './chunk-7ECG3QBA.js';
2
+ import { ServerInfo, makeServerLayer } from './chunk-TUBB4OP4.js';
3
3
  import { McpServer } from '@effect/ai';
4
4
  import { NodeSink, NodeStream, NodeRuntime } from '@effect/platform-node';
5
5
  import { Config, Effect, Layer, Logger, LogLevel } from 'effect';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@expandai/mcp-server",
3
- "version": "0.1.3",
3
+ "version": "0.1.4",
4
4
  "description": "MCP server for expand.ai - Give AI agents access to the web",
5
5
  "type": "module",
6
6
  "publishConfig": {
@@ -1,9 +1,10 @@
1
1
  import { HttpClient, HttpClientRequest } from '@effect/platform'
2
- import { Config, Effect, Redacted } from 'effect'
2
+ import { Config, Effect, Option, Redacted } from 'effect'
3
3
  import * as GeneratedClient from './Generated.js'
4
+ import { CurrentRequestHeaders } from './Server.js'
4
5
 
5
6
  export const ExpandConfig = Config.all({
6
- apiKey: Config.redacted('EXPAND_API_KEY'),
7
+ apiKey: Config.option(Config.redacted('EXPAND_API_KEY')),
7
8
  baseUrl: Config.withDefault(Config.string('EXPAND_BASE_URL'), 'https://api.expand.ai'),
8
9
  })
9
10
 
@@ -12,6 +13,7 @@ export class ExpandClient extends Effect.Service<ExpandClient>()('ExpandClient',
12
13
  scoped: Effect.gen(function* () {
13
14
  const config = yield* ExpandConfig
14
15
  const httpClient = yield* HttpClient.HttpClient
16
+ const requestHeaders = yield* Effect.serviceOption(CurrentRequestHeaders)
15
17
 
16
18
  yield* Effect.logInfo(`ExpandClient connected to ${config.baseUrl}`)
17
19
 
@@ -20,7 +22,18 @@ export class ExpandClient extends Effect.Service<ExpandClient>()('ExpandClient',
20
22
  Effect.succeed(
21
23
  client.pipe(
22
24
  HttpClient.mapRequest(HttpClientRequest.prependUrl(config.baseUrl)),
23
- HttpClient.mapRequest(HttpClientRequest.setHeader('x-expand-api-key', Redacted.value(config.apiKey))),
25
+ HttpClient.mapRequest((req) => {
26
+ if (Option.isSome(requestHeaders)) {
27
+ const auth = requestHeaders.value['authorization']
28
+ if (auth) {
29
+ return HttpClientRequest.setHeader('authorization', auth)(req)
30
+ }
31
+ }
32
+ if (Option.isSome(config.apiKey)) {
33
+ return HttpClientRequest.setHeader('x-expand-api-key', Redacted.value(config.apiKey.value))(req)
34
+ }
35
+ return req
36
+ }),
24
37
  ),
25
38
  ),
26
39
  })
package/src/Server.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Layer } from 'effect'
1
+ import { Context, Layer } from 'effect'
2
2
  import packageJson from '../package.json' with { type: 'json' }
3
3
  import { ExpandDocs } from './ExpandDocs.js'
4
4
  import { ExpandToolKit } from './Toolkit.js'
@@ -8,5 +8,10 @@ export const ServerInfo = {
8
8
  version: packageJson.version,
9
9
  } as const
10
10
 
11
+ export class CurrentRequestHeaders extends Context.Tag('CurrentRequestHeaders')<
12
+ CurrentRequestHeaders,
13
+ Record<string, string>
14
+ >() {}
15
+
11
16
  export const makeServerLayer = (options: { readonly includeDocs?: boolean } = {}) =>
12
17
  options.includeDocs ? Layer.mergeAll(ExpandToolKit, ExpandDocs) : ExpandToolKit