@true-and-useful/janee 0.11.3 → 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.
- package/dist/cli/commands/add.d.ts +1 -0
- package/dist/cli/commands/add.d.ts.map +1 -1
- package/dist/cli/commands/add.js +23 -5
- package/dist/cli/commands/add.js.map +1 -1
- package/dist/cli/commands/serve-mcp.d.ts.map +1 -1
- package/dist/cli/commands/serve-mcp.js +46 -97
- package/dist/cli/commands/serve-mcp.js.map +1 -1
- package/dist/cli/commands/test.d.ts +6 -0
- package/dist/cli/commands/test.d.ts.map +1 -0
- package/dist/cli/commands/test.js +101 -0
- package/dist/cli/commands/test.js.map +1 -0
- package/dist/cli/config-yaml.d.ts +3 -1
- package/dist/cli/config-yaml.d.ts.map +1 -1
- package/dist/cli/config-yaml.js +4 -4
- package/dist/cli/config-yaml.js.map +1 -1
- package/dist/cli/index.js +16 -8
- package/dist/cli/index.js.map +1 -1
- package/dist/core/auth.d.ts +25 -0
- package/dist/core/auth.d.ts.map +1 -0
- package/dist/core/auth.js +136 -0
- package/dist/core/auth.js.map +1 -0
- package/dist/core/authority.d.ts +2 -0
- package/dist/core/authority.d.ts.map +1 -1
- package/dist/core/authority.js +23 -1
- package/dist/core/authority.js.map +1 -1
- package/dist/core/directory.d.ts +2 -0
- package/dist/core/directory.d.ts.map +1 -1
- package/dist/core/directory.js +23 -0
- package/dist/core/directory.js.map +1 -1
- package/dist/core/health.d.ts +39 -1
- package/dist/core/health.d.ts.map +1 -1
- package/dist/core/health.js +123 -1
- package/dist/core/health.js.map +1 -1
- package/dist/core/mcp-server.d.ts +9 -5
- package/dist/core/mcp-server.d.ts.map +1 -1
- package/dist/core/mcp-server.js +73 -15
- package/dist/core/mcp-server.js.map +1 -1
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/index.js.map +1 -0
- package/package.json +8 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-yaml.js","sourceRoot":"","sources":["../../src/cli/config-yaml.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;
|
|
1
|
+
{"version":3,"file":"config-yaml.js","sourceRoot":"","sources":["../../src/cli/config-yaml.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/index.js
CHANGED
|
@@ -6,20 +6,21 @@
|
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
8
|
const commander_1 = require("commander");
|
|
9
|
-
const
|
|
9
|
+
const fs_1 = require("fs");
|
|
10
|
+
const path_1 = require("path");
|
|
10
11
|
const add_1 = require("./commands/add");
|
|
11
|
-
const
|
|
12
|
-
const
|
|
12
|
+
const authority_1 = require("./commands/authority");
|
|
13
|
+
const capability_1 = require("./commands/capability");
|
|
14
|
+
const init_1 = require("./commands/init");
|
|
13
15
|
const list_1 = require("./commands/list");
|
|
14
16
|
const logs_1 = require("./commands/logs");
|
|
15
|
-
const
|
|
17
|
+
const remove_1 = require("./commands/remove");
|
|
16
18
|
const revoke_1 = require("./commands/revoke");
|
|
17
19
|
const search_1 = require("./commands/search");
|
|
20
|
+
const serve_1 = require("./commands/serve");
|
|
21
|
+
const sessions_1 = require("./commands/sessions");
|
|
18
22
|
const status_1 = require("./commands/status");
|
|
19
|
-
const
|
|
20
|
-
const capability_1 = require("./commands/capability");
|
|
21
|
-
const fs_1 = require("fs");
|
|
22
|
-
const path_1 = require("path");
|
|
23
|
+
const test_1 = require("./commands/test");
|
|
23
24
|
// Read version from package.json
|
|
24
25
|
const packageJsonPath = (0, path_1.join)(__dirname, '../../package.json');
|
|
25
26
|
const packageJson = JSON.parse((0, fs_1.readFileSync)(packageJsonPath, 'utf8'));
|
|
@@ -51,6 +52,7 @@ program
|
|
|
51
52
|
.option('--pem-file <path>', 'Path to private key PEM file (for github-app auth type)')
|
|
52
53
|
.option('--app-id <id>', 'GitHub App ID (for github-app auth type)')
|
|
53
54
|
.option('--installation-id <id>', 'GitHub App installation ID (for github-app auth type)')
|
|
55
|
+
.option('--test-path <path>', 'Auth-required GET endpoint for testing credentials (e.g. /v1/balance)')
|
|
54
56
|
.option('--exec', 'Add as exec-mode service (CLI tool wrapper, RFC 0001)')
|
|
55
57
|
.option('--allow-commands <cmds...>', 'Allowed executables for exec mode (e.g., bird gh)')
|
|
56
58
|
.option('--env-map <mappings...>', 'Env var mappings (KEY=value or KEY={{credential}})')
|
|
@@ -110,6 +112,12 @@ program
|
|
|
110
112
|
.description('Show Janee configuration and health status')
|
|
111
113
|
.option('--json', 'Output as JSON')
|
|
112
114
|
.action(status_1.statusCommand);
|
|
115
|
+
program
|
|
116
|
+
.command('test [service]')
|
|
117
|
+
.description('Test service connectivity and authentication')
|
|
118
|
+
.option('--timeout <ms>', 'Request timeout in ms (default: 10000)')
|
|
119
|
+
.option('--json', 'Output as JSON')
|
|
120
|
+
.action((service, options) => (0, test_1.testCommand)(service, options));
|
|
113
121
|
program
|
|
114
122
|
.command('search [query]')
|
|
115
123
|
.description('Search the service directory')
|
package/dist/cli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":";;AAEA;;;GAGG;;AAEH,yCAAoC;AACpC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared auth header injection for all Janee interfaces.
|
|
3
|
+
* Extracted from serve-mcp.ts so CLI test, MCP tools, and REST endpoints
|
|
4
|
+
* all build auth headers the same way.
|
|
5
|
+
*/
|
|
6
|
+
import { URL } from 'url';
|
|
7
|
+
import { ServiceConfig } from './mcp-server.js';
|
|
8
|
+
export interface AuthHeadersContext {
|
|
9
|
+
method: string;
|
|
10
|
+
targetUrl: URL;
|
|
11
|
+
body?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface AuthHeadersResult {
|
|
14
|
+
headers: Record<string, string>;
|
|
15
|
+
/** HMAC-MEXC appends signature params to the URL */
|
|
16
|
+
urlParams?: Record<string, string>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Build auth headers for a service request.
|
|
20
|
+
* Handles all auth types: bearer, headers, hmac-*, service-account, github-app.
|
|
21
|
+
*
|
|
22
|
+
* Async because service-account and github-app need to fetch tokens.
|
|
23
|
+
*/
|
|
24
|
+
export declare function buildAuthHeaders(serviceName: string, serviceConfig: ServiceConfig, ctx: AuthHeadersContext): Promise<AuthHeadersResult>;
|
|
25
|
+
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/core/auth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,MAAM,WAAW,kBAAkB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,GAAG,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,aAAa,EAC5B,GAAG,EAAE,kBAAkB,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAsF5B"}
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Shared auth header injection for all Janee interfaces.
|
|
4
|
+
* Extracted from serve-mcp.ts so CLI test, MCP tools, and REST endpoints
|
|
5
|
+
* all build auth headers the same way.
|
|
6
|
+
*/
|
|
7
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
8
|
+
if (k2 === undefined) k2 = k;
|
|
9
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
10
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
11
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
12
|
+
}
|
|
13
|
+
Object.defineProperty(o, k2, desc);
|
|
14
|
+
}) : (function(o, m, k, k2) {
|
|
15
|
+
if (k2 === undefined) k2 = k;
|
|
16
|
+
o[k2] = m[k];
|
|
17
|
+
}));
|
|
18
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
19
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
20
|
+
}) : function(o, v) {
|
|
21
|
+
o["default"] = v;
|
|
22
|
+
});
|
|
23
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
24
|
+
var ownKeys = function(o) {
|
|
25
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
26
|
+
var ar = [];
|
|
27
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
28
|
+
return ar;
|
|
29
|
+
};
|
|
30
|
+
return ownKeys(o);
|
|
31
|
+
};
|
|
32
|
+
return function (mod) {
|
|
33
|
+
if (mod && mod.__esModule) return mod;
|
|
34
|
+
var result = {};
|
|
35
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
36
|
+
__setModuleDefault(result, mod);
|
|
37
|
+
return result;
|
|
38
|
+
};
|
|
39
|
+
})();
|
|
40
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
41
|
+
exports.buildAuthHeaders = buildAuthHeaders;
|
|
42
|
+
/**
|
|
43
|
+
* Build auth headers for a service request.
|
|
44
|
+
* Handles all auth types: bearer, headers, hmac-*, service-account, github-app.
|
|
45
|
+
*
|
|
46
|
+
* Async because service-account and github-app need to fetch tokens.
|
|
47
|
+
*/
|
|
48
|
+
async function buildAuthHeaders(serviceName, serviceConfig, ctx) {
|
|
49
|
+
const headers = {};
|
|
50
|
+
let urlParams;
|
|
51
|
+
if (serviceConfig.auth.type === 'bearer' && serviceConfig.auth.key) {
|
|
52
|
+
headers['Authorization'] = `Bearer ${serviceConfig.auth.key}`;
|
|
53
|
+
}
|
|
54
|
+
else if (serviceConfig.auth.type === 'headers' && serviceConfig.auth.headers) {
|
|
55
|
+
Object.assign(headers, serviceConfig.auth.headers);
|
|
56
|
+
}
|
|
57
|
+
else if (serviceConfig.auth.type === 'hmac-mexc' && serviceConfig.auth.apiKey && serviceConfig.auth.apiSecret) {
|
|
58
|
+
const { signMEXC } = await Promise.resolve().then(() => __importStar(require('./signing.js')));
|
|
59
|
+
const result = signMEXC({
|
|
60
|
+
apiKey: serviceConfig.auth.apiKey,
|
|
61
|
+
apiSecret: serviceConfig.auth.apiSecret,
|
|
62
|
+
queryString: ctx.targetUrl.searchParams.toString()
|
|
63
|
+
});
|
|
64
|
+
Object.assign(headers, result.headers);
|
|
65
|
+
if (result.urlParams)
|
|
66
|
+
urlParams = result.urlParams;
|
|
67
|
+
}
|
|
68
|
+
else if (serviceConfig.auth.type === 'hmac-bybit' && serviceConfig.auth.apiKey && serviceConfig.auth.apiSecret) {
|
|
69
|
+
const { signBybit } = await Promise.resolve().then(() => __importStar(require('./signing.js')));
|
|
70
|
+
const result = signBybit({
|
|
71
|
+
apiKey: serviceConfig.auth.apiKey,
|
|
72
|
+
apiSecret: serviceConfig.auth.apiSecret,
|
|
73
|
+
method: ctx.method,
|
|
74
|
+
queryString: ctx.targetUrl.searchParams.toString(),
|
|
75
|
+
body: ctx.body
|
|
76
|
+
});
|
|
77
|
+
Object.assign(headers, result.headers);
|
|
78
|
+
}
|
|
79
|
+
else if (serviceConfig.auth.type === 'hmac-okx' && serviceConfig.auth.apiKey && serviceConfig.auth.apiSecret && serviceConfig.auth.passphrase) {
|
|
80
|
+
const { signOKX } = await Promise.resolve().then(() => __importStar(require('./signing.js')));
|
|
81
|
+
const reqPath = ctx.targetUrl.pathname + (ctx.targetUrl.search || '');
|
|
82
|
+
const result = signOKX({
|
|
83
|
+
apiKey: serviceConfig.auth.apiKey,
|
|
84
|
+
apiSecret: serviceConfig.auth.apiSecret,
|
|
85
|
+
passphrase: serviceConfig.auth.passphrase,
|
|
86
|
+
method: ctx.method,
|
|
87
|
+
requestPath: reqPath,
|
|
88
|
+
body: ctx.body
|
|
89
|
+
});
|
|
90
|
+
Object.assign(headers, result.headers);
|
|
91
|
+
}
|
|
92
|
+
else if (serviceConfig.auth.type === 'service-account' && serviceConfig.auth.credentials && serviceConfig.auth.scopes) {
|
|
93
|
+
const { getAccessToken, validateServiceAccountCredentials, clearCachedToken } = await Promise.resolve().then(() => __importStar(require('./service-account.js')));
|
|
94
|
+
try {
|
|
95
|
+
const credentials = JSON.parse(serviceConfig.auth.credentials);
|
|
96
|
+
validateServiceAccountCredentials(credentials);
|
|
97
|
+
const accessToken = await getAccessToken(serviceName, credentials, serviceConfig.auth.scopes);
|
|
98
|
+
headers['Authorization'] = `Bearer ${accessToken}`;
|
|
99
|
+
}
|
|
100
|
+
catch (error) {
|
|
101
|
+
if (error instanceof Error && error.message.includes('401')) {
|
|
102
|
+
clearCachedToken(serviceName, serviceConfig.auth.scopes);
|
|
103
|
+
const credentials = JSON.parse(serviceConfig.auth.credentials);
|
|
104
|
+
const accessToken = await getAccessToken(serviceName, credentials, serviceConfig.auth.scopes);
|
|
105
|
+
headers['Authorization'] = `Bearer ${accessToken}`;
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
throw error;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
else if (serviceConfig.auth.type === 'github-app' && serviceConfig.auth.appId && serviceConfig.auth.privateKey && serviceConfig.auth.installationId) {
|
|
113
|
+
const { getInstallationToken, clearCachedInstallationToken } = await Promise.resolve().then(() => __importStar(require('./github-app.js')));
|
|
114
|
+
const ghCreds = {
|
|
115
|
+
appId: serviceConfig.auth.appId,
|
|
116
|
+
privateKey: serviceConfig.auth.privateKey,
|
|
117
|
+
installationId: serviceConfig.auth.installationId,
|
|
118
|
+
};
|
|
119
|
+
try {
|
|
120
|
+
const installationToken = await getInstallationToken(serviceName, ghCreds);
|
|
121
|
+
headers['Authorization'] = `Bearer ${installationToken}`;
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
if (error instanceof Error && error.message.includes('401')) {
|
|
125
|
+
clearCachedInstallationToken(serviceName);
|
|
126
|
+
const installationToken = await getInstallationToken(serviceName, ghCreds);
|
|
127
|
+
headers['Authorization'] = `Bearer ${installationToken}`;
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
throw error;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
return { headers, urlParams };
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=auth.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/core/auth.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAyBH,4CA0FC;AAhGD;;;;;GAKG;AACI,KAAK,UAAU,gBAAgB,CACpC,WAAmB,EACnB,aAA4B,EAC5B,GAAuB;IAEvB,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,IAAI,SAA6C,CAAC;IAElD,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACnE,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAEhE,CAAC;SAAM,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/E,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAErD,CAAC;SAAM,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,WAAW,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAChH,MAAM,EAAE,QAAQ,EAAE,GAAG,wDAAa,cAAc,GAAC,CAAC;QAClD,MAAM,MAAM,GAAkB,QAAQ,CAAC;YACrC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM;YACjC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,SAAS;YACvC,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE;SACnD,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,MAAM,CAAC,SAAS;YAAE,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC;IAErD,CAAC;SAAM,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACjH,MAAM,EAAE,SAAS,EAAE,GAAG,wDAAa,cAAc,GAAC,CAAC;QACnD,MAAM,MAAM,GAAkB,SAAS,CAAC;YACtC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM;YACjC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,SAAS;YACvC,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,WAAW,EAAE,GAAG,CAAC,SAAS,CAAC,YAAY,CAAC,QAAQ,EAAE;YAClD,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAEzC,CAAC;SAAM,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,UAAU,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,IAAI,aAAa,CAAC,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChJ,MAAM,EAAE,OAAO,EAAE,GAAG,wDAAa,cAAc,GAAC,CAAC;QACjD,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC;QACtE,MAAM,MAAM,GAAkB,OAAO,CAAC;YACpC,MAAM,EAAE,aAAa,CAAC,IAAI,CAAC,MAAM;YACjC,SAAS,EAAE,aAAa,CAAC,IAAI,CAAC,SAAS;YACvC,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,UAAU;YACzC,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,WAAW,EAAE,OAAO;YACpB,IAAI,EAAE,GAAG,CAAC,IAAI;SACf,CAAC,CAAC;QACH,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;IAEzC,CAAC;SAAM,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,iBAAiB,IAAI,aAAa,CAAC,IAAI,CAAC,WAAW,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACxH,MAAM,EAAE,cAAc,EAAE,iCAAiC,EAAE,gBAAgB,EAAE,GAAG,wDAAa,sBAAsB,GAAC,CAAC;QAErH,IAAI,CAAC;YACH,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAQ,CAAC;YACtE,iCAAiC,CAAC,WAAW,CAAC,CAAC;YAC/C,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;YAC/F,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,WAAW,EAAE,CAAC;QACrD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5D,gBAAgB,CAAC,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;gBAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,WAAW,CAAQ,CAAC;gBACtE,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,WAAW,EAAE,aAAa,CAAC,IAAI,CAAC,MAAO,CAAC,CAAC;gBAC/F,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,WAAW,EAAE,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IAEH,CAAC;SAAM,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,KAAK,YAAY,IAAI,aAAa,CAAC,IAAI,CAAC,KAAK,IAAI,aAAa,CAAC,IAAI,CAAC,UAAU,IAAI,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;QACtJ,MAAM,EAAE,oBAAoB,EAAE,4BAA4B,EAAE,GAAG,wDAAa,iBAAiB,GAAC,CAAC;QAE/F,MAAM,OAAO,GAAQ;YACnB,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK;YAC/B,UAAU,EAAE,aAAa,CAAC,IAAI,CAAC,UAAU;YACzC,cAAc,EAAE,aAAa,CAAC,IAAI,CAAC,cAAc;SAClD,CAAC;QACF,IAAI,CAAC;YACH,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAC3E,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,iBAAiB,EAAE,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC5D,4BAA4B,CAAC,WAAW,CAAC,CAAC;gBAC1C,MAAM,iBAAiB,GAAG,MAAM,oBAAoB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBAC3E,OAAO,CAAC,eAAe,CAAC,GAAG,UAAU,iBAAiB,EAAE,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,MAAM,KAAK,CAAC;YACd,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;AAChC,CAAC"}
|
package/dist/core/authority.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import express from 'express';
|
|
2
|
+
import { ServiceTestResult } from './health.js';
|
|
2
3
|
export interface RunnerIdentity {
|
|
3
4
|
runnerId: string;
|
|
4
5
|
environment?: string;
|
|
@@ -40,6 +41,7 @@ export interface ExecCompleteRequest {
|
|
|
40
41
|
export interface AuthorityExecHooks {
|
|
41
42
|
authorizeExec: (req: ExecAuthorizeRequest) => Promise<ExecAuthorizeResponse>;
|
|
42
43
|
completeExec: (req: ExecCompleteRequest) => Promise<void>;
|
|
44
|
+
testService?: (serviceName?: string) => Promise<ServiceTestResult | ServiceTestResult[]>;
|
|
43
45
|
}
|
|
44
46
|
export declare function createAuthorityApp(apiKey: string, hooks: AuthorityExecHooks): express.Express;
|
|
45
47
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authority.d.ts","sourceRoot":"","sources":["../../src/core/authority.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"authority.d.ts","sourceRoot":"","sources":["../../src/core/authority.ts"],"names":[],"mappings":"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"}
|
package/dist/core/authority.js
CHANGED
|
@@ -7,10 +7,11 @@ exports.createAuthorityApp = createAuthorityApp;
|
|
|
7
7
|
exports.buildAuthorityHooks = buildAuthorityHooks;
|
|
8
8
|
exports.authorityAuthorizeExec = authorityAuthorizeExec;
|
|
9
9
|
exports.authorityCompleteExec = authorityCompleteExec;
|
|
10
|
-
const express_1 = __importDefault(require("express"));
|
|
11
10
|
const crypto_1 = require("crypto");
|
|
11
|
+
const express_1 = __importDefault(require("express"));
|
|
12
12
|
const exec_js_1 = require("./exec.js");
|
|
13
13
|
const github_app_js_1 = require("./github-app.js");
|
|
14
|
+
const health_js_1 = require("./health.js");
|
|
14
15
|
function createAuthorityApp(apiKey, hooks) {
|
|
15
16
|
const app = (0, express_1.default)();
|
|
16
17
|
app.use(express_1.default.json({ limit: '512kb' }));
|
|
@@ -58,6 +59,17 @@ function createAuthorityApp(apiKey, hooks) {
|
|
|
58
59
|
res.status(500).json({ error: error instanceof Error ? error.message : 'completion failed' });
|
|
59
60
|
}
|
|
60
61
|
});
|
|
62
|
+
if (hooks.testService) {
|
|
63
|
+
app.post('/v1/test', async (req, res) => {
|
|
64
|
+
try {
|
|
65
|
+
const result = await hooks.testService(req.body?.service);
|
|
66
|
+
res.status(200).json(result);
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
res.status(500).json({ error: error instanceof Error ? error.message : 'Test failed' });
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
61
73
|
return app;
|
|
62
74
|
}
|
|
63
75
|
/**
|
|
@@ -67,6 +79,16 @@ function createAuthorityApp(apiKey, hooks) {
|
|
|
67
79
|
function buildAuthorityHooks(config, auditLogger) {
|
|
68
80
|
const grantCache = new Map();
|
|
69
81
|
return {
|
|
82
|
+
testService: async (serviceName) => {
|
|
83
|
+
if (serviceName) {
|
|
84
|
+
const svc = config.services[serviceName];
|
|
85
|
+
if (!svc)
|
|
86
|
+
throw new Error(`Unknown service: ${serviceName}`);
|
|
87
|
+
return (0, health_js_1.testServiceConnection)(serviceName, svc);
|
|
88
|
+
}
|
|
89
|
+
const results = await Promise.all(Object.entries(config.services).map(([name, svc]) => (0, health_js_1.testServiceConnection)(name, svc)));
|
|
90
|
+
return results;
|
|
91
|
+
},
|
|
70
92
|
authorizeExec: async (req) => {
|
|
71
93
|
const cap = config.capabilities.find((c) => c.name === req.capabilityId);
|
|
72
94
|
if (!cap)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authority.js","sourceRoot":"","sources":["../../src/core/authority.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"authority.js","sourceRoot":"","sources":["../../src/core/authority.ts"],"names":[],"mappings":"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"}
|
package/dist/core/directory.d.ts
CHANGED
|
@@ -11,6 +11,8 @@ export interface ServiceTemplate {
|
|
|
11
11
|
type: 'bearer' | 'basic' | 'hmac-mexc' | 'hmac-bybit' | 'hmac-okx' | 'headers' | 'service-account' | 'github-app';
|
|
12
12
|
fields: string[];
|
|
13
13
|
};
|
|
14
|
+
/** Lightweight GET path that requires auth — used by `janee test` to verify credentials */
|
|
15
|
+
testPath?: string;
|
|
14
16
|
docs?: string;
|
|
15
17
|
tags: string[];
|
|
16
18
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../../src/core/directory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,iBAAiB,GAAG,YAAY,CAAC;QAClH,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAQD;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"directory.d.ts","sourceRoot":"","sources":["../../src/core/directory.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,WAAW,GAAG,YAAY,GAAG,UAAU,GAAG,SAAS,GAAG,iBAAiB,GAAG,YAAY,CAAC;QAClH,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAQD;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,eAAe,EAuP7C,CAAC;AAEF;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,eAAe,EAAE,CAYhE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAEpE;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC,CAY/D"}
|
package/dist/core/directory.js
CHANGED
|
@@ -24,6 +24,7 @@ exports.serviceDirectory = [
|
|
|
24
24
|
description: 'Payment processing platform',
|
|
25
25
|
baseUrl: 'https://api.stripe.com',
|
|
26
26
|
auth: { type: 'bearer', fields: ['key'] },
|
|
27
|
+
testPath: '/v1/balance',
|
|
27
28
|
docs: 'https://stripe.com/docs/api',
|
|
28
29
|
tags: ['payment', 'finance']
|
|
29
30
|
},
|
|
@@ -33,6 +34,7 @@ exports.serviceDirectory = [
|
|
|
33
34
|
description: 'Code hosting and collaboration',
|
|
34
35
|
baseUrl: 'https://api.github.com',
|
|
35
36
|
auth: { type: 'bearer', fields: ['key'] },
|
|
37
|
+
testPath: '/user',
|
|
36
38
|
docs: 'https://docs.github.com/en/rest',
|
|
37
39
|
tags: ['developer', 'git', 'code']
|
|
38
40
|
},
|
|
@@ -41,6 +43,7 @@ exports.serviceDirectory = [
|
|
|
41
43
|
description: 'GitHub App with installation tokens (for autonomous agents)',
|
|
42
44
|
baseUrl: 'https://api.github.com',
|
|
43
45
|
auth: { type: 'github-app', fields: ['appId', 'pemFile', 'installationId'] },
|
|
46
|
+
testPath: '/app',
|
|
44
47
|
docs: 'https://docs.github.com/en/apps',
|
|
45
48
|
tags: ['developer', 'git', 'code']
|
|
46
49
|
},
|
|
@@ -49,6 +52,7 @@ exports.serviceDirectory = [
|
|
|
49
52
|
description: 'Issue tracking for software teams',
|
|
50
53
|
baseUrl: 'https://api.linear.app',
|
|
51
54
|
auth: { type: 'bearer', fields: ['key'] },
|
|
55
|
+
testPath: '/graphql',
|
|
52
56
|
docs: 'https://developers.linear.app/docs',
|
|
53
57
|
tags: ['developer', 'project-management', 'issues']
|
|
54
58
|
},
|
|
@@ -57,6 +61,7 @@ exports.serviceDirectory = [
|
|
|
57
61
|
description: 'Frontend deployment platform',
|
|
58
62
|
baseUrl: 'https://api.vercel.com',
|
|
59
63
|
auth: { type: 'bearer', fields: ['key'] },
|
|
64
|
+
testPath: '/v9/projects',
|
|
60
65
|
docs: 'https://vercel.com/docs/rest-api',
|
|
61
66
|
tags: ['developer', 'deployment', 'hosting']
|
|
62
67
|
},
|
|
@@ -65,6 +70,7 @@ exports.serviceDirectory = [
|
|
|
65
70
|
description: 'CDN and edge computing platform',
|
|
66
71
|
baseUrl: 'https://api.cloudflare.com/client/v4',
|
|
67
72
|
auth: { type: 'bearer', fields: ['key'] },
|
|
73
|
+
testPath: '/zones',
|
|
68
74
|
docs: 'https://developers.cloudflare.com/api',
|
|
69
75
|
tags: ['developer', 'cdn', 'dns']
|
|
70
76
|
},
|
|
@@ -74,6 +80,7 @@ exports.serviceDirectory = [
|
|
|
74
80
|
description: 'OpenAI API for GPT and DALL-E',
|
|
75
81
|
baseUrl: 'https://api.openai.com/v1',
|
|
76
82
|
auth: { type: 'bearer', fields: ['key'] },
|
|
83
|
+
testPath: '/models',
|
|
77
84
|
docs: 'https://platform.openai.com/docs/api-reference',
|
|
78
85
|
tags: ['ai', 'llm', 'ml']
|
|
79
86
|
},
|
|
@@ -82,6 +89,7 @@ exports.serviceDirectory = [
|
|
|
82
89
|
description: 'Anthropic Claude API',
|
|
83
90
|
baseUrl: 'https://api.anthropic.com',
|
|
84
91
|
auth: { type: 'headers', fields: ['x-api-key'] },
|
|
92
|
+
testPath: '/v1/models',
|
|
85
93
|
docs: 'https://docs.anthropic.com/en/api',
|
|
86
94
|
tags: ['ai', 'llm', 'ml']
|
|
87
95
|
},
|
|
@@ -90,6 +98,7 @@ exports.serviceDirectory = [
|
|
|
90
98
|
description: 'Run ML models in the cloud',
|
|
91
99
|
baseUrl: 'https://api.replicate.com/v1',
|
|
92
100
|
auth: { type: 'bearer', fields: ['key'] },
|
|
101
|
+
testPath: '/models',
|
|
93
102
|
docs: 'https://replicate.com/docs/reference/http',
|
|
94
103
|
tags: ['ai', 'ml', 'models']
|
|
95
104
|
},
|
|
@@ -99,6 +108,7 @@ exports.serviceDirectory = [
|
|
|
99
108
|
description: 'Cryptocurrency derivatives exchange',
|
|
100
109
|
baseUrl: 'https://api.bybit.com',
|
|
101
110
|
auth: { type: 'hmac-bybit', fields: ['apiKey', 'apiSecret'] },
|
|
111
|
+
testPath: '/v5/account/wallet-balance?accountType=UNIFIED',
|
|
102
112
|
docs: 'https://bybit-exchange.github.io/docs',
|
|
103
113
|
tags: ['crypto', 'exchange', 'trading']
|
|
104
114
|
},
|
|
@@ -107,6 +117,7 @@ exports.serviceDirectory = [
|
|
|
107
117
|
description: 'Cryptocurrency exchange',
|
|
108
118
|
baseUrl: 'https://www.okx.com',
|
|
109
119
|
auth: { type: 'hmac-okx', fields: ['apiKey', 'apiSecret', 'passphrase'] },
|
|
120
|
+
testPath: '/api/v5/account/balance',
|
|
110
121
|
docs: 'https://www.okx.com/docs-v5',
|
|
111
122
|
tags: ['crypto', 'exchange', 'trading']
|
|
112
123
|
},
|
|
@@ -115,6 +126,7 @@ exports.serviceDirectory = [
|
|
|
115
126
|
description: 'Cryptocurrency exchange',
|
|
116
127
|
baseUrl: 'https://api.mexc.com',
|
|
117
128
|
auth: { type: 'hmac-mexc', fields: ['apiKey', 'apiSecret'] },
|
|
129
|
+
testPath: '/api/v3/account',
|
|
118
130
|
docs: 'https://mexcdevelop.github.io/apidocs',
|
|
119
131
|
tags: ['crypto', 'exchange', 'trading']
|
|
120
132
|
},
|
|
@@ -123,6 +135,7 @@ exports.serviceDirectory = [
|
|
|
123
135
|
description: 'Cryptocurrency exchange (Advanced Trade API)',
|
|
124
136
|
baseUrl: 'https://api.coinbase.com',
|
|
125
137
|
auth: { type: 'bearer', fields: ['key'] },
|
|
138
|
+
testPath: '/api/v3/brokerage/accounts',
|
|
126
139
|
docs: 'https://docs.cloud.coinbase.com/advanced-trade-api',
|
|
127
140
|
tags: ['crypto', 'exchange', 'trading']
|
|
128
141
|
},
|
|
@@ -132,6 +145,7 @@ exports.serviceDirectory = [
|
|
|
132
145
|
description: 'Team communication platform',
|
|
133
146
|
baseUrl: 'https://slack.com/api',
|
|
134
147
|
auth: { type: 'bearer', fields: ['key'] },
|
|
148
|
+
testPath: '/auth.test',
|
|
135
149
|
docs: 'https://api.slack.com/methods',
|
|
136
150
|
tags: ['communication', 'messaging', 'team']
|
|
137
151
|
},
|
|
@@ -140,6 +154,7 @@ exports.serviceDirectory = [
|
|
|
140
154
|
description: 'Chat platform for communities',
|
|
141
155
|
baseUrl: 'https://discord.com/api/v10',
|
|
142
156
|
auth: { type: 'bearer', fields: ['key'] },
|
|
157
|
+
testPath: '/users/@me',
|
|
143
158
|
docs: 'https://discord.com/developers/docs',
|
|
144
159
|
tags: ['communication', 'messaging', 'community']
|
|
145
160
|
},
|
|
@@ -148,6 +163,7 @@ exports.serviceDirectory = [
|
|
|
148
163
|
description: 'Email delivery service',
|
|
149
164
|
baseUrl: 'https://api.sendgrid.com/v3',
|
|
150
165
|
auth: { type: 'bearer', fields: ['key'] },
|
|
166
|
+
testPath: '/scopes',
|
|
151
167
|
docs: 'https://docs.sendgrid.com/api-reference',
|
|
152
168
|
tags: ['email', 'communication']
|
|
153
169
|
},
|
|
@@ -156,6 +172,7 @@ exports.serviceDirectory = [
|
|
|
156
172
|
description: 'Communication APIs (SMS, Voice)',
|
|
157
173
|
baseUrl: 'https://api.twilio.com/2010-04-01',
|
|
158
174
|
auth: { type: 'basic', fields: ['accountSid', 'authToken'] },
|
|
175
|
+
testPath: '/Accounts.json',
|
|
159
176
|
docs: 'https://www.twilio.com/docs/usage/api',
|
|
160
177
|
tags: ['sms', 'voice', 'communication']
|
|
161
178
|
},
|
|
@@ -164,6 +181,7 @@ exports.serviceDirectory = [
|
|
|
164
181
|
description: 'Modern email API',
|
|
165
182
|
baseUrl: 'https://api.resend.com',
|
|
166
183
|
auth: { type: 'bearer', fields: ['key'] },
|
|
184
|
+
testPath: '/domains',
|
|
167
185
|
docs: 'https://resend.com/docs/api-reference',
|
|
168
186
|
tags: ['email', 'communication']
|
|
169
187
|
},
|
|
@@ -181,6 +199,7 @@ exports.serviceDirectory = [
|
|
|
181
199
|
description: 'Product analytics platform',
|
|
182
200
|
baseUrl: 'https://app.posthog.com/api',
|
|
183
201
|
auth: { type: 'bearer', fields: ['key'] },
|
|
202
|
+
testPath: '/projects/',
|
|
184
203
|
docs: 'https://posthog.com/docs/api',
|
|
185
204
|
tags: ['analytics', 'data']
|
|
186
205
|
},
|
|
@@ -206,6 +225,7 @@ exports.serviceDirectory = [
|
|
|
206
225
|
description: 'Serverless MySQL platform',
|
|
207
226
|
baseUrl: 'https://api.planetscale.com/v1',
|
|
208
227
|
auth: { type: 'bearer', fields: ['key'] },
|
|
228
|
+
testPath: '/organizations',
|
|
209
229
|
docs: 'https://api-docs.planetscale.com',
|
|
210
230
|
tags: ['database', 'mysql']
|
|
211
231
|
},
|
|
@@ -215,6 +235,7 @@ exports.serviceDirectory = [
|
|
|
215
235
|
description: 'All-in-one workspace',
|
|
216
236
|
baseUrl: 'https://api.notion.com/v1',
|
|
217
237
|
auth: { type: 'bearer', fields: ['key'] },
|
|
238
|
+
testPath: '/users/me',
|
|
218
239
|
docs: 'https://developers.notion.com/reference',
|
|
219
240
|
tags: ['productivity', 'notes', 'wiki']
|
|
220
241
|
},
|
|
@@ -223,6 +244,7 @@ exports.serviceDirectory = [
|
|
|
223
244
|
description: 'Spreadsheet-database hybrid',
|
|
224
245
|
baseUrl: 'https://api.airtable.com/v0',
|
|
225
246
|
auth: { type: 'bearer', fields: ['key'] },
|
|
247
|
+
testPath: '/meta/bases',
|
|
226
248
|
docs: 'https://airtable.com/developers/web/api',
|
|
227
249
|
tags: ['database', 'spreadsheet', 'productivity']
|
|
228
250
|
},
|
|
@@ -231,6 +253,7 @@ exports.serviceDirectory = [
|
|
|
231
253
|
description: 'Cal.com scheduling API',
|
|
232
254
|
baseUrl: 'https://api.cal.com/v1',
|
|
233
255
|
auth: { type: 'bearer', fields: ['key'] },
|
|
256
|
+
testPath: '/event-types',
|
|
234
257
|
docs: 'https://cal.com/docs/enterprise-features/api',
|
|
235
258
|
tags: ['calendar', 'scheduling']
|
|
236
259
|
}
|