@slashfi/agents-sdk 0.90.2 → 0.90.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../src/mcp-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../src/mcp-client.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@slashfi/agents-sdk",
3
- "version": "0.90.2",
3
+ "version": "0.90.5",
4
4
  "author": "Slash Financial",
5
5
  "repository": {
6
6
  "type": "git",
@@ -842,6 +842,258 @@ describe("ADK ref.call() full auto-refresh flow", () => {
842
842
  expect(status.fields?.access_token?.automated).toBe(false);
843
843
  expect(status.fields?.access_token?.present).toBe(false);
844
844
  });
845
+
846
+ test("ref.authStatus honors registry-declared authFields over oauth2 heuristics", async () => {
847
+ const platformRegPort = 19924;
848
+ const platformTool = defineTool({
849
+ name: "get_data",
850
+ description: "Platform minted bearer",
851
+ inputSchema: { type: "object" as const, properties: {} },
852
+ execute: async () => ({ ok: true }),
853
+ });
854
+ const platformAgent = defineAgent({
855
+ path: "platform-api",
856
+ entrypoint: "Platform bearer agent",
857
+ tools: [platformTool],
858
+ visibility: "public",
859
+ config: {
860
+ security: {
861
+ type: "oauth2",
862
+ flows: {
863
+ authorizationCode: {
864
+ authorizationUrl: "http://localhost/authorize",
865
+ tokenUrl: "http://localhost/token",
866
+ },
867
+ },
868
+ authFields: {
869
+ access_token: { required: true, automated: true },
870
+ },
871
+ },
872
+ },
873
+ });
874
+ const platformRegistry = createAgentRegistry();
875
+ platformRegistry.register(platformAgent);
876
+ const platformServer = createAgentServer(platformRegistry, {
877
+ port: platformRegPort,
878
+ });
879
+ await platformServer.start();
880
+
881
+ try {
882
+ const fs = createMemoryFs();
883
+ const adk = createAdk(fs, {
884
+ resolveCredentials: async ({ field }) =>
885
+ field === "access_token" ? "minted" : null,
886
+ });
887
+
888
+ await adk.registry.add({
889
+ name: "platform-reg",
890
+ url: `http://localhost:${platformRegPort}`,
891
+ });
892
+ await adk.ref.add({
893
+ ref: "platform-api",
894
+ name: "platform-api",
895
+ sourceRegistry: {
896
+ url: `http://localhost:${platformRegPort}`,
897
+ agentPath: "platform-api",
898
+ },
899
+ config: {},
900
+ });
901
+
902
+ const status = await adk.ref.authStatus("platform-api");
903
+ expect(status.fields?.access_token?.automated).toBe(true);
904
+ expect(status.fields?.access_token?.resolvable).toBe(true);
905
+ expect(status.complete).toBe(true);
906
+
907
+ const cacheRaw = await fs.readFile("registry-cache.json");
908
+ const cache = JSON.parse(cacheRaw!) as {
909
+ refs: Record<string, { authFields?: Record<string, unknown> }>;
910
+ };
911
+ expect(cache.refs["platform-api"].authFields).toEqual({
912
+ access_token: { required: true, automated: true },
913
+ });
914
+ } finally {
915
+ await platformServer.stop();
916
+ }
917
+ });
918
+ });
919
+
920
+ describe("ADK ref.call() resolveCredentials fallback", () => {
921
+ let registryServer: AgentServer;
922
+ const REG_PORT = 19922;
923
+ let receivedToken: string | undefined;
924
+
925
+ beforeAll(async () => {
926
+ const apiTool = defineTool({
927
+ name: "get_data",
928
+ description: "Echo accessToken",
929
+ inputSchema: { type: "object" as const, properties: {} },
930
+ execute: async (input: any) => {
931
+ receivedToken = input?.accessToken;
932
+ if (!receivedToken) {
933
+ return {
934
+ content: [{ type: "text", text: '{"error":"401 Unauthorized"}' }],
935
+ _httpStatus: 401,
936
+ };
937
+ }
938
+ return { ok: true, token: receivedToken };
939
+ },
940
+ });
941
+
942
+ const agent = defineAgent({
943
+ path: "resolved-api",
944
+ entrypoint: "Resolved creds agent",
945
+ tools: [apiTool],
946
+ visibility: "public",
947
+ config: {
948
+ security: {
949
+ type: "oauth2",
950
+ flows: {
951
+ authorizationCode: {
952
+ authorizationUrl: "http://localhost/authorize",
953
+ tokenUrl: "http://localhost/token",
954
+ },
955
+ },
956
+ },
957
+ },
958
+ });
959
+
960
+ const registry = createAgentRegistry();
961
+ registry.register(agent);
962
+ registryServer = createAgentServer(registry, { port: REG_PORT });
963
+ await registryServer.start();
964
+ });
965
+
966
+ afterAll(async () => {
967
+ await registryServer.stop();
968
+ });
969
+
970
+ test("uses resolveCredentials when access_token is not stored", async () => {
971
+ receivedToken = undefined;
972
+ const fs = createMemoryFs();
973
+ const adk = createAdk(fs, {
974
+ resolveCredentials: async ({ field }) => {
975
+ if (field === "access_token") return "minted-call-token";
976
+ return null;
977
+ },
978
+ });
979
+
980
+ await adk.registry.add({
981
+ name: "resolved-reg",
982
+ url: `http://localhost:${REG_PORT}`,
983
+ });
984
+ await adk.ref.add({
985
+ ref: "resolved-api",
986
+ sourceRegistry: {
987
+ url: `http://localhost:${REG_PORT}`,
988
+ agentPath: "resolved-api",
989
+ },
990
+ config: {},
991
+ });
992
+
993
+ const result = await adk.ref.call("resolved-api", "get_data");
994
+ expect(receivedToken).toBe("minted-call-token");
995
+ expect((result as any)?.result?.ok).toBe(true);
996
+ });
997
+
998
+ test("stored access_token still wins over resolveCredentials", async () => {
999
+ receivedToken = undefined;
1000
+ const fs = createMemoryFs();
1001
+ const adk = createAdk(fs, {
1002
+ resolveCredentials: async () => "should-not-be-used",
1003
+ });
1004
+
1005
+ await adk.registry.add({
1006
+ name: "resolved-reg",
1007
+ url: `http://localhost:${REG_PORT}`,
1008
+ });
1009
+ await adk.ref.add({
1010
+ ref: "resolved-api",
1011
+ name: "resolved-api-stored",
1012
+ sourceRegistry: {
1013
+ url: `http://localhost:${REG_PORT}`,
1014
+ agentPath: "resolved-api",
1015
+ },
1016
+ config: { access_token: "stored-token" },
1017
+ });
1018
+
1019
+ await adk.ref.call("resolved-api-stored", "get_data");
1020
+ expect(receivedToken).toBe("stored-token");
1021
+ });
1022
+
1023
+ test("uses resolveCredentials for cached apiKey header fields", async () => {
1024
+ let receivedHeaders: Record<string, string> | undefined;
1025
+ const headerRegPort = 19923;
1026
+ const headerServer = createAgentServer(
1027
+ (() => {
1028
+ const apiTool = defineTool({
1029
+ name: "get_data",
1030
+ description: "Echo _headers",
1031
+ inputSchema: { type: "object" as const, properties: {} },
1032
+ execute: async (input: any) => {
1033
+ receivedHeaders = input?._headers;
1034
+ return { ok: true, headers: receivedHeaders };
1035
+ },
1036
+ });
1037
+ const agent = defineAgent({
1038
+ path: "header-api",
1039
+ entrypoint: "Header creds agent",
1040
+ tools: [apiTool],
1041
+ visibility: "public",
1042
+ });
1043
+ const registry = createAgentRegistry();
1044
+ registry.register(agent);
1045
+ return registry;
1046
+ })(),
1047
+ { port: headerRegPort },
1048
+ );
1049
+ await headerServer.start();
1050
+
1051
+ try {
1052
+ receivedHeaders = undefined;
1053
+ const fs = createMemoryFs();
1054
+ const adk = createAdk(fs, {
1055
+ resolveCredentials: async ({ field }) => {
1056
+ if (field === "x_api_key") return "resolved-header-key";
1057
+ return null;
1058
+ },
1059
+ });
1060
+
1061
+ await adk.registry.add({
1062
+ name: "header-reg",
1063
+ url: `http://localhost:${headerRegPort}`,
1064
+ });
1065
+ await adk.ref.add({
1066
+ ref: "header-api",
1067
+ name: "header-api",
1068
+ sourceRegistry: {
1069
+ url: `http://localhost:${headerRegPort}`,
1070
+ agentPath: "header-api",
1071
+ },
1072
+ config: {},
1073
+ });
1074
+
1075
+ await fs.writeFile(
1076
+ "registry-cache.json",
1077
+ JSON.stringify({
1078
+ refs: {
1079
+ "header-api": {
1080
+ ref: "header-api",
1081
+ fetchedAt: new Date().toISOString(),
1082
+ authFields: {
1083
+ x_api_key: { required: true, automated: false },
1084
+ },
1085
+ },
1086
+ },
1087
+ }),
1088
+ );
1089
+
1090
+ const result = await adk.ref.call("header-api", "get_data");
1091
+ expect(receivedHeaders?.["X-API-KEY"]).toBe("resolved-header-key");
1092
+ expect((result as any)?.result?.ok).toBe(true);
1093
+ } finally {
1094
+ await headerServer.stop();
1095
+ }
1096
+ });
845
1097
  });
846
1098
 
847
1099
  describe("ADK ref.call() auto-refresh on direct MCP 401", () => {
@@ -1847,3 +2099,136 @@ describe("isRefAuthComplete + cached authFields", () => {
1847
2099
  expect(result).toBe(false);
1848
2100
  });
1849
2101
  });
2102
+
2103
+ describe("ADK ref.refreshToken() manifest-aware token endpoint", () => {
2104
+ let registryServer: AgentServer;
2105
+ let discoveryServer: ReturnType<typeof Bun.serve>;
2106
+ let tokenServer: ReturnType<typeof Bun.serve>;
2107
+ const REG_PORT = 19950;
2108
+ const AS_PORT = 19951;
2109
+ const TOKEN_PORT = 19952;
2110
+ let tokenRefreshCount = 0;
2111
+
2112
+ beforeAll(async () => {
2113
+ tokenServer = Bun.serve({
2114
+ port: TOKEN_PORT,
2115
+ async fetch(req) {
2116
+ tokenRefreshCount++;
2117
+ const params = new URLSearchParams(await req.text());
2118
+ if (
2119
+ params.get("grant_type") !== "refresh_token" ||
2120
+ params.get("refresh_token") !== "discovery-refresh-token" ||
2121
+ params.get("client_id") !== "discovery-client-id"
2122
+ ) {
2123
+ return new Response(JSON.stringify({ error: "invalid_grant" }), {
2124
+ status: 400,
2125
+ });
2126
+ }
2127
+ return new Response(
2128
+ JSON.stringify({
2129
+ access_token: "discovery-refreshed-token",
2130
+ token_type: "Bearer",
2131
+ expires_in: 3600,
2132
+ }),
2133
+ { headers: { "Content-Type": "application/json" } },
2134
+ );
2135
+ },
2136
+ });
2137
+
2138
+ discoveryServer = Bun.serve({
2139
+ port: AS_PORT,
2140
+ fetch(req) {
2141
+ const path = new URL(req.url).pathname;
2142
+ if (path === "/.well-known/oauth-authorization-server") {
2143
+ return Response.json({
2144
+ issuer: `http://localhost:${AS_PORT}`,
2145
+ authorization_endpoint: `http://localhost:${AS_PORT}/oauth/authorize`,
2146
+ token_endpoint: `http://localhost:${TOKEN_PORT}`,
2147
+ });
2148
+ }
2149
+ return new Response("not found", { status: 404 });
2150
+ },
2151
+ });
2152
+
2153
+ const stubTool = defineTool({
2154
+ name: "noop",
2155
+ description: "Unused in this test",
2156
+ inputSchema: { type: "object" as const, properties: {} },
2157
+ execute: async () => ({ ok: true }),
2158
+ });
2159
+ const agent = defineAgent({
2160
+ path: "discovery-oauth-agent",
2161
+ entrypoint: "Discovery OAuth agent",
2162
+ tools: [stubTool],
2163
+ visibility: "public",
2164
+ config: {
2165
+ security: {
2166
+ type: "oauth2",
2167
+ discoveryUrl: `http://localhost:${AS_PORT}/.well-known/oauth-authorization-server`,
2168
+ flows: {
2169
+ authorizationCode: {
2170
+ authorizationUrl: `http://localhost:${AS_PORT}/oauth/authorize`,
2171
+ },
2172
+ },
2173
+ },
2174
+ },
2175
+ });
2176
+ const registry = createAgentRegistry();
2177
+ registry.register(agent);
2178
+ registryServer = createAgentServer(registry, { port: REG_PORT });
2179
+ await registryServer.start();
2180
+ });
2181
+
2182
+ afterAll(async () => {
2183
+ await registryServer.stop();
2184
+ discoveryServer.stop();
2185
+ tokenServer.stop();
2186
+ });
2187
+
2188
+ test("ref.refreshToken() discovers token endpoint from discoveryUrl when tokenUrl is absent", async () => {
2189
+ tokenRefreshCount = 0;
2190
+
2191
+ const fs = createMemoryFs();
2192
+ const adk = createAdk(fs, {
2193
+ encryptionKey: "test-key-32-chars-long-enough!!",
2194
+ });
2195
+
2196
+ await adk.registry.add({
2197
+ name: "discovery-reg",
2198
+ url: `http://localhost:${REG_PORT}`,
2199
+ });
2200
+ await adk.ref.add({
2201
+ ref: "discovery-oauth-agent",
2202
+ sourceRegistry: {
2203
+ url: `http://localhost:${REG_PORT}`,
2204
+ agentPath: "discovery-oauth-agent",
2205
+ },
2206
+ });
2207
+
2208
+ const config = await adk.readConfig();
2209
+ await adk.writeConfig({
2210
+ ...config,
2211
+ refs: config.refs?.map((r: any) => {
2212
+ if (r.ref === "discovery-oauth-agent") {
2213
+ return {
2214
+ ...r,
2215
+ config: {
2216
+ ...r.config,
2217
+ access_token: "stale-token",
2218
+ refresh_token: "discovery-refresh-token",
2219
+ client_id: "discovery-client-id",
2220
+ },
2221
+ };
2222
+ }
2223
+ return r;
2224
+ }),
2225
+ });
2226
+
2227
+ const refreshed = await adk.ref.refreshToken("discovery-oauth-agent");
2228
+ expect(refreshed).toEqual({ accessToken: "discovery-refreshed-token" });
2229
+ expect(tokenRefreshCount).toBe(1);
2230
+
2231
+ const updated = await adk.ref.get("discovery-oauth-agent");
2232
+ expect(typeof updated?.config?.expires_at).toBe("string");
2233
+ });
2234
+ });