@true-and-useful/janee 0.11.2 → 0.12.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.
Files changed (47) hide show
  1. package/README.md +27 -0
  2. package/dist/cli/commands/add.d.ts +1 -0
  3. package/dist/cli/commands/add.d.ts.map +1 -1
  4. package/dist/cli/commands/add.js +23 -5
  5. package/dist/cli/commands/add.js.map +1 -1
  6. package/dist/cli/commands/serve-mcp.d.ts.map +1 -1
  7. package/dist/cli/commands/serve-mcp.js +46 -97
  8. package/dist/cli/commands/serve-mcp.js.map +1 -1
  9. package/dist/cli/commands/test.d.ts +6 -0
  10. package/dist/cli/commands/test.d.ts.map +1 -0
  11. package/dist/cli/commands/test.js +101 -0
  12. package/dist/cli/commands/test.js.map +1 -0
  13. package/dist/cli/config-yaml.d.ts +3 -1
  14. package/dist/cli/config-yaml.d.ts.map +1 -1
  15. package/dist/cli/config-yaml.js +4 -4
  16. package/dist/cli/config-yaml.js.map +1 -1
  17. package/dist/cli/index.js +16 -8
  18. package/dist/cli/index.js.map +1 -1
  19. package/dist/core/auth.d.ts +25 -0
  20. package/dist/core/auth.d.ts.map +1 -0
  21. package/dist/core/auth.js +136 -0
  22. package/dist/core/auth.js.map +1 -0
  23. package/dist/core/authority.d.ts +2 -0
  24. package/dist/core/authority.d.ts.map +1 -1
  25. package/dist/core/authority.js +23 -1
  26. package/dist/core/authority.js.map +1 -1
  27. package/dist/core/directory.d.ts +2 -0
  28. package/dist/core/directory.d.ts.map +1 -1
  29. package/dist/core/directory.js +23 -0
  30. package/dist/core/directory.js.map +1 -1
  31. package/dist/core/exec.d.ts +0 -5
  32. package/dist/core/exec.d.ts.map +1 -1
  33. package/dist/core/exec.js +41 -4
  34. package/dist/core/exec.js.map +1 -1
  35. package/dist/core/health.d.ts +39 -1
  36. package/dist/core/health.d.ts.map +1 -1
  37. package/dist/core/health.js +123 -1
  38. package/dist/core/health.js.map +1 -1
  39. package/dist/core/mcp-server.d.ts +9 -5
  40. package/dist/core/mcp-server.d.ts.map +1 -1
  41. package/dist/core/mcp-server.js +73 -15
  42. package/dist/core/mcp-server.js.map +1 -1
  43. package/dist/index.d.ts +12 -0
  44. package/dist/index.d.ts.map +1 -0
  45. package/dist/index.js +28 -0
  46. package/dist/index.js.map +1 -0
  47. package/package.json +8 -1
@@ -1 +1 @@
1
- {"version":3,"file":"directory.js","sourceRoot":"","sources":["../../src/core/directory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"directory.js","sourceRoot":"","sources":["../../src/core/directory.ts"],"names":[],"mappings":"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"}
@@ -65,11 +65,6 @@ export declare function hashPolicyFingerprint(capability: {
65
65
  timeout?: number;
66
66
  env?: Record<string, string>;
67
67
  }): string;
68
- /**
69
- * Run a command with credentials injected as env vars.
70
- * Inherits the caller's environment — the only additions are the
71
- * credential env vars. Output is scrubbed before returning.
72
- */
73
68
  export declare function executeCommand(command: string[], injectedEnv: Record<string, string>, options: {
74
69
  workDir?: string;
75
70
  timeout?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/core/exec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exec.d.ts","sourceRoot":"","sources":["../../src/core/exec.ts"],"names":[],"mappings":"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"}
package/dist/core/exec.js CHANGED
@@ -15,7 +15,9 @@ exports.scrubCredentials = scrubCredentials;
15
15
  exports.hashPolicyFingerprint = hashPolicyFingerprint;
16
16
  exports.executeCommand = executeCommand;
17
17
  const child_process_1 = require("child_process");
18
+ const fs_1 = __importDefault(require("fs"));
18
19
  const path_1 = __importDefault(require("path"));
20
+ const crypto_1 = require("crypto");
19
21
  function countOccurrences(output, needle) {
20
22
  if (!needle || needle.length < 8)
21
23
  return 0;
@@ -84,16 +86,41 @@ function hashPolicyFingerprint(capability) {
84
86
  return `policy-${hash.toString(16)}`;
85
87
  }
86
88
  /**
87
- * Run a command with credentials injected as env vars.
88
- * Inherits the caller's environment the only additions are the
89
- * credential env vars. Output is scrubbed before returning.
89
+ * When running `git` with a GH/GITHUB token in the env, create a temp
90
+ * askpass script so git can authenticate over HTTPS automatically.
91
+ * Returns the temp file path (caller must clean up) or null.
90
92
  */
93
+ function setupGitAskpass(executable, env) {
94
+ if (path_1.default.basename(executable) !== 'git')
95
+ return null;
96
+ const tokenVar = env.GH_TOKEN ? 'GH_TOKEN'
97
+ : env.GITHUB_TOKEN ? 'GITHUB_TOKEN'
98
+ : null;
99
+ if (!tokenVar)
100
+ return null;
101
+ const askpassPath = path_1.default.join(process.env.TMPDIR || process.env.TMP || '/tmp', `janee-askpass-${(0, crypto_1.randomUUID)()}.sh`);
102
+ fs_1.default.writeFileSync(askpassPath, [
103
+ '#!/bin/sh',
104
+ `case "$1" in`,
105
+ ` Username*|username*) echo "x-access-token" ;;`,
106
+ ` *) echo "\${${tokenVar}}" ;;`,
107
+ 'esac',
108
+ '',
109
+ ].join('\n'), { mode: 0o700 });
110
+ return askpassPath;
111
+ }
91
112
  async function executeCommand(command, injectedEnv, options) {
92
113
  const timeout = options.timeout || 30000;
93
114
  const startTime = Date.now();
115
+ const mergedEnv = { ...process.env, ...injectedEnv };
116
+ const askpassFile = setupGitAskpass(command[0], injectedEnv);
117
+ if (askpassFile) {
118
+ mergedEnv.GIT_ASKPASS = askpassFile;
119
+ mergedEnv.GIT_TERMINAL_PROMPT = '0';
120
+ }
94
121
  return new Promise((resolve) => {
95
122
  const proc = (0, child_process_1.spawn)(command[0], command.slice(1), {
96
- env: { ...process.env, ...injectedEnv },
123
+ env: mergedEnv,
97
124
  cwd: options.workDir || process.cwd(),
98
125
  stdio: ['pipe', 'pipe', 'pipe'],
99
126
  });
@@ -110,6 +137,11 @@ async function executeCommand(command, injectedEnv, options) {
110
137
  }, timeout);
111
138
  proc.on('close', (code) => {
112
139
  clearTimeout(timeoutId);
140
+ if (askpassFile)
141
+ try {
142
+ fs_1.default.unlinkSync(askpassFile);
143
+ }
144
+ catch { /* best effort */ }
113
145
  const executionTimeMs = Date.now() - startTime;
114
146
  const secrets = [
115
147
  options.credential,
@@ -130,6 +162,11 @@ async function executeCommand(command, injectedEnv, options) {
130
162
  });
131
163
  proc.on('error', (error) => {
132
164
  clearTimeout(timeoutId);
165
+ if (askpassFile)
166
+ try {
167
+ fs_1.default.unlinkSync(askpassFile);
168
+ }
169
+ catch { /* best effort */ }
133
170
  resolve({
134
171
  stdout: '',
135
172
  stderr: `Failed to execute command: ${error.message}`,
@@ -1 +1 @@
1
- {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/core/exec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/core/exec.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * Health check module for Janee services
3
3
  * Provides connectivity and latency checks for configured API backends
4
4
  */
5
+ import { ServiceConfig } from './mcp-server.js';
5
6
  export interface HealthCheckResult {
6
7
  service: string;
7
8
  healthy: boolean;
@@ -15,7 +16,11 @@ export interface HealthCheckOptions {
15
16
  fetchFn?: typeof fetch;
16
17
  }
17
18
  /**
18
- * Check if a service endpoint is reachable and responding
19
+ * Quick reachability check unauthenticated HEAD against the base URL.
20
+ * Use for uptime monitoring where you just care "is the endpoint up?"
21
+ * Considers 401/403 as reachable (the server answered, auth is just expected).
22
+ *
23
+ * For verifying credentials actually work, use testServiceConnection() instead.
19
24
  */
20
25
  export declare function checkServiceHealth(serviceName: string, baseUrl: string, options?: HealthCheckOptions): Promise<HealthCheckResult>;
21
26
  /**
@@ -24,4 +29,37 @@ export declare function checkServiceHealth(serviceName: string, baseUrl: string,
24
29
  export declare function checkAllServicesHealth(services: Map<string, {
25
30
  baseUrl: string;
26
31
  }>, options?: HealthCheckOptions): Promise<HealthCheckResult[]>;
32
+ export interface ServiceTestResult {
33
+ service: string;
34
+ baseUrl: string;
35
+ testUrl: string;
36
+ reachable: boolean;
37
+ authOk: boolean;
38
+ statusCode?: number;
39
+ latencyMs: number;
40
+ authType: string;
41
+ error?: string;
42
+ /** Truncated upstream response body on failure — helps agents diagnose issues */
43
+ responseBody?: string;
44
+ checkedAt: string;
45
+ }
46
+ export interface ServiceTestOptions {
47
+ /** Auth-required endpoint path to test (e.g. "/v1/balance" for Stripe). Falls back to "/" */
48
+ testPath?: string;
49
+ timeout?: number;
50
+ fetchFn?: typeof fetch;
51
+ }
52
+ /**
53
+ * Resolve the best testPath for a service by matching against the template directory.
54
+ * Returns undefined if no template match is found.
55
+ */
56
+ export declare function resolveTestPath(serviceName: string, baseUrl: string): string | undefined;
57
+ /**
58
+ * Full credential test — authenticated GET against an auth-required endpoint.
59
+ * Use when you need to verify that stored credentials are actually valid.
60
+ * Injects auth headers via buildAuthHeaders() (same path as the proxy).
61
+ *
62
+ * For simple reachability without auth, use checkServiceHealth() instead.
63
+ */
64
+ export declare function testServiceConnection(serviceName: string, serviceConfig: ServiceConfig, options?: ServiceTestOptions): Promise<ServiceTestResult>;
27
65
  //# sourceMappingURL=health.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/core/health.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CA6D5B;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,EAC1C,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAK9B"}
1
+ {"version":3,"file":"health.d.ts","sourceRoot":"","sources":["../../src/core/health.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CA6D5B;AAED;;GAEG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,EAC1C,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAK9B;AAGD,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,KAAK,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOxF;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,aAAa,EAC5B,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAqG5B"}
@@ -6,8 +6,17 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.checkServiceHealth = checkServiceHealth;
8
8
  exports.checkAllServicesHealth = checkAllServicesHealth;
9
+ exports.resolveTestPath = resolveTestPath;
10
+ exports.testServiceConnection = testServiceConnection;
11
+ const url_1 = require("url");
12
+ const auth_js_1 = require("./auth.js");
13
+ const directory_js_1 = require("./directory.js");
9
14
  /**
10
- * Check if a service endpoint is reachable and responding
15
+ * Quick reachability check unauthenticated HEAD against the base URL.
16
+ * Use for uptime monitoring where you just care "is the endpoint up?"
17
+ * Considers 401/403 as reachable (the server answered, auth is just expected).
18
+ *
19
+ * For verifying credentials actually work, use testServiceConnection() instead.
11
20
  */
12
21
  async function checkServiceHealth(serviceName, baseUrl, options = {}) {
13
22
  const { timeout = 5000, fetchFn = fetch } = options;
@@ -70,4 +79,117 @@ async function checkAllServicesHealth(services, options = {}) {
70
79
  const checks = Array.from(services.entries()).map(([name, config]) => checkServiceHealth(name, config.baseUrl, options));
71
80
  return Promise.all(checks);
72
81
  }
82
+ /**
83
+ * Resolve the best testPath for a service by matching against the template directory.
84
+ * Returns undefined if no template match is found.
85
+ */
86
+ function resolveTestPath(serviceName, baseUrl) {
87
+ const byName = (0, directory_js_1.getService)(serviceName);
88
+ if (byName?.testPath)
89
+ return byName.testPath;
90
+ // Fall back to matching by baseUrl
91
+ const byUrl = directory_js_1.serviceDirectory.find(t => t.testPath && baseUrl.startsWith(t.baseUrl));
92
+ return byUrl?.testPath;
93
+ }
94
+ /**
95
+ * Full credential test — authenticated GET against an auth-required endpoint.
96
+ * Use when you need to verify that stored credentials are actually valid.
97
+ * Injects auth headers via buildAuthHeaders() (same path as the proxy).
98
+ *
99
+ * For simple reachability without auth, use checkServiceHealth() instead.
100
+ */
101
+ async function testServiceConnection(serviceName, serviceConfig, options = {}) {
102
+ const { timeout = 10000, fetchFn = fetch } = options;
103
+ const checkedAt = new Date().toISOString();
104
+ const authType = serviceConfig.auth.type;
105
+ if (!serviceConfig.baseUrl) {
106
+ return {
107
+ service: serviceName,
108
+ baseUrl: '',
109
+ testUrl: '',
110
+ reachable: false,
111
+ authOk: false,
112
+ latencyMs: 0,
113
+ authType,
114
+ error: 'No base URL configured',
115
+ checkedAt
116
+ };
117
+ }
118
+ const testPath = options.testPath || serviceConfig.testPath || resolveTestPath(serviceName, serviceConfig.baseUrl);
119
+ const start = Date.now();
120
+ try {
121
+ let baseUrl = serviceConfig.baseUrl;
122
+ if (!baseUrl.endsWith('/'))
123
+ baseUrl += '/';
124
+ let reqPath = testPath || '';
125
+ if (reqPath.startsWith('/'))
126
+ reqPath = reqPath.slice(1);
127
+ const targetUrl = new url_1.URL(reqPath, baseUrl);
128
+ const authResult = await (0, auth_js_1.buildAuthHeaders)(serviceName, serviceConfig, {
129
+ method: 'GET',
130
+ targetUrl,
131
+ body: undefined,
132
+ });
133
+ if (authResult.urlParams) {
134
+ for (const [key, value] of Object.entries(authResult.urlParams)) {
135
+ targetUrl.searchParams.set(key, value);
136
+ }
137
+ }
138
+ const controller = new AbortController();
139
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
140
+ const response = await fetchFn(targetUrl.toString(), {
141
+ method: 'GET',
142
+ headers: authResult.headers,
143
+ signal: controller.signal,
144
+ });
145
+ clearTimeout(timeoutId);
146
+ const latencyMs = Date.now() - start;
147
+ const reachable = true;
148
+ const authOk = response.ok;
149
+ // On failure, capture upstream response body so agents can diagnose
150
+ let responseBody;
151
+ if (!authOk) {
152
+ try {
153
+ const raw = await response.text();
154
+ responseBody = raw.length > 512 ? raw.slice(0, 512) + '…' : raw;
155
+ }
156
+ catch {
157
+ // best-effort
158
+ }
159
+ }
160
+ return {
161
+ service: serviceName,
162
+ baseUrl: serviceConfig.baseUrl,
163
+ testUrl: targetUrl.toString(),
164
+ reachable,
165
+ authOk,
166
+ statusCode: response.status,
167
+ latencyMs,
168
+ authType,
169
+ ...(response.status === 401 && { error: 'Authentication failed (401)' }),
170
+ ...(response.status === 403 && { error: 'Forbidden (403) — credentials may lack required permissions' }),
171
+ ...(!response.ok && response.status !== 401 && response.status !== 403 && {
172
+ error: `HTTP ${response.status} ${response.statusText}`
173
+ }),
174
+ responseBody,
175
+ checkedAt,
176
+ };
177
+ }
178
+ catch (err) {
179
+ const latencyMs = Date.now() - start;
180
+ const message = err instanceof Error ? err.message : String(err);
181
+ const isTimeout = message.includes('abort');
182
+ return {
183
+ service: serviceName,
184
+ baseUrl: serviceConfig.baseUrl,
185
+ testUrl: serviceConfig.baseUrl + (testPath || ''),
186
+ reachable: false,
187
+ authOk: false,
188
+ latencyMs,
189
+ authType,
190
+ error: isTimeout ? `Timeout after ${timeout}ms` : message,
191
+ checkedAt,
192
+ };
193
+ }
194
+ }
73
195
  //# sourceMappingURL=health.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/core/health.ts"],"names":[],"mappings":";AAAA;;;GAGG;;AAmBH,gDAiEC;AAKD,wDAQC;AAjFD;;GAEG;AACI,KAAK,UAAU,kBAAkB,CACtC,WAAmB,EACnB,OAAe,EACf,UAA8B,EAAE;IAEhC,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IACpD,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE3C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,CAAC;YACZ,KAAK,EAAE,wBAAwB;YAC/B,SAAS;SACV,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEzB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;QAEhE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE;YACtC,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,UAAU,CAAC,MAAM;SAC1B,CAAC,CAAC;QAEH,YAAY,CAAC,SAAS,CAAC,CAAC;QACxB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QAErC,uFAAuF;QACvF,MAAM,WAAW,GAAG,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC;QAEtF,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO;gBACL,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,IAAI;gBACb,UAAU,EAAE,QAAQ,CAAC,MAAM;gBAC3B,SAAS;gBACT,SAAS;aACV,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,QAAQ,CAAC,MAAM;YAC3B,SAAS;YACT,KAAK,EAAE,QAAQ,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE;YACvD,SAAS;SACV,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QACrC,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEjE,OAAO;YACL,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,KAAK;YACd,SAAS;YACT,KAAK,EAAE,OAAO;YACd,SAAS;SACV,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,sBAAsB,CAC1C,QAA0C,EAC1C,UAA8B,EAAE;IAEhC,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CACnE,kBAAkB,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,CAClD,CAAC;IACF,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC"}
1
+ {"version":3,"file":"health.js","sourceRoot":"","sources":["../../src/core/health.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,13 @@
2
2
  * MCP Server for Janee
3
3
  * Exposes capabilities to AI agents via Model Context Protocol
4
4
  */
5
+ import { URL } from 'url';
5
6
  import { Server } from '@modelcontextprotocol/sdk/server/index.js';
6
- import { SessionManager } from './sessions.js';
7
- import { Rules } from './rules.js';
7
+ import { CredentialOwnership } from './agent-scope.js';
8
8
  import { AuditLogger } from './audit.js';
9
- import { URL } from 'url';
10
9
  import { ExecResult } from './exec.js';
11
- import { CredentialOwnership } from './agent-scope.js';
10
+ import { Rules } from './rules.js';
11
+ import { SessionManager } from './sessions.js';
12
12
  export interface Capability {
13
13
  name: string;
14
14
  service: string;
@@ -38,6 +38,8 @@ export interface ServiceConfig {
38
38
  privateKey?: string;
39
39
  installationId?: string;
40
40
  };
41
+ /** Auth-required GET path used by `janee test` to verify credentials (e.g. "/v1/balance") */
42
+ testPath?: string;
41
43
  /** Ownership metadata for agent-scoped credential access control */
42
44
  ownership?: CredentialOwnership;
43
45
  }
@@ -81,6 +83,8 @@ export interface MCPServerOptions {
81
83
  hideExecTool?: boolean;
82
84
  }
83
85
  export interface MCPServerResult {
86
+ /** Swap capabilities and services in the closure. Used for SIGHUP reload. */
87
+ reloadConfig: (result: ReloadResult) => void;
84
88
  server: Server;
85
89
  /** Per-session clientInfo.name storage. Populated by captureClientInfo(). */
86
90
  clientSessions: Map<string, string>;
@@ -104,7 +108,7 @@ export declare function captureClientInfo(transport: {
104
108
  /**
105
109
  * Start MCP server with stdio transport (single session).
106
110
  */
107
- export declare function startMCPServer(serverOptions: MCPServerOptions): Promise<void>;
111
+ export declare function startMCPServer(serverOptions: MCPServerOptions): Promise<MCPServerResult>;
108
112
  /** Handle returned by startMCPServerHTTP for lifecycle management. */
109
113
  export interface HTTPServerHandle {
110
114
  /** Gracefully close all sessions and stop the HTTP listener. */
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../src/core/mcp-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../src/core/mcp-server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAcnE,OAAO,EAEL,mBAAmB,EAEpB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EACL,UAAU,EAEX,MAAM,WAAW,CAAC;AAKnB,OAAO,EAEL,KAAK,EACN,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAgC/C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IAEzB,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,iBAAiB,GAAG,YAAY,CAAC;QACxG,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACjC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,6FAA6F;IAC7F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oEAAoE;IACpE,SAAS,CAAC,EAAE,mBAAmB,CAAC;CACjC;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC3C,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACtC;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACrC,gFAAgF;IAChF,cAAc,EAAE,cAAc,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC;IACzB,gIAAgI;IAChI,aAAa,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IACtC,SAAS,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,UAAU,KAAK,OAAO,CAAC,WAAW,CAAC,CAAC;IACvE,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IACjH,cAAc,CAAC,EAAE,MAAM,YAAY,CAAC;IACpC,8EAA8E;IAC9E,kBAAkB,CAAC,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACnF;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5G;oDACgD;IAChD,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAsBD,MAAM,WAAW,eAAe;IAC9B,6EAA6E;IAC7E,YAAY,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IAC7C,MAAM,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACrC;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,CA6lB1E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,GAAG,EACd,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,WAAW,CAAC,CAyCtB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE;IAAE,SAAS,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;CAAE,EAClD,cAAc,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAClC,IAAI,CASN;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,aAAa,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAS9F;AAED,sEAAsE;AACtE,MAAM,WAAW,gBAAgB;IAC/B,gEAAgE;IAChE,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,qCAAqC;IACrC,YAAY,IAAI,MAAM,CAAC;CACxB;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,gBAAgB,EAC/B,WAAW,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,OAAO,gBAAgB,EAAE,kBAAkB,CAAA;CAAE,GACpJ,OAAO,CAAC,gBAAgB,CAAC,CA0L3B"}
@@ -45,18 +45,19 @@ exports.makeAPIRequest = makeAPIRequest;
45
45
  exports.captureClientInfo = captureClientInfo;
46
46
  exports.startMCPServer = startMCPServer;
47
47
  exports.startMCPServerHTTP = startMCPServerHTTP;
48
+ const express_1 = __importDefault(require("express"));
49
+ const fs_1 = require("fs");
50
+ const http_1 = __importDefault(require("http"));
51
+ const https_1 = __importDefault(require("https"));
52
+ const path_1 = require("path");
48
53
  const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
49
54
  const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
50
55
  const streamableHttp_js_1 = require("@modelcontextprotocol/sdk/server/streamableHttp.js");
51
56
  const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
52
- const rules_js_1 = require("./rules.js");
53
- const http_1 = __importDefault(require("http"));
54
- const https_1 = __importDefault(require("https"));
55
- const express_1 = __importDefault(require("express"));
56
- const exec_js_1 = require("./exec.js");
57
- const fs_1 = require("fs");
58
57
  const agent_scope_js_1 = require("./agent-scope.js");
59
- const path_1 = require("path");
58
+ const exec_js_1 = require("./exec.js");
59
+ const health_js_1 = require("./health.js");
60
+ const rules_js_1 = require("./rules.js");
60
61
  // Read version from package.json
61
62
  const packageJsonPath = (0, path_1.join)(__dirname, '../../package.json');
62
63
  const pkgVersion = JSON.parse((0, fs_1.readFileSync)(packageJsonPath, 'utf8')).version || '0.0.0';
@@ -239,9 +240,24 @@ function createMCPServer(options) {
239
240
  required: ['action', 'service']
240
241
  }
241
242
  };
243
+ // Tool: test_service
244
+ const testServiceTool = {
245
+ name: 'test_service',
246
+ description: 'Test connectivity and authentication for a configured service. Verifies that Janee can reach the service and that credentials are valid.',
247
+ inputSchema: {
248
+ type: 'object',
249
+ properties: {
250
+ service: {
251
+ type: 'string',
252
+ description: 'Service name to test (from list_services). Omit to test all services.'
253
+ }
254
+ },
255
+ required: []
256
+ }
257
+ };
242
258
  // Register tools
243
259
  server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
244
- const tools = [listServicesTool, executeTool, manageCredentialTool];
260
+ const tools = [listServicesTool, executeTool, manageCredentialTool, testServiceTool];
245
261
  if (onExecCommand && !options.hideExecTool) {
246
262
  tools.push(execTool);
247
263
  }
@@ -267,11 +283,8 @@ function createMCPServer(options) {
267
283
  content: [{
268
284
  type: 'text',
269
285
  text: JSON.stringify(capabilities
270
- .filter(cap => {
271
- const svc = services.get(cap.service);
272
- return canAccessCapability(listAgentId, cap, svc, defaultAccess);
273
- })
274
286
  .map(cap => ({
287
+ accessible: canAccessCapability(listAgentId, cap, services.get(cap.service), defaultAccess),
275
288
  name: cap.name,
276
289
  service: cap.service,
277
290
  mode: cap.mode || 'proxy',
@@ -533,6 +546,30 @@ function createMCPServer(options) {
533
546
  }
534
547
  throw new Error(`Unknown action: ${credAction}. Use 'view', 'grant', or 'revoke'.`);
535
548
  }
549
+ case 'test_service': {
550
+ const { service: testSvcName } = (args || {});
551
+ let targets;
552
+ if (testSvcName) {
553
+ const svc = services.get(testSvcName);
554
+ if (!svc) {
555
+ throw new Error(`Unknown service: ${testSvcName}. Use list_services to see available services.`);
556
+ }
557
+ targets = [[testSvcName, svc]];
558
+ }
559
+ else {
560
+ targets = Array.from(services.entries());
561
+ }
562
+ if (targets.length === 0) {
563
+ throw new Error('No services configured');
564
+ }
565
+ const results = await Promise.all(targets.map(([name, config]) => (0, health_js_1.testServiceConnection)(name, config)));
566
+ return {
567
+ content: [{
568
+ type: 'text',
569
+ text: JSON.stringify(results.length === 1 ? results[0] : results, null, 2)
570
+ }]
571
+ };
572
+ }
536
573
  default:
537
574
  throw new Error(`Unknown tool: ${name}`);
538
575
  }
@@ -549,7 +586,14 @@ function createMCPServer(options) {
549
586
  };
550
587
  }
551
588
  });
552
- return { server, clientSessions };
589
+ return {
590
+ server,
591
+ clientSessions,
592
+ reloadConfig: (result) => {
593
+ capabilities = result.capabilities;
594
+ services = result.services;
595
+ },
596
+ };
553
597
  }
554
598
  /**
555
599
  * Make HTTP/HTTPS request to real API
@@ -608,11 +652,13 @@ function captureClientInfo(transport, clientSessions) {
608
652
  * Start MCP server with stdio transport (single session).
609
653
  */
610
654
  async function startMCPServer(serverOptions) {
611
- const { server, clientSessions } = createMCPServer(serverOptions);
655
+ const mcpResult = createMCPServer(serverOptions);
656
+ const { server, clientSessions } = mcpResult;
612
657
  const transport = new stdio_js_1.StdioServerTransport();
613
658
  await server.connect(transport);
614
659
  captureClientInfo(transport, clientSessions);
615
660
  console.error('Janee MCP server started (stdio)');
661
+ return mcpResult;
616
662
  }
617
663
  /**
618
664
  * Start MCP server with StreamableHTTP transport over HTTP.
@@ -675,6 +721,17 @@ async function startMCPServerHTTP(serverOptions, httpOptions) {
675
721
  res.status(500).json({ error: error instanceof Error ? error.message : 'completion failed' });
676
722
  }
677
723
  });
724
+ if (hooks.testService) {
725
+ app.post('/v1/test', authMiddleware, async (req, res) => {
726
+ try {
727
+ const result = await hooks.testService(req.body?.service);
728
+ res.status(200).json(result);
729
+ }
730
+ catch (error) {
731
+ res.status(500).json({ error: error instanceof Error ? error.message : 'Test failed' });
732
+ }
733
+ });
734
+ }
678
735
  }
679
736
  // Sweep idle sessions every 60 seconds
680
737
  const idleSweepInterval = idleTimeoutMs > 0 ? setInterval(async () => {
@@ -706,7 +763,8 @@ async function startMCPServerHTTP(serverOptions, httpOptions) {
706
763
  }
707
764
  else if (!sessionId && (0, types_js_1.isInitializeRequest)(req.body)) {
708
765
  const clientName = req.body?.params?.clientInfo?.name;
709
- const { server, clientSessions } = createMCPServer(serverOptions);
766
+ const mcpResult = createMCPServer(serverOptions);
767
+ const { server, clientSessions } = mcpResult;
710
768
  const transport = new streamableHttp_js_1.StreamableHTTPServerTransport({
711
769
  sessionIdGenerator: () => crypto.randomUUID(),
712
770
  onsessioninitialized: (sid) => {