@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 +18 -3
- package/dist/Server.d.cts +5 -2
- package/dist/Server.d.ts +5 -2
- package/dist/Server.js +1 -1
- package/dist/{chunk-7ECG3QBA.js → chunk-TUBB4OP4.js} +19 -5
- package/dist/main.cjs +17 -3
- package/dist/main.js +1 -1
- package/package.json +1 -1
- package/src/ExpandClient.ts +16 -3
- package/src/Server.ts +6 -1
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.
|
|
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(
|
|
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-
|
|
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.
|
|
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(
|
|
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.
|
|
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(
|
|
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-
|
|
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
package/src/ExpandClient.ts
CHANGED
|
@@ -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(
|
|
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
|