@sapiom/mcp 0.6.0 → 0.7.0
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/credentials.d.ts +7 -3
- package/dist/credentials.d.ts.map +1 -1
- package/dist/credentials.js +32 -11
- package/dist/credentials.js.map +1 -1
- package/package.json +2 -2
package/dist/credentials.d.ts
CHANGED
|
@@ -24,10 +24,14 @@ export interface ResolvedEnvironment {
|
|
|
24
24
|
/**
|
|
25
25
|
* Resolve the active environment configuration.
|
|
26
26
|
*
|
|
27
|
-
* Priority: SAPIOM_ENVIRONMENT env var > file's currentEnvironment > "production"
|
|
27
|
+
* Priority: SAPIOM_ENVIRONMENT env var > file's currentEnvironment > "production".
|
|
28
|
+
* The names `prod` and `dev` are accepted as aliases for `production` and
|
|
29
|
+
* `staging`.
|
|
28
30
|
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
+
* Resolution order for the chosen environment:
|
|
32
|
+
* 1. A matching entry in `~/.sapiom/credentials.json` (carries URLs + creds).
|
|
33
|
+
* 2. A built-in preset (`production`, `staging`) — no file edit required.
|
|
34
|
+
* 3. Otherwise throws (a custom environment must be defined in the file).
|
|
31
35
|
*/
|
|
32
36
|
export declare function resolveEnvironment(envOverride?: string): Promise<ResolvedEnvironment>;
|
|
33
37
|
export declare function readCredentials(envName: string): Promise<CredentialEntry | null>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AA2BA,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,eAAe,CAAC;CAC/B;AAED,MAAM,WAAW,eAAe;IAC9B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CACjD;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;CACrC;AAuBD;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,CAAC,EAAE,MAAM,GACnB,OAAO,CAAC,mBAAmB,CAAC,CAiD9B;AAED,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAGjC;AAED,wBAAsB,gBAAgB,CACpC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,eAAe,GACrB,OAAO,CAAC,IAAI,CAAC,CAef;AAED,wBAAsB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAOrE"}
|
package/dist/credentials.js
CHANGED
|
@@ -1,9 +1,25 @@
|
|
|
1
1
|
import * as fs from "node:fs/promises";
|
|
2
2
|
import * as path from "node:path";
|
|
3
3
|
import * as os from "node:os";
|
|
4
|
-
const DEFAULT_APP_URL = "https://app.sapiom.ai";
|
|
5
|
-
const DEFAULT_API_URL = "https://api.sapiom.ai";
|
|
6
4
|
const DEFAULT_ENVIRONMENT = "production";
|
|
5
|
+
/** Friendly aliases → canonical environment name. */
|
|
6
|
+
const ENVIRONMENT_ALIASES = {
|
|
7
|
+
prod: "production",
|
|
8
|
+
dev: "staging",
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Built-in environment presets, so the common targets resolve to the right URLs
|
|
12
|
+
* without anyone hand-editing `~/.sapiom/credentials.json`. A matching
|
|
13
|
+
* environment defined in the file always takes precedence over a preset (so a
|
|
14
|
+
* custom override, or one carrying credentials, still wins).
|
|
15
|
+
*/
|
|
16
|
+
const ENVIRONMENT_PRESETS = {
|
|
17
|
+
production: { appURL: "https://app.sapiom.ai", apiURL: "https://api.sapiom.ai" },
|
|
18
|
+
staging: { appURL: "https://app.sapiom.dev", apiURL: "https://api.sapiom.dev" },
|
|
19
|
+
};
|
|
20
|
+
function canonicalEnvironmentName(name) {
|
|
21
|
+
return ENVIRONMENT_ALIASES[name] ?? name;
|
|
22
|
+
}
|
|
7
23
|
function getCredentialsPath() {
|
|
8
24
|
return path.join(os.homedir(), ".sapiom", "credentials.json");
|
|
9
25
|
}
|
|
@@ -26,15 +42,19 @@ async function writeCredentialsFile(file) {
|
|
|
26
42
|
/**
|
|
27
43
|
* Resolve the active environment configuration.
|
|
28
44
|
*
|
|
29
|
-
* Priority: SAPIOM_ENVIRONMENT env var > file's currentEnvironment > "production"
|
|
45
|
+
* Priority: SAPIOM_ENVIRONMENT env var > file's currentEnvironment > "production".
|
|
46
|
+
* The names `prod` and `dev` are accepted as aliases for `production` and
|
|
47
|
+
* `staging`.
|
|
30
48
|
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
49
|
+
* Resolution order for the chosen environment:
|
|
50
|
+
* 1. A matching entry in `~/.sapiom/credentials.json` (carries URLs + creds).
|
|
51
|
+
* 2. A built-in preset (`production`, `staging`) — no file edit required.
|
|
52
|
+
* 3. Otherwise throws (a custom environment must be defined in the file).
|
|
33
53
|
*/
|
|
34
54
|
export async function resolveEnvironment(envOverride) {
|
|
35
55
|
const file = await readCredentialsFile();
|
|
36
|
-
const name = envOverride ?? file?.currentEnvironment ?? DEFAULT_ENVIRONMENT;
|
|
37
|
-
//
|
|
56
|
+
const name = canonicalEnvironmentName(envOverride ?? file?.currentEnvironment ?? DEFAULT_ENVIRONMENT);
|
|
57
|
+
// A matching environment in the file always wins.
|
|
38
58
|
const envConfig = file?.environments[name];
|
|
39
59
|
if (envConfig) {
|
|
40
60
|
return {
|
|
@@ -45,12 +65,13 @@ export async function resolveEnvironment(envOverride) {
|
|
|
45
65
|
credentials: envConfig.credentials ?? null,
|
|
46
66
|
};
|
|
47
67
|
}
|
|
48
|
-
//
|
|
49
|
-
|
|
68
|
+
// Otherwise fall back to a built-in preset (no creds file needed).
|
|
69
|
+
const preset = ENVIRONMENT_PRESETS[name];
|
|
70
|
+
if (preset) {
|
|
50
71
|
return {
|
|
51
72
|
name,
|
|
52
|
-
appURL:
|
|
53
|
-
apiURL:
|
|
73
|
+
appURL: preset.appURL,
|
|
74
|
+
apiURL: preset.apiURL,
|
|
54
75
|
services: {},
|
|
55
76
|
credentials: null,
|
|
56
77
|
};
|
package/dist/credentials.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAE9B,MAAM,
|
|
1
|
+
{"version":3,"file":"credentials.js","sourceRoot":"","sources":["../src/credentials.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sapiom/mcp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "Sapiom MCP server for Claude Code — browser-based authentication and API tools",
|
|
5
5
|
"mcpName": "io.github.sapiom/mcp",
|
|
6
6
|
"keywords": [
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
"zod": "^3.25.0",
|
|
36
36
|
"@sapiom/core": "0.5.0",
|
|
37
37
|
"@sapiom/fetch": "0.5.0",
|
|
38
|
-
"@sapiom/orchestration-core": "^0.3.
|
|
38
|
+
"@sapiom/orchestration-core": "^0.3.1"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@types/node": "^20.11.30",
|