@0xmaxma/claude-gateway 2.0.9 → 2.0.10
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 +1 -1
- package/config.template.json +5 -3
- package/dist/agent/runner.d.ts +7 -0
- package/dist/agent/runner.d.ts.map +1 -1
- package/dist/agent/runner.js +44 -2
- package/dist/agent/runner.js.map +1 -1
- package/dist/agent/skill-learning/reviewer.d.ts.map +1 -1
- package/dist/agent/skill-learning/reviewer.js +1 -2
- package/dist/agent/skill-learning/reviewer.js.map +1 -1
- package/dist/api/capabilities.d.ts +53 -0
- package/dist/api/capabilities.d.ts.map +1 -0
- package/dist/api/capabilities.js +66 -0
- package/dist/api/capabilities.js.map +1 -0
- package/dist/api/gateway-router.d.ts.map +1 -1
- package/dist/api/gateway-router.js +8 -12
- package/dist/api/gateway-router.js.map +1 -1
- package/dist/api/gateway-version.d.ts +9 -0
- package/dist/api/gateway-version.d.ts.map +1 -0
- package/dist/api/gateway-version.js +57 -0
- package/dist/api/gateway-version.js.map +1 -0
- package/dist/build-provenance.json +4 -4
- package/dist/orchestration/agent-tool-schemas.js +2 -2
- package/dist/orchestration/agent-tool-schemas.js.map +1 -1
- package/dist/orchestration/bridge.d.ts.map +1 -1
- package/dist/orchestration/bridge.js +53 -2
- package/dist/orchestration/bridge.js.map +1 -1
- package/dist/orchestration/capabilities.d.ts +1 -1
- package/dist/orchestration/capabilities.d.ts.map +1 -1
- package/dist/orchestration/capabilities.js +9 -15
- package/dist/orchestration/capabilities.js.map +1 -1
- package/dist/orchestration/cli-skills.d.ts +1 -1
- package/dist/orchestration/cli-skills.d.ts.map +1 -1
- package/dist/orchestration/cli-skills.js +14 -9
- package/dist/orchestration/cli-skills.js.map +1 -1
- package/dist/orchestration/container-tool-schemas.js +2 -2
- package/dist/orchestration/container-tool-schemas.js.map +1 -1
- package/dist/orchestration/process-activity.d.ts +4 -2
- package/dist/orchestration/process-activity.d.ts.map +1 -1
- package/dist/orchestration/process-activity.js +31 -42
- package/dist/orchestration/process-activity.js.map +1 -1
- package/dist/orchestration/process-platform.d.ts +75 -0
- package/dist/orchestration/process-platform.d.ts.map +1 -0
- package/dist/orchestration/process-platform.js +400 -0
- package/dist/orchestration/process-platform.js.map +1 -0
- package/dist/orchestration/process-supervisor.d.ts +31 -7
- package/dist/orchestration/process-supervisor.d.ts.map +1 -1
- package/dist/orchestration/process-supervisor.js +89 -61
- package/dist/orchestration/process-supervisor.js.map +1 -1
- package/dist/orchestration/process-turn.d.ts.map +1 -1
- package/dist/orchestration/process-turn.js +32 -5
- package/dist/orchestration/process-turn.js.map +1 -1
- package/dist/orchestration/progress-review.d.ts +1 -1
- package/dist/orchestration/progress-review.d.ts.map +1 -1
- package/dist/orchestration/progress-review.js +5 -1
- package/dist/orchestration/progress-review.js.map +1 -1
- package/dist/orchestration/report-fidelity.d.ts +31 -0
- package/dist/orchestration/report-fidelity.d.ts.map +1 -0
- package/dist/orchestration/report-fidelity.js +34 -0
- package/dist/orchestration/report-fidelity.js.map +1 -0
- package/dist/orchestration/runtime.d.ts.map +1 -1
- package/dist/orchestration/runtime.js +21 -6
- package/dist/orchestration/runtime.js.map +1 -1
- package/dist/orchestration/speech.d.ts +1 -1
- package/dist/orchestration/speech.d.ts.map +1 -1
- package/dist/orchestration/speech.js +1 -1
- package/dist/orchestration/task-questions.js +2 -2
- package/dist/orchestration/task-questions.js.map +1 -1
- package/dist/orchestration/tasks/driver.d.ts.map +1 -1
- package/dist/orchestration/tasks/driver.js +4 -3
- package/dist/orchestration/tasks/driver.js.map +1 -1
- package/dist/orchestration/tasks/failure.d.ts +6 -0
- package/dist/orchestration/tasks/failure.d.ts.map +1 -1
- package/dist/orchestration/tasks/failure.js +26 -2
- package/dist/orchestration/tasks/failure.js.map +1 -1
- package/dist/orchestration/tasks/scheduler.d.ts +1 -1
- package/dist/orchestration/tasks/scheduler.d.ts.map +1 -1
- package/dist/orchestration/tasks/scheduler.js +3 -1
- package/dist/orchestration/tasks/scheduler.js.map +1 -1
- package/dist/orchestration/tasks/service.js +1 -1
- package/dist/orchestration/tasks/service.js.map +1 -1
- package/dist/orchestration/types.d.ts +8 -0
- package/dist/orchestration/types.d.ts.map +1 -1
- package/dist/orchestration/types.js.map +1 -1
- package/dist/safemode/native.d.ts.map +1 -1
- package/dist/safemode/native.js +8 -3
- package/dist/safemode/native.js.map +1 -1
- package/dist/session/claude-bin.d.ts +29 -0
- package/dist/session/claude-bin.d.ts.map +1 -1
- package/dist/session/claude-bin.js +63 -12
- package/dist/session/claude-bin.js.map +1 -1
- package/dist/session/codex-process.d.ts +4 -0
- package/dist/session/codex-process.d.ts.map +1 -1
- package/dist/session/codex-process.js +7 -2
- package/dist/session/codex-process.js.map +1 -1
- package/dist/session/compactor.d.ts.map +1 -1
- package/dist/session/compactor.js +1 -2
- package/dist/session/compactor.js.map +1 -1
- package/dist/session/process.d.ts +6 -0
- package/dist/session/process.d.ts.map +1 -1
- package/dist/session/process.js +38 -8
- package/dist/session/process.js.map +1 -1
- package/dist/session/runtime-profile.d.ts +13 -0
- package/dist/session/runtime-profile.d.ts.map +1 -1
- package/dist/session/runtime-profile.js +23 -0
- package/dist/session/runtime-profile.js.map +1 -1
- package/dist/session/worker-extensions.d.ts.map +1 -1
- package/dist/session/worker-extensions.js +2 -2
- package/dist/session/worker-extensions.js.map +1 -1
- package/dist/shell/claude-pty-shell.js +5 -4
- package/dist/shell/claude-pty-shell.js.map +1 -1
- package/dist/utils/paths.d.ts +8 -0
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +11 -0
- package/dist/utils/paths.js.map +1 -1
- package/mcp/tools/telegram/receiver-server.ts +4 -2
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewer.d.ts","sourceRoot":"","sources":["../../../src/agent/skill-learning/reviewer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAExE,8DAA8D;AAC9D,eAAO,MAAM,mBAAmB,SAAU,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,cAAc,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,mHAAmH;IACnH,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,MAAM,KACV,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAmClG;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"reviewer.d.ts","sourceRoot":"","sources":["../../../src/agent/skill-learning/reviewer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAExE,8DAA8D;AAC9D,eAAO,MAAM,mBAAmB,SAAU,CAAC;AAE3C,MAAM,WAAW,aAAa;IAC5B,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,cAAc,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9D;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,cAAc,CAAC;IACzB,mHAAmH;IACnH,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;;;GASG;AACH,MAAM,MAAM,aAAa,GAAG,CAC1B,IAAI,EAAE,MAAM,EAAE,EACd,KAAK,EAAE,MAAM,KACV,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAmClG;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,CAkFlE;AA0CD,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,GAAG,EAAE,OAAO,GAAG,cAAc,CAe3D;AAED;;GAEG;AACH,wBAAsB,WAAW,CAC/B,KAAK,EAAE,aAAa,EACpB,GAAG,EAAE,wBAAwB,EAC7B,OAAO,CAAC,EAAE,aAAa,GACtB,OAAO,CAAC,cAAc,CAAC,CA8BzB"}
|
|
@@ -93,8 +93,7 @@ function buildPrompt(input) {
|
|
|
93
93
|
function makeClaudeSpawn(reviewModel) {
|
|
94
94
|
return async (extraArgs, stdin) => {
|
|
95
95
|
const { spawn } = await Promise.resolve().then(() => __importStar(require('child_process')));
|
|
96
|
-
const
|
|
97
|
-
const [claudeBin, ...binArgs] = claudeBinRaw.split(' ');
|
|
96
|
+
const { command: claudeBin, args: binArgs } = (0, claude_bin_1.claudeCommand)();
|
|
98
97
|
const args = [...binArgs, '-p', '--output-format', 'json', '--model', reviewModel, ...extraArgs,
|
|
99
98
|
'--tools', '', '--strict-mcp-config', '--mcp-config', JSON.stringify({ mcpServers: {} }),
|
|
100
99
|
'--settings', JSON.stringify({ disableAllHooks: true })];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../../src/agent/skill-learning/reviewer.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6EH,
|
|
1
|
+
{"version":3,"file":"reviewer.js","sourceRoot":"","sources":["../../../src/agent/skill-learning/reviewer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { Router } from 'express';
|
|
2
|
+
import { ApiKey } from '../types';
|
|
3
|
+
import { type ChatChannel } from '../history/types';
|
|
4
|
+
/**
|
|
5
|
+
* Capability manifest — the single place that declares which optional features
|
|
6
|
+
* this gateway build supports, so clients can feature-detect instead of pinning
|
|
7
|
+
* to a version number.
|
|
8
|
+
*
|
|
9
|
+
* Contract (documented in website/api/system.md → "GET /api/v1/capabilities"):
|
|
10
|
+
* - keys are additive-only and never change meaning; dropping a feature means
|
|
11
|
+
* dropping its key, not flipping its value,
|
|
12
|
+
* - a missing key means "unsupported", and a 404 on the endpoint itself means
|
|
13
|
+
* the gateway predates capability discovery and supports none of these.
|
|
14
|
+
*
|
|
15
|
+
* Add a new capability here (plus its website/api/system.md entry); never inline a feature list
|
|
16
|
+
* in a route handler.
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
* Channels whose sessions accept a message injected by another client via
|
|
20
|
+
* `POST /api/v1/agents/:id/chats/:chatId/sessions/:sessionId/messages` — the
|
|
21
|
+
* injected text is delivered into the channel conversation and echoed back to
|
|
22
|
+
* the channel's users. Values are the gateway's own channel identifiers
|
|
23
|
+
* ({@link ChatChannel}), the same strings a session reports as its channel.
|
|
24
|
+
*
|
|
25
|
+
* The web→channel echo (runner.ts `writeAutoForward`, reached from
|
|
26
|
+
* `sendMessageToSession`/`sendOrchestratedChannel`) has a delivery branch for
|
|
27
|
+
* every {@link CHAT_CHANNELS} member and, since the echo's telegram-only guard
|
|
28
|
+
* was removed (#539, "echo web channel messages back to the originating
|
|
29
|
+
* channel (all channels)"), fires for every channel — so this manifest lists
|
|
30
|
+
* all of them. Deriving from CHAT_CHANNELS keeps it in lockstep: a new channel
|
|
31
|
+
* added there (which must also gain a `writeAutoForward` branch) is advertised
|
|
32
|
+
* automatically, and nothing here can drift out of the canonical union.
|
|
33
|
+
*/
|
|
34
|
+
export declare const CROSS_CHANNEL_MESSAGE_CHANNELS: readonly ChatChannel[];
|
|
35
|
+
export interface CapabilitiesResponse {
|
|
36
|
+
/** Gateway version from package.json. Informational — clients should key off `capabilities`, not parse this. */
|
|
37
|
+
version: string;
|
|
38
|
+
capabilities: {
|
|
39
|
+
cross_channel_message: ChatChannel[];
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
export declare function buildCapabilitiesResponse(version?: string): CapabilitiesResponse;
|
|
43
|
+
/**
|
|
44
|
+
* `GET /api/v1/capabilities`. Always behind API-key auth — the response carries
|
|
45
|
+
* the gateway version, which `/health` deliberately withholds from
|
|
46
|
+
* unauthenticated callers, so this route sits behind the same auth as the rest
|
|
47
|
+
* of `/api/v1`. The gateway only mounts this router when `gateway.api.keys` is
|
|
48
|
+
* non-empty (see GatewayRouter), so a keyless install never reaches it: the
|
|
49
|
+
* endpoint 404s rather than serving open access. `apiKeys` is therefore always
|
|
50
|
+
* the configured, non-empty key set.
|
|
51
|
+
*/
|
|
52
|
+
export declare function createCapabilitiesRouter(apiKeys: ApiKey[]): Router;
|
|
53
|
+
//# sourceMappingURL=capabilities.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/api/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAqB,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAiB,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAInE;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,8BAA8B,EAAE,SAAS,WAAW,EAAuB,CAAC;AAEzF,MAAM,WAAW,oBAAoB;IACnC,gHAAgH;IAChH,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,EAAE;QACZ,qBAAqB,EAAE,WAAW,EAAE,CAAC;KACtC,CAAC;CACH;AAED,wBAAgB,yBAAyB,CAAC,OAAO,GAAE,MAAwB,GAAG,oBAAoB,CAOjG;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,CAOlE"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CROSS_CHANNEL_MESSAGE_CHANNELS = void 0;
|
|
4
|
+
exports.buildCapabilitiesResponse = buildCapabilitiesResponse;
|
|
5
|
+
exports.createCapabilitiesRouter = createCapabilitiesRouter;
|
|
6
|
+
const express_1 = require("express");
|
|
7
|
+
const types_1 = require("../history/types");
|
|
8
|
+
const auth_1 = require("./auth");
|
|
9
|
+
const gateway_version_1 = require("./gateway-version");
|
|
10
|
+
/**
|
|
11
|
+
* Capability manifest — the single place that declares which optional features
|
|
12
|
+
* this gateway build supports, so clients can feature-detect instead of pinning
|
|
13
|
+
* to a version number.
|
|
14
|
+
*
|
|
15
|
+
* Contract (documented in website/api/system.md → "GET /api/v1/capabilities"):
|
|
16
|
+
* - keys are additive-only and never change meaning; dropping a feature means
|
|
17
|
+
* dropping its key, not flipping its value,
|
|
18
|
+
* - a missing key means "unsupported", and a 404 on the endpoint itself means
|
|
19
|
+
* the gateway predates capability discovery and supports none of these.
|
|
20
|
+
*
|
|
21
|
+
* Add a new capability here (plus its website/api/system.md entry); never inline a feature list
|
|
22
|
+
* in a route handler.
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* Channels whose sessions accept a message injected by another client via
|
|
26
|
+
* `POST /api/v1/agents/:id/chats/:chatId/sessions/:sessionId/messages` — the
|
|
27
|
+
* injected text is delivered into the channel conversation and echoed back to
|
|
28
|
+
* the channel's users. Values are the gateway's own channel identifiers
|
|
29
|
+
* ({@link ChatChannel}), the same strings a session reports as its channel.
|
|
30
|
+
*
|
|
31
|
+
* The web→channel echo (runner.ts `writeAutoForward`, reached from
|
|
32
|
+
* `sendMessageToSession`/`sendOrchestratedChannel`) has a delivery branch for
|
|
33
|
+
* every {@link CHAT_CHANNELS} member and, since the echo's telegram-only guard
|
|
34
|
+
* was removed (#539, "echo web channel messages back to the originating
|
|
35
|
+
* channel (all channels)"), fires for every channel — so this manifest lists
|
|
36
|
+
* all of them. Deriving from CHAT_CHANNELS keeps it in lockstep: a new channel
|
|
37
|
+
* added there (which must also gain a `writeAutoForward` branch) is advertised
|
|
38
|
+
* automatically, and nothing here can drift out of the canonical union.
|
|
39
|
+
*/
|
|
40
|
+
exports.CROSS_CHANNEL_MESSAGE_CHANNELS = [...types_1.CHAT_CHANNELS];
|
|
41
|
+
function buildCapabilitiesResponse(version = gateway_version_1.GATEWAY_VERSION) {
|
|
42
|
+
return {
|
|
43
|
+
version,
|
|
44
|
+
capabilities: {
|
|
45
|
+
cross_channel_message: [...exports.CROSS_CHANNEL_MESSAGE_CHANNELS],
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* `GET /api/v1/capabilities`. Always behind API-key auth — the response carries
|
|
51
|
+
* the gateway version, which `/health` deliberately withholds from
|
|
52
|
+
* unauthenticated callers, so this route sits behind the same auth as the rest
|
|
53
|
+
* of `/api/v1`. The gateway only mounts this router when `gateway.api.keys` is
|
|
54
|
+
* non-empty (see GatewayRouter), so a keyless install never reaches it: the
|
|
55
|
+
* endpoint 404s rather than serving open access. `apiKeys` is therefore always
|
|
56
|
+
* the configured, non-empty key set.
|
|
57
|
+
*/
|
|
58
|
+
function createCapabilitiesRouter(apiKeys) {
|
|
59
|
+
const router = (0, express_1.Router)();
|
|
60
|
+
router.use((0, auth_1.createApiAuthMiddleware)(apiKeys));
|
|
61
|
+
router.get('/v1/capabilities', (_req, res) => {
|
|
62
|
+
res.json(buildCapabilitiesResponse());
|
|
63
|
+
});
|
|
64
|
+
return router;
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=capabilities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../../src/api/capabilities.ts"],"names":[],"mappings":";;;AA+CA,8DAOC;AAWD,4DAOC;AAxED,qCAAoD;AAEpD,4CAAmE;AACnE,iCAAiD;AACjD,uDAAoD;AAEpD;;;;;;;;;;;;;GAaG;AAEH;;;;;;;;;;;;;;;GAeG;AACU,QAAA,8BAA8B,GAA2B,CAAC,GAAG,qBAAa,CAAC,CAAC;AAUzF,SAAgB,yBAAyB,CAAC,UAAkB,iCAAe;IACzE,OAAO;QACL,OAAO;QACP,YAAY,EAAE;YACZ,qBAAqB,EAAE,CAAC,GAAG,sCAA8B,CAAC;SAC3D;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,wBAAwB,CAAC,OAAiB;IACxD,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;IACxB,MAAM,CAAC,GAAG,CAAC,IAAA,8BAAuB,EAAC,OAAO,CAAC,CAAC,CAAC;IAC7C,MAAM,CAAC,GAAG,CAAC,kBAAkB,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QAC9D,GAAG,CAAC,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gateway-router.d.ts","sourceRoot":"","sources":["../../src/api/gateway-router.ts"],"names":[],"mappings":"AAKA,OAAO,OAA8B,MAAM,SAAS,CAAC;AAQrD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAmB,MAAM,UAAU,CAAC;AAK3F,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"gateway-router.d.ts","sourceRoot":"","sources":["../../src/api/gateway-router.ts"],"names":[],"mappings":"AAKA,OAAO,OAA8B,MAAM,SAAS,CAAC;AAQrD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,EAAmB,MAAM,UAAU,CAAC;AAK3F,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAgC9C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AA6EzD;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,cAAc,EAAE,MAAM,GAAG,SAAS,GACjC,MAAM,CAIR;AAyED,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAyB;IACzD,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAuB;IACxD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAGlD,sCAAsC;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiC;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAqB;IACjD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA2B;IACnD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAsB;IAC1C,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,GAAG,CAAgC;IAC3C,OAAO,CAAC,QAAQ,CAAC,CAAW;IAE5B,iFAAiF;IACjF,OAAO,CAAC,cAAc,CAA4F;IAClH,OAAO,CAAC,gBAAgB,CAAC,CAAiE;IAC1F,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAS;IAEvD;;kEAE8D;IAC9D,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAiC;IAEjE,6FAA6F;IAC7F,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgF;IACjH,OAAO,CAAC,YAAY,CAA+C;IAEnE,4FAA4F;IAC5F,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAoB;IAEtD;6EACyE;IACzE,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAyD;IACvF,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAM;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAiB;IAExD,gEAAgE;IAChE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAkC;IACnE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAkC;IAE/D,yCAAyC;IACzC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAgC;IAE/D,2EAA2E;IAC3E,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA+F;IAE9H,gEAAgE;IAChE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyC;IAEpE,yBAAyB;IACzB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IAExC,yDAAyD;IACzD,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAgB;IAE/C,uCAAuC;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAc;IAE3C,oDAAoD;IACpD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAS;IAErC,oCAAoC;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAe;IAC7C,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAiB;IAEpD;;wEAEoE;IACpE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAwB;gBAG5D,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EAChC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,EACjC,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,EACvC,aAAa,CAAC,EAAE,aAAa,EAC7B,WAAW,CAAC,EAAE,WAAW,EACzB,UAAU,CAAC,EAAE,MAAM,EACnB,YAAY,CAAC,EAAE,YAAY,EAC3B,YAAY,CAAC,EAAE,YAAY,EAC3B,iBAAiB,CAAC,EAAE,cAAc;IAuCpC,2EAA2E;IAC3E,OAAO,KAAK,OAAO,GAElB;IAED,+DAA+D;IAC/D,OAAO,CAAC,eAAe;IAMvB;;;;;;;OAOG;IACH,OAAO,CAAC,iBAAiB;IAMzB,iFAAiF;IACjF,OAAO,CAAC,mBAAmB;IAO3B;;;;;;;OAOG;IACH,uGAAuG;IACvG,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,mBAAmB;IAmB3B;;4EAEwE;IACxE,OAAO,CAAC,QAAQ;IAIhB,6EAA6E;IAC7E,OAAO,CAAC,gBAAgB;IAMxB,6EAA6E;IAC7E,OAAO,CAAC,kBAAkB;IAW1B;;;;;;;;OAQG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;0EAEsE;IACtE,OAAO,CAAC,WAAW;IAUnB;;;;;OAKG;IACH,OAAO,CAAC,cAAc;IAOtB;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAOxB,wEAAwE;IACxE,OAAO,CAAC,cAAc;IAiItB,OAAO,CAAC,WAAW;IAs5BnB;;8DAE0D;IAC1D,aAAa,IAAI,MAAM,GAAG,IAAI;IAKxB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkIxC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,qBAAqB;IAqB7B,sFAAsF;IACtF,kBAAkB,CAChB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,KAAK,GAAG,KAAK,EACnB,SAAS,EAAE,MAAM,GAChB,IAAI;IAIP,gEAAgE;IAChE,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAS5C,+EAA+E;IACzE,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAUtD,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAiC3B,MAAM,IAAI,OAAO,CAAC,WAAW;IAM7B;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,SAAS;IASvD;;OAEG;IACH,UAAU,IAAI,WAAW,EAAE;IAI3B;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI;IAWtC;;OAEG;IACH,aAAa,IAAI,UAAU,EAAE;CAe9B"}
|
|
@@ -70,6 +70,8 @@ const router_1 = require("./router");
|
|
|
70
70
|
const voice_router_1 = require("./voice-router");
|
|
71
71
|
const cron_router_1 = require("./cron-router");
|
|
72
72
|
const meta_router_1 = require("./meta-router");
|
|
73
|
+
const capabilities_1 = require("./capabilities");
|
|
74
|
+
const gateway_version_1 = require("./gateway-version");
|
|
73
75
|
const workspace_router_1 = require("./workspace-router");
|
|
74
76
|
const skills_router_1 = require("./skills-router");
|
|
75
77
|
const packages_1 = require("./packages");
|
|
@@ -149,17 +151,6 @@ function timingSafeKeyMatch(apiKeys, token) {
|
|
|
149
151
|
function timingSafeAdminKeyMatch(apiKeys, token) {
|
|
150
152
|
return timingSafeKeyMatch(apiKeys.filter((k) => k.admin === true), token);
|
|
151
153
|
}
|
|
152
|
-
function getGatewayVersion() {
|
|
153
|
-
try {
|
|
154
|
-
const pkgPath = path.join(__dirname, '..', '..', 'package.json');
|
|
155
|
-
const pkg = JSON.parse(fs.readFileSync(pkgPath, 'utf8'));
|
|
156
|
-
return pkg.version ?? 'unknown';
|
|
157
|
-
}
|
|
158
|
-
catch {
|
|
159
|
-
return 'unknown';
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
const GATEWAY_VERSION = getGatewayVersion();
|
|
163
154
|
/**
|
|
164
155
|
* Resolve the network interface the server binds to (Issue #201). Precedence:
|
|
165
156
|
* GATEWAY_BIND env → gateway.bind config → localhost-only default. Empty/blank
|
|
@@ -715,6 +706,11 @@ class GatewayRouter {
|
|
|
715
706
|
const metaRouter = (0, meta_router_1.createMetaRouter)(this.gatewayConfig.gateway.api.keys);
|
|
716
707
|
this.app.use('/api', metaRouter);
|
|
717
708
|
}
|
|
709
|
+
// Mount the capability manifest (GET /api/v1/capabilities) so clients can
|
|
710
|
+
// feature-detect this build instead of pinning to a version number.
|
|
711
|
+
if (this.gatewayConfig?.gateway?.api?.keys?.length) {
|
|
712
|
+
this.app.use('/api', (0, capabilities_1.createCapabilitiesRouter)(this.gatewayConfig.gateway.api.keys));
|
|
713
|
+
}
|
|
718
714
|
// Mount apps router (admin routes for installing/managing apps)
|
|
719
715
|
if (this.appsRegistry &&
|
|
720
716
|
this.appInstaller &&
|
|
@@ -1453,7 +1449,7 @@ class GatewayRouter {
|
|
|
1453
1449
|
agents: agentsStatus,
|
|
1454
1450
|
uptime: Math.floor(uptimeMs / 1000),
|
|
1455
1451
|
startedAt: this.startedAt.toISOString(),
|
|
1456
|
-
version: GATEWAY_VERSION,
|
|
1452
|
+
version: gateway_version_1.GATEWAY_VERSION,
|
|
1457
1453
|
// Degraded file watchers (e.g. inotify ENOSPC). Empty array when healthy.
|
|
1458
1454
|
watchers: (0, factory_1.getWatcherHealth)(),
|
|
1459
1455
|
};
|