@true-and-useful/janee 0.8.4 → 0.9.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/README.md +81 -1
- package/SKILL.md +5 -0
- package/dist/cli/commands/add.d.ts +6 -0
- package/dist/cli/commands/add.d.ts.map +1 -1
- package/dist/cli/commands/add.js +216 -6
- 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 +71 -1
- package/dist/cli/commands/serve-mcp.js.map +1 -1
- package/dist/cli/commands/status.d.ts +4 -0
- package/dist/cli/commands/status.d.ts.map +1 -0
- package/dist/cli/commands/status.js +127 -0
- package/dist/cli/commands/status.js.map +1 -0
- package/dist/cli/config-yaml.d.ts +22 -1
- package/dist/cli/config-yaml.d.ts.map +1 -1
- package/dist/cli/config-yaml.js +34 -1
- package/dist/cli/config-yaml.js.map +1 -1
- package/dist/cli/index.js +16 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/core/agent-scope.d.ts +81 -0
- package/dist/core/agent-scope.d.ts.map +1 -0
- package/dist/core/agent-scope.js +146 -0
- package/dist/core/agent-scope.js.map +1 -0
- package/dist/core/directory.d.ts +1 -1
- package/dist/core/directory.d.ts.map +1 -1
- package/dist/core/directory.js +8 -0
- package/dist/core/directory.js.map +1 -1
- package/dist/core/exec.d.ts +86 -0
- package/dist/core/exec.d.ts.map +1 -0
- package/dist/core/exec.js +149 -0
- package/dist/core/exec.js.map +1 -0
- package/dist/core/github-app.d.ts +32 -0
- package/dist/core/github-app.d.ts.map +1 -0
- package/dist/core/github-app.js +105 -0
- package/dist/core/github-app.js.map +1 -0
- package/dist/core/health.d.ts +27 -0
- package/dist/core/health.d.ts.map +1 -0
- package/dist/core/health.js +73 -0
- package/dist/core/health.js.map +1 -0
- package/dist/core/mcp-server.d.ts +17 -1
- package/dist/core/mcp-server.d.ts.map +1 -1
- package/dist/core/mcp-server.js +299 -11
- package/dist/core/mcp-server.js.map +1 -1
- package/dist/core/sessions.d.ts.map +1 -1
- package/dist/core/sessions.js +11 -1
- package/dist/core/sessions.js.map +1 -1
- package/dist/providers/env.d.ts +27 -0
- package/dist/providers/env.d.ts.map +1 -0
- package/dist/providers/env.js +64 -0
- package/dist/providers/env.js.map +1 -0
- package/dist/providers/filesystem.d.ts +34 -0
- package/dist/providers/filesystem.d.ts.map +1 -0
- package/dist/providers/filesystem.js +143 -0
- package/dist/providers/filesystem.js.map +1 -0
- package/dist/providers/index.d.ts +25 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +39 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/registry.d.ts +40 -0
- package/dist/providers/registry.d.ts.map +1 -0
- package/dist/providers/registry.js +113 -0
- package/dist/providers/registry.js.map +1 -0
- package/dist/providers/types.d.ts +137 -0
- package/dist/providers/types.d.ts.map +1 -0
- package/dist/providers/types.js +135 -0
- package/dist/providers/types.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Health check module for Janee services
|
|
4
|
+
* Provides connectivity and latency checks for configured API backends
|
|
5
|
+
*/
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.checkServiceHealth = checkServiceHealth;
|
|
8
|
+
exports.checkAllServicesHealth = checkAllServicesHealth;
|
|
9
|
+
/**
|
|
10
|
+
* Check if a service endpoint is reachable and responding
|
|
11
|
+
*/
|
|
12
|
+
async function checkServiceHealth(serviceName, baseUrl, options = {}) {
|
|
13
|
+
const { timeout = 5000, fetchFn = fetch } = options;
|
|
14
|
+
const checkedAt = new Date().toISOString();
|
|
15
|
+
if (!baseUrl) {
|
|
16
|
+
return {
|
|
17
|
+
service: serviceName,
|
|
18
|
+
healthy: false,
|
|
19
|
+
latencyMs: 0,
|
|
20
|
+
error: 'No base URL configured',
|
|
21
|
+
checkedAt
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
const start = Date.now();
|
|
25
|
+
try {
|
|
26
|
+
const controller = new AbortController();
|
|
27
|
+
const timeoutId = setTimeout(() => controller.abort(), timeout);
|
|
28
|
+
const response = await fetchFn(baseUrl, {
|
|
29
|
+
method: 'HEAD',
|
|
30
|
+
signal: controller.signal
|
|
31
|
+
});
|
|
32
|
+
clearTimeout(timeoutId);
|
|
33
|
+
const latencyMs = Date.now() - start;
|
|
34
|
+
// 2xx = healthy, 401/403 = reachable (auth expected), 4xx = unhealthy, 5xx = unhealthy
|
|
35
|
+
const isReachable = response.ok || response.status === 401 || response.status === 403;
|
|
36
|
+
if (isReachable) {
|
|
37
|
+
return {
|
|
38
|
+
service: serviceName,
|
|
39
|
+
healthy: true,
|
|
40
|
+
statusCode: response.status,
|
|
41
|
+
latencyMs,
|
|
42
|
+
checkedAt
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
service: serviceName,
|
|
47
|
+
healthy: false,
|
|
48
|
+
statusCode: response.status,
|
|
49
|
+
latencyMs,
|
|
50
|
+
error: `HTTP ${response.status} ${response.statusText}`,
|
|
51
|
+
checkedAt
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
catch (err) {
|
|
55
|
+
const latencyMs = Date.now() - start;
|
|
56
|
+
const message = err instanceof Error ? err.message : String(err);
|
|
57
|
+
return {
|
|
58
|
+
service: serviceName,
|
|
59
|
+
healthy: false,
|
|
60
|
+
latencyMs,
|
|
61
|
+
error: message,
|
|
62
|
+
checkedAt
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Check health of multiple services in parallel
|
|
68
|
+
*/
|
|
69
|
+
async function checkAllServicesHealth(services, options = {}) {
|
|
70
|
+
const checks = Array.from(services.entries()).map(([name, config]) => checkServiceHealth(name, config.baseUrl, options));
|
|
71
|
+
return Promise.all(checks);
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=health.js.map
|
|
@@ -0,0 +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"}
|
|
@@ -7,6 +7,8 @@ import { SessionManager } from './sessions.js';
|
|
|
7
7
|
import { Rules } from './rules.js';
|
|
8
8
|
import { AuditLogger } from './audit.js';
|
|
9
9
|
import { URL } from 'url';
|
|
10
|
+
import { ExecResult } from './exec.js';
|
|
11
|
+
import { CredentialOwnership } from './agent-scope.js';
|
|
10
12
|
export interface Capability {
|
|
11
13
|
name: string;
|
|
12
14
|
service: string;
|
|
@@ -14,11 +16,16 @@ export interface Capability {
|
|
|
14
16
|
autoApprove?: boolean;
|
|
15
17
|
requiresReason?: boolean;
|
|
16
18
|
rules?: Rules;
|
|
19
|
+
mode?: 'proxy' | 'exec';
|
|
20
|
+
allowCommands?: string[];
|
|
21
|
+
env?: Record<string, string>;
|
|
22
|
+
workDir?: string;
|
|
23
|
+
timeout?: number;
|
|
17
24
|
}
|
|
18
25
|
export interface ServiceConfig {
|
|
19
26
|
baseUrl: string;
|
|
20
27
|
auth: {
|
|
21
|
-
type: 'bearer' | 'hmac-mexc' | 'hmac-bybit' | 'hmac-okx' | 'headers' | 'service-account';
|
|
28
|
+
type: 'bearer' | 'hmac-mexc' | 'hmac-bybit' | 'hmac-okx' | 'headers' | 'service-account' | 'github-app';
|
|
22
29
|
key?: string;
|
|
23
30
|
apiKey?: string;
|
|
24
31
|
apiSecret?: string;
|
|
@@ -26,7 +33,12 @@ export interface ServiceConfig {
|
|
|
26
33
|
headers?: Record<string, string>;
|
|
27
34
|
credentials?: string;
|
|
28
35
|
scopes?: string[];
|
|
36
|
+
appId?: string;
|
|
37
|
+
privateKey?: string;
|
|
38
|
+
installationId?: string;
|
|
29
39
|
};
|
|
40
|
+
/** Ownership metadata for agent-scoped credential access control */
|
|
41
|
+
ownership?: CredentialOwnership;
|
|
30
42
|
}
|
|
31
43
|
export interface APIRequest {
|
|
32
44
|
service: string;
|
|
@@ -47,10 +59,14 @@ export interface ReloadResult {
|
|
|
47
59
|
export interface MCPServerOptions {
|
|
48
60
|
capabilities: Capability[];
|
|
49
61
|
services: Map<string, ServiceConfig>;
|
|
62
|
+
/** Map of service name -> ownership metadata for agent-scoped access control */
|
|
50
63
|
sessionManager: SessionManager;
|
|
51
64
|
auditLogger: AuditLogger;
|
|
52
65
|
onExecute: (session: any, request: APIRequest) => Promise<APIResponse>;
|
|
66
|
+
onExecCommand?: (session: any, capability: Capability, command: string[], stdin?: string) => Promise<ExecResult>;
|
|
53
67
|
onReloadConfig?: () => ReloadResult;
|
|
68
|
+
/** Persist ownership changes to config storage (called after grant/revoke) */
|
|
69
|
+
onPersistOwnership?: (serviceName: string, ownership: CredentialOwnership) => void;
|
|
54
70
|
}
|
|
55
71
|
/**
|
|
56
72
|
* Create and start MCP server
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../src/core/mcp-server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAQnE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAc,KAAK,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../../src/core/mcp-server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAQnE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAc,KAAK,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGzC,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,OAAO,EAAmE,UAAU,EAAE,MAAM,WAAW,CAAC;AAExG,OAAO,EAAwC,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AAQ7F,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;IAEd,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,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,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;CACpF;AAsBD;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAihBjE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,GAAG,EACd,OAAO,EAAE,UAAU,GAClB,OAAO,CAAC,WAAW,CAAC,CAyCtB;AAED;;GAEG;AACH,wBAAsB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAKlE;AAED;;;;;;GAMG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GACtC,OAAO,CAAC,IAAI,CAAC,CA0Bf"}
|
package/dist/core/mcp-server.js
CHANGED
|
@@ -3,6 +3,39 @@
|
|
|
3
3
|
* MCP Server for Janee
|
|
4
4
|
* Exposes capabilities to AI agents via Model Context Protocol
|
|
5
5
|
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
+
var ownKeys = function(o) {
|
|
24
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
+
var ar = [];
|
|
26
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
return ownKeys(o);
|
|
30
|
+
};
|
|
31
|
+
return function (mod) {
|
|
32
|
+
if (mod && mod.__esModule) return mod;
|
|
33
|
+
var result = {};
|
|
34
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
+
__setModuleDefault(result, mod);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
})();
|
|
6
39
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
40
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
41
|
};
|
|
@@ -19,6 +52,13 @@ const rules_js_1 = require("./rules.js");
|
|
|
19
52
|
const http_1 = __importDefault(require("http"));
|
|
20
53
|
const https_1 = __importDefault(require("https"));
|
|
21
54
|
const express_1 = __importDefault(require("express"));
|
|
55
|
+
const exec_js_1 = require("./exec.js");
|
|
56
|
+
const fs_1 = require("fs");
|
|
57
|
+
const agent_scope_js_1 = require("./agent-scope.js");
|
|
58
|
+
const path_1 = require("path");
|
|
59
|
+
// Read version from package.json
|
|
60
|
+
const packageJsonPath = (0, path_1.join)(__dirname, '../../package.json');
|
|
61
|
+
const pkgVersion = JSON.parse((0, fs_1.readFileSync)(packageJsonPath, 'utf8')).version || '0.0.0';
|
|
22
62
|
/**
|
|
23
63
|
* Parse TTL string to seconds
|
|
24
64
|
*/
|
|
@@ -40,13 +80,13 @@ function parseTTL(ttl) {
|
|
|
40
80
|
* Create and start MCP server
|
|
41
81
|
*/
|
|
42
82
|
function createMCPServer(options) {
|
|
43
|
-
const { sessionManager, auditLogger, onExecute, onReloadConfig } = options;
|
|
83
|
+
const { sessionManager, auditLogger, onExecute, onExecCommand, onReloadConfig, onPersistOwnership } = options;
|
|
44
84
|
// Store as mutable to support hot-reloading
|
|
45
85
|
let capabilities = options.capabilities;
|
|
46
86
|
let services = options.services;
|
|
47
87
|
const server = new index_js_1.Server({
|
|
48
88
|
name: 'janee',
|
|
49
|
-
version:
|
|
89
|
+
version: pkgVersion
|
|
50
90
|
}, {
|
|
51
91
|
capabilities: {
|
|
52
92
|
tools: {}
|
|
@@ -55,10 +95,15 @@ function createMCPServer(options) {
|
|
|
55
95
|
// Tool: list_services
|
|
56
96
|
const listServicesTool = {
|
|
57
97
|
name: 'list_services',
|
|
58
|
-
description: 'List available API capabilities managed by Janee',
|
|
98
|
+
description: 'List available API capabilities managed by Janee. If you provide your agentId, only credentials you have access to will be shown.',
|
|
59
99
|
inputSchema: {
|
|
60
100
|
type: 'object',
|
|
61
|
-
properties: {
|
|
101
|
+
properties: {
|
|
102
|
+
agentId: {
|
|
103
|
+
type: 'string',
|
|
104
|
+
description: 'Your agent identifier (optional — filters results to credentials you can access)'
|
|
105
|
+
}
|
|
106
|
+
},
|
|
62
107
|
required: []
|
|
63
108
|
}
|
|
64
109
|
};
|
|
@@ -94,6 +139,10 @@ function createMCPServer(options) {
|
|
|
94
139
|
reason: {
|
|
95
140
|
type: 'string',
|
|
96
141
|
description: 'Reason for this request (required for some capabilities)'
|
|
142
|
+
},
|
|
143
|
+
agentId: {
|
|
144
|
+
type: 'string',
|
|
145
|
+
description: 'Your agent identifier (required for agent-scoped credentials)'
|
|
97
146
|
}
|
|
98
147
|
},
|
|
99
148
|
required: ['capability', 'method', 'path']
|
|
@@ -109,9 +158,69 @@ function createMCPServer(options) {
|
|
|
109
158
|
required: []
|
|
110
159
|
}
|
|
111
160
|
};
|
|
161
|
+
// Tool: janee_exec (RFC 0001 - Secure CLI Execution)
|
|
162
|
+
const execTool = {
|
|
163
|
+
name: 'janee_exec',
|
|
164
|
+
description: 'Execute a CLI command with credentials injected via environment variables. The agent never sees the actual credential — Janee injects it and scrubs output.',
|
|
165
|
+
inputSchema: {
|
|
166
|
+
type: 'object',
|
|
167
|
+
properties: {
|
|
168
|
+
capability: {
|
|
169
|
+
type: 'string',
|
|
170
|
+
description: 'Capability name (must be exec mode, from list_services)'
|
|
171
|
+
},
|
|
172
|
+
command: {
|
|
173
|
+
type: 'array',
|
|
174
|
+
items: { type: 'string' },
|
|
175
|
+
description: 'Command and arguments as array, e.g. ["gh", "issue", "list"]'
|
|
176
|
+
},
|
|
177
|
+
stdin: {
|
|
178
|
+
type: 'string',
|
|
179
|
+
description: 'Optional stdin input to pipe to the command'
|
|
180
|
+
},
|
|
181
|
+
reason: {
|
|
182
|
+
type: 'string',
|
|
183
|
+
description: 'Reason for this execution (required for some capabilities)'
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
required: ['capability', 'command']
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
// Tool: manage_credential (agent-scoped credential access control)
|
|
190
|
+
const manageCredentialTool = {
|
|
191
|
+
name: 'manage_credential',
|
|
192
|
+
description: 'View or manage access policies for agent-scoped credentials. Agents can check who has access, grant access to other agents, or revoke access.',
|
|
193
|
+
inputSchema: {
|
|
194
|
+
type: 'object',
|
|
195
|
+
properties: {
|
|
196
|
+
action: {
|
|
197
|
+
type: 'string',
|
|
198
|
+
enum: ['view', 'grant', 'revoke'],
|
|
199
|
+
description: 'Action to perform: view ownership info, grant access to another agent, or revoke access'
|
|
200
|
+
},
|
|
201
|
+
service: {
|
|
202
|
+
type: 'string',
|
|
203
|
+
description: 'Service name to manage'
|
|
204
|
+
},
|
|
205
|
+
targetAgentId: {
|
|
206
|
+
type: 'string',
|
|
207
|
+
description: 'Agent ID to grant/revoke access for (required for grant/revoke actions)'
|
|
208
|
+
},
|
|
209
|
+
agentId: {
|
|
210
|
+
type: 'string',
|
|
211
|
+
description: 'Your agent identifier (used to verify ownership)'
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
required: ['action', 'service']
|
|
215
|
+
}
|
|
216
|
+
};
|
|
112
217
|
// Register tools
|
|
113
218
|
server.setRequestHandler(types_js_1.ListToolsRequestSchema, async () => {
|
|
114
|
-
const tools = [listServicesTool, executeTool];
|
|
219
|
+
const tools = [listServicesTool, executeTool, manageCredentialTool];
|
|
220
|
+
// Add exec tool if handler is provided
|
|
221
|
+
if (onExecCommand) {
|
|
222
|
+
tools.push(execTool);
|
|
223
|
+
}
|
|
115
224
|
// Only expose reload_config if a reload handler is provided
|
|
116
225
|
if (onReloadConfig) {
|
|
117
226
|
tools.push(reloadConfigTool);
|
|
@@ -119,24 +228,36 @@ function createMCPServer(options) {
|
|
|
119
228
|
return { tools };
|
|
120
229
|
});
|
|
121
230
|
// Handle tool calls
|
|
122
|
-
server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
|
|
231
|
+
server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request, extra) => {
|
|
123
232
|
const { name, arguments: args } = request.params;
|
|
124
233
|
try {
|
|
125
234
|
switch (name) {
|
|
126
|
-
case 'list_services':
|
|
235
|
+
case 'list_services': {
|
|
236
|
+
const listAgentId = (0, agent_scope_js_1.resolveAgentIdentity)({ agentId: extra?.sessionId, metadata: { verifiedAgentId: extra?.authInfo?.clientId } }, args?.agentId);
|
|
127
237
|
return {
|
|
128
238
|
content: [{
|
|
129
239
|
type: 'text',
|
|
130
|
-
text: JSON.stringify(capabilities
|
|
240
|
+
text: JSON.stringify(capabilities
|
|
241
|
+
.filter(cap => {
|
|
242
|
+
const svc = services.get(cap.service);
|
|
243
|
+
return (0, agent_scope_js_1.canAgentAccess)(listAgentId, svc?.ownership);
|
|
244
|
+
})
|
|
245
|
+
.map(cap => ({
|
|
131
246
|
name: cap.name,
|
|
132
247
|
service: cap.service,
|
|
248
|
+
mode: cap.mode || 'proxy',
|
|
133
249
|
ttl: cap.ttl,
|
|
134
250
|
autoApprove: cap.autoApprove,
|
|
135
251
|
requiresReason: cap.requiresReason,
|
|
136
|
-
rules: cap.rules
|
|
252
|
+
rules: cap.rules,
|
|
253
|
+
...(cap.mode === 'exec' && {
|
|
254
|
+
allowCommands: cap.allowCommands,
|
|
255
|
+
env: cap.env ? Object.keys(cap.env) : undefined,
|
|
256
|
+
})
|
|
137
257
|
})), null, 2)
|
|
138
258
|
}]
|
|
139
259
|
};
|
|
260
|
+
}
|
|
140
261
|
case 'reload_config': {
|
|
141
262
|
if (!onReloadConfig) {
|
|
142
263
|
throw new Error('Config reload not supported');
|
|
@@ -169,11 +290,25 @@ function createMCPServer(options) {
|
|
|
169
290
|
}
|
|
170
291
|
case 'execute': {
|
|
171
292
|
const { capability, method, path, body, headers, reason } = args;
|
|
293
|
+
// Validate required arguments
|
|
294
|
+
if (!capability) {
|
|
295
|
+
throw new Error('Missing required argument: capability');
|
|
296
|
+
}
|
|
297
|
+
if (!method) {
|
|
298
|
+
throw new Error('Missing required argument: method (GET, POST, PUT, DELETE, etc.)');
|
|
299
|
+
}
|
|
300
|
+
if (!path) {
|
|
301
|
+
throw new Error('Missing required argument: path');
|
|
302
|
+
}
|
|
172
303
|
// Find capability
|
|
173
304
|
const cap = capabilities.find(c => c.name === capability);
|
|
174
305
|
if (!cap) {
|
|
175
306
|
throw new Error(`Unknown capability: ${capability}`);
|
|
176
307
|
}
|
|
308
|
+
// Reject exec-mode capabilities — they should use janee_exec instead
|
|
309
|
+
if (cap.mode === 'exec') {
|
|
310
|
+
throw new Error(`Capability "${capability}" is an exec-mode capability. Use the 'janee_exec' tool instead.`);
|
|
311
|
+
}
|
|
177
312
|
// Check if reason required
|
|
178
313
|
if (cap.requiresReason && !reason) {
|
|
179
314
|
throw new Error(`Capability "${capability}" requires a reason`);
|
|
@@ -185,9 +320,16 @@ function createMCPServer(options) {
|
|
|
185
320
|
auditLogger.logDenied(cap.service, method, path, ruleCheck.reason || 'Request denied by policy', reason);
|
|
186
321
|
throw new Error(ruleCheck.reason || 'Request denied by policy');
|
|
187
322
|
}
|
|
323
|
+
// Check agent-scoped access (transport-bound identity preferred over client-asserted)
|
|
324
|
+
const executeAgentId = (0, agent_scope_js_1.resolveAgentIdentity)({ agentId: extra?.sessionId, metadata: { verifiedAgentId: extra?.authInfo?.clientId } }, args.agentId);
|
|
325
|
+
const executeSvc = services.get(cap.service);
|
|
326
|
+
if (!(0, agent_scope_js_1.canAgentAccess)(executeAgentId, executeSvc?.ownership)) {
|
|
327
|
+
auditLogger.logDenied(cap.service, method, path, 'Agent does not have access to this credential', reason);
|
|
328
|
+
throw new Error(`Access denied: credential for service "${cap.service}" is not accessible to this agent`);
|
|
329
|
+
}
|
|
188
330
|
// Get or create session
|
|
189
331
|
const ttlSeconds = parseTTL(cap.ttl);
|
|
190
|
-
const session = sessionManager.createSession(cap.name, cap.service, ttlSeconds, { reason });
|
|
332
|
+
const session = sessionManager.createSession(cap.name, cap.service, ttlSeconds, { agentId: executeAgentId, reason });
|
|
191
333
|
// Build API request
|
|
192
334
|
const apiReq = {
|
|
193
335
|
service: cap.service,
|
|
@@ -208,6 +350,149 @@ function createMCPServer(options) {
|
|
|
208
350
|
}]
|
|
209
351
|
};
|
|
210
352
|
}
|
|
353
|
+
case 'janee_exec': {
|
|
354
|
+
if (!onExecCommand) {
|
|
355
|
+
throw new Error('CLI execution not supported in this configuration');
|
|
356
|
+
}
|
|
357
|
+
const { capability: execCapName, command: rawExecCommand, stdin: execStdin, reason: execReason } = args;
|
|
358
|
+
// Validate required arguments
|
|
359
|
+
if (!execCapName) {
|
|
360
|
+
throw new Error('Missing required argument: capability');
|
|
361
|
+
}
|
|
362
|
+
if (!rawExecCommand || (Array.isArray(rawExecCommand) && rawExecCommand.length === 0) || (typeof rawExecCommand === 'string' && rawExecCommand.trim() === '')) {
|
|
363
|
+
throw new Error('Missing required argument: command');
|
|
364
|
+
}
|
|
365
|
+
// Normalize command to array — accept both string and array from MCP clients
|
|
366
|
+
const execCommand = Array.isArray(rawExecCommand)
|
|
367
|
+
? rawExecCommand
|
|
368
|
+
: typeof rawExecCommand === 'string'
|
|
369
|
+
? rawExecCommand.trim().split(/\s+/)
|
|
370
|
+
: [];
|
|
371
|
+
// Find capability
|
|
372
|
+
const execCap = capabilities.find(c => c.name === execCapName);
|
|
373
|
+
if (!execCap) {
|
|
374
|
+
throw new Error(`Unknown capability: ${execCapName}`);
|
|
375
|
+
}
|
|
376
|
+
// Verify this is an exec-mode capability
|
|
377
|
+
if (execCap.mode !== 'exec') {
|
|
378
|
+
throw new Error(`Capability "${execCapName}" is not an exec-mode capability. Use the 'execute' tool for API proxy capabilities.`);
|
|
379
|
+
}
|
|
380
|
+
// Check if reason required
|
|
381
|
+
if (execCap.requiresReason && !execReason) {
|
|
382
|
+
throw new Error(`Capability "${execCapName}" requires a reason`);
|
|
383
|
+
}
|
|
384
|
+
// Validate command against whitelist
|
|
385
|
+
const cmdValidation = (0, exec_js_1.validateCommand)(execCommand, execCap.allowCommands || []);
|
|
386
|
+
if (!cmdValidation.allowed) {
|
|
387
|
+
auditLogger.logDenied(execCap.service, 'EXEC', execCommand.join(' '), cmdValidation.reason || 'Command not allowed', execReason);
|
|
388
|
+
throw new Error(cmdValidation.reason || 'Command not allowed');
|
|
389
|
+
}
|
|
390
|
+
// Get or create session
|
|
391
|
+
const execTtlSeconds = parseTTL(execCap.ttl);
|
|
392
|
+
const execSession = sessionManager.createSession(execCap.name, execCap.service, execTtlSeconds, { reason: execReason });
|
|
393
|
+
// Execute command
|
|
394
|
+
const execResult = await onExecCommand(execSession, execCap, execCommand, execStdin);
|
|
395
|
+
// Log to audit
|
|
396
|
+
auditLogger.log({
|
|
397
|
+
service: execCap.service,
|
|
398
|
+
path: execCommand.join(' '),
|
|
399
|
+
method: 'EXEC',
|
|
400
|
+
headers: { 'x-janee-reason': execReason || '' },
|
|
401
|
+
}, {
|
|
402
|
+
statusCode: execResult.exitCode === 0 ? 200 : 500,
|
|
403
|
+
headers: {},
|
|
404
|
+
body: execResult.stdout,
|
|
405
|
+
}, execResult.executionTimeMs);
|
|
406
|
+
return {
|
|
407
|
+
content: [{
|
|
408
|
+
type: 'text',
|
|
409
|
+
text: JSON.stringify({
|
|
410
|
+
exitCode: execResult.exitCode,
|
|
411
|
+
stdout: execResult.stdout,
|
|
412
|
+
stderr: execResult.stderr,
|
|
413
|
+
executionTimeMs: execResult.executionTimeMs,
|
|
414
|
+
}, null, 2)
|
|
415
|
+
}]
|
|
416
|
+
};
|
|
417
|
+
}
|
|
418
|
+
case 'manage_credential': {
|
|
419
|
+
const { action: credAction, service: credService, targetAgentId: credTarget } = args;
|
|
420
|
+
const credAgentId = (0, agent_scope_js_1.resolveAgentIdentity)({ agentId: extra?.sessionId, metadata: { verifiedAgentId: extra?.authInfo?.clientId } }, args.agentId);
|
|
421
|
+
if (!credService) {
|
|
422
|
+
throw new Error('Missing required argument: service');
|
|
423
|
+
}
|
|
424
|
+
const svc = services.get(credService);
|
|
425
|
+
if (!svc) {
|
|
426
|
+
throw new Error(`Unknown service: ${credService}`);
|
|
427
|
+
}
|
|
428
|
+
if (credAction === 'view') {
|
|
429
|
+
return {
|
|
430
|
+
content: [{
|
|
431
|
+
type: 'text',
|
|
432
|
+
text: JSON.stringify({
|
|
433
|
+
service: credService,
|
|
434
|
+
ownership: svc.ownership || { accessPolicy: 'all-agents', note: 'No ownership metadata (legacy credential)' },
|
|
435
|
+
yourAccess: (0, agent_scope_js_1.canAgentAccess)(credAgentId, svc.ownership)
|
|
436
|
+
}, null, 2)
|
|
437
|
+
}]
|
|
438
|
+
};
|
|
439
|
+
}
|
|
440
|
+
// Grant/revoke require ownership verification
|
|
441
|
+
if (!credAgentId) {
|
|
442
|
+
throw new Error('agentId is required for grant/revoke actions');
|
|
443
|
+
}
|
|
444
|
+
if (!svc.ownership) {
|
|
445
|
+
throw new Error('Cannot manage access for legacy credentials without ownership metadata. Re-add the service to enable scoping.');
|
|
446
|
+
}
|
|
447
|
+
if (svc.ownership.createdBy !== credAgentId) {
|
|
448
|
+
throw new Error('Only the credential owner can grant or revoke access');
|
|
449
|
+
}
|
|
450
|
+
if (credAction === 'grant') {
|
|
451
|
+
if (!credTarget) {
|
|
452
|
+
throw new Error('targetAgentId is required for grant action');
|
|
453
|
+
}
|
|
454
|
+
const { grantAccess } = await Promise.resolve().then(() => __importStar(require('./agent-scope.js')));
|
|
455
|
+
svc.ownership = grantAccess(svc.ownership, credTarget);
|
|
456
|
+
// Persist ownership change to config storage
|
|
457
|
+
if (onPersistOwnership) {
|
|
458
|
+
onPersistOwnership(credService, svc.ownership);
|
|
459
|
+
}
|
|
460
|
+
return {
|
|
461
|
+
content: [{
|
|
462
|
+
type: 'text',
|
|
463
|
+
text: JSON.stringify({
|
|
464
|
+
success: true,
|
|
465
|
+
message: `Granted access to ${credTarget}`,
|
|
466
|
+
ownership: svc.ownership,
|
|
467
|
+
persisted: !!onPersistOwnership
|
|
468
|
+
}, null, 2)
|
|
469
|
+
}]
|
|
470
|
+
};
|
|
471
|
+
}
|
|
472
|
+
if (credAction === 'revoke') {
|
|
473
|
+
if (!credTarget) {
|
|
474
|
+
throw new Error('targetAgentId is required for revoke action');
|
|
475
|
+
}
|
|
476
|
+
const { revokeAccess } = await Promise.resolve().then(() => __importStar(require('./agent-scope.js')));
|
|
477
|
+
svc.ownership = revokeAccess(svc.ownership, credTarget);
|
|
478
|
+
// Persist ownership change to config storage
|
|
479
|
+
if (onPersistOwnership) {
|
|
480
|
+
onPersistOwnership(credService, svc.ownership);
|
|
481
|
+
}
|
|
482
|
+
return {
|
|
483
|
+
content: [{
|
|
484
|
+
type: 'text',
|
|
485
|
+
text: JSON.stringify({
|
|
486
|
+
success: true,
|
|
487
|
+
message: `Revoked access from ${credTarget}`,
|
|
488
|
+
ownership: svc.ownership,
|
|
489
|
+
persisted: !!onPersistOwnership
|
|
490
|
+
}, null, 2)
|
|
491
|
+
}]
|
|
492
|
+
};
|
|
493
|
+
}
|
|
494
|
+
throw new Error(`Unknown action: ${credAction}. Use 'view', 'grant', or 'revoke'.`);
|
|
495
|
+
}
|
|
211
496
|
default:
|
|
212
497
|
throw new Error(`Unknown tool: ${name}`);
|
|
213
498
|
}
|
|
@@ -237,7 +522,10 @@ function makeAPIRequest(targetUrl, request) {
|
|
|
237
522
|
port: targetUrl.port,
|
|
238
523
|
path: targetUrl.pathname + targetUrl.search,
|
|
239
524
|
method: request.method,
|
|
240
|
-
headers:
|
|
525
|
+
headers: {
|
|
526
|
+
'User-Agent': 'janee/' + pkgVersion,
|
|
527
|
+
...request.headers
|
|
528
|
+
}
|
|
241
529
|
};
|
|
242
530
|
const req = client.request(options, (res) => {
|
|
243
531
|
let body = '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/core/mcp-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/core/mcp-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/core/sessions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,CAAC,EAAE,MAAM;IAKhC;;OAEG;IACH,OAAO,CAAC,IAAI;IAwBZ;;OAEG;IACH,OAAO,CAAC,IAAI;IAeZ;;OAEG;IACH,aAAa,CACX,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAClD,OAAO;IA4BV;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAgBlD;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAazC;;OAEG;IACH,YAAY,IAAI,OAAO,EAAE;
|
|
1
|
+
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/core/sessions.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,CAAC,EAAE,MAAM;IAKhC;;OAEG;IACH,OAAO,CAAC,IAAI;IAwBZ;;OAEG;IACH,OAAO,CAAC,IAAI;IAeZ;;OAEG;IACH,aAAa,CACX,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,MAAM,EAClB,OAAO,GAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAClD,OAAO;IA4BV;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAgBlD;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAazC;;OAEG;IACH,YAAY,IAAI,OAAO,EAAE;IAsBzB;;OAEG;IACH,OAAO,IAAI,IAAI;CAehB"}
|