Align plugin monitor_port config
This commit is contained in:
1
plugin/core/live-config.d.ts
vendored
1
plugin/core/live-config.d.ts
vendored
@@ -3,6 +3,7 @@ export interface HarborForgeMonitorConfig {
|
||||
backendUrl?: string;
|
||||
identifier?: string;
|
||||
apiKey?: string;
|
||||
monitor_port?: number;
|
||||
monitorPort?: number;
|
||||
reportIntervalSec?: number;
|
||||
httpFallbackIntervalSec?: number;
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"live-config.d.ts","sourceRoot":"","sources":["live-config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAChD;AAED,UAAU,qBAAqB;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,qBAAqB,EAC1B,QAAQ,EAAE,wBAAwB,GACjC,wBAAwB,CAqB1B"}
|
||||
{"version":3,"file":"live-config.d.ts","sourceRoot":"","sources":["live-config.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,wBAAwB;IACvC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAChD;AAED,UAAU,qBAAqB;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,qBAAqB,EAC1B,QAAQ,EAAE,wBAAwB,GACjC,wBAAwB,CAgC1B"}
|
||||
@@ -8,9 +8,18 @@ function getLivePluginConfig(api, fallback) {
|
||||
const entry = entries['harbor-forge'] || {};
|
||||
const cfg = entry.config || {};
|
||||
if (Object.keys(cfg).length > 0 || Object.keys(entry).length > 0) {
|
||||
const monitorPort = typeof cfg.monitor_port === 'number'
|
||||
? cfg.monitor_port
|
||||
: typeof cfg.monitorPort === 'number'
|
||||
? cfg.monitorPort
|
||||
: typeof fallback.monitor_port === 'number'
|
||||
? fallback.monitor_port
|
||||
: fallback.monitorPort;
|
||||
return {
|
||||
...fallback,
|
||||
...cfg,
|
||||
monitor_port: monitorPort,
|
||||
monitorPort,
|
||||
enabled: typeof cfg.enabled === 'boolean'
|
||||
? cfg.enabled
|
||||
: typeof entry.enabled === 'boolean'
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"version":3,"file":"live-config.js","sourceRoot":"","sources":["live-config.ts"],"names":[],"mappings":";;AAeA,kDAwBC;AAxBD,SAAgB,mBAAmB,CACjC,GAA0B,EAC1B,QAAkC;IAElC,MAAM,IAAI,GAAI,GAAG,CAAC,MAAkC,IAAI,EAAE,CAAC;IAC3D,MAAM,OAAO,GAAI,IAAI,CAAC,OAAmC,IAAI,EAAE,CAAC;IAChE,MAAM,OAAO,GAAI,OAAO,CAAC,OAAmC,IAAI,EAAE,CAAC;IACnE,MAAM,KAAK,GAAI,OAAO,CAAC,cAAc,CAA6B,IAAI,EAAE,CAAC;IACzE,MAAM,GAAG,GAAI,KAAK,CAAC,MAAkC,IAAI,EAAE,CAAC;IAE5D,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjE,OAAO;YACL,GAAG,QAAQ;YACX,GAAG,GAAG;YACN,OAAO,EACL,OAAO,GAAG,CAAC,OAAO,KAAK,SAAS;gBAC9B,CAAC,CAAC,GAAG,CAAC,OAAO;gBACb,CAAC,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS;oBAClC,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,QAAQ,CAAC,OAAO;SACG,CAAC;IAChC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
||||
{"version":3,"file":"live-config.js","sourceRoot":"","sources":["live-config.ts"],"names":[],"mappings":";;AAgBA,kDAmCC;AAnCD,SAAgB,mBAAmB,CACjC,GAA0B,EAC1B,QAAkC;IAElC,MAAM,IAAI,GAAI,GAAG,CAAC,MAAkC,IAAI,EAAE,CAAC;IAC3D,MAAM,OAAO,GAAI,IAAI,CAAC,OAAmC,IAAI,EAAE,CAAC;IAChE,MAAM,OAAO,GAAI,OAAO,CAAC,OAAmC,IAAI,EAAE,CAAC;IACnE,MAAM,KAAK,GAAI,OAAO,CAAC,cAAc,CAA6B,IAAI,EAAE,CAAC;IACzE,MAAM,GAAG,GAAI,KAAK,CAAC,MAAkC,IAAI,EAAE,CAAC;IAE5D,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACjE,MAAM,WAAW,GACf,OAAO,GAAG,CAAC,YAAY,KAAK,QAAQ;YAClC,CAAC,CAAC,GAAG,CAAC,YAAY;YAClB,CAAC,CAAC,OAAO,GAAG,CAAC,WAAW,KAAK,QAAQ;gBACnC,CAAC,CAAC,GAAG,CAAC,WAAW;gBACjB,CAAC,CAAC,OAAO,QAAQ,CAAC,YAAY,KAAK,QAAQ;oBACzC,CAAC,CAAC,QAAQ,CAAC,YAAY;oBACvB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QAE/B,OAAO;YACL,GAAG,QAAQ;YACX,GAAG,GAAG;YACN,YAAY,EAAE,WAAW;YACzB,WAAW;YACX,OAAO,EACL,OAAO,GAAG,CAAC,OAAO,KAAK,SAAS;gBAC9B,CAAC,CAAC,GAAG,CAAC,OAAO;gBACb,CAAC,CAAC,OAAO,KAAK,CAAC,OAAO,KAAK,SAAS;oBAClC,CAAC,CAAC,KAAK,CAAC,OAAO;oBACf,CAAC,CAAC,QAAQ,CAAC,OAAO;SACG,CAAC;IAChC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC"}
|
||||
@@ -3,6 +3,7 @@ export interface HarborForgeMonitorConfig {
|
||||
backendUrl?: string;
|
||||
identifier?: string;
|
||||
apiKey?: string;
|
||||
monitor_port?: number;
|
||||
monitorPort?: number;
|
||||
reportIntervalSec?: number;
|
||||
httpFallbackIntervalSec?: number;
|
||||
@@ -24,9 +25,20 @@ export function getLivePluginConfig(
|
||||
const cfg = (entry.config as Record<string, unknown>) || {};
|
||||
|
||||
if (Object.keys(cfg).length > 0 || Object.keys(entry).length > 0) {
|
||||
const monitorPort =
|
||||
typeof cfg.monitor_port === 'number'
|
||||
? cfg.monitor_port
|
||||
: typeof cfg.monitorPort === 'number'
|
||||
? cfg.monitorPort
|
||||
: typeof fallback.monitor_port === 'number'
|
||||
? fallback.monitor_port
|
||||
: fallback.monitorPort;
|
||||
|
||||
return {
|
||||
...fallback,
|
||||
...cfg,
|
||||
monitor_port: monitorPort,
|
||||
monitorPort,
|
||||
enabled:
|
||||
typeof cfg.enabled === 'boolean'
|
||||
? cfg.enabled
|
||||
|
||||
@@ -52,11 +52,12 @@ export default {
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the monitor bridge client if monitorPort is configured.
|
||||
* Get the monitor bridge client if monitor_port is configured.
|
||||
* Legacy alias monitorPort is still accepted.
|
||||
*/
|
||||
function getBridgeClient(): MonitorBridgeClient | null {
|
||||
const live = resolveConfig() as any;
|
||||
const port = live.monitorPort;
|
||||
const port = live.monitor_port ?? live.monitorPort;
|
||||
if (!port || port <= 0) return null;
|
||||
return new MonitorBridgeClient(port);
|
||||
}
|
||||
@@ -125,7 +126,7 @@ export default {
|
||||
config: {
|
||||
backendUrl: live.backendUrl,
|
||||
identifier: live.identifier || hostname(),
|
||||
monitorPort: (live as any).monitorPort || null,
|
||||
monitorPort: (live as any).monitor_port ?? (live as any).monitorPort ?? null,
|
||||
reportIntervalSec: live.reportIntervalSec,
|
||||
hasApiKey: Boolean(live.apiKey),
|
||||
},
|
||||
@@ -160,7 +161,7 @@ export default {
|
||||
const bridgeClient = getBridgeClient();
|
||||
if (!bridgeClient) {
|
||||
return {
|
||||
error: 'Monitor bridge not configured (monitorPort not set or 0)',
|
||||
error: 'Monitor bridge not configured (monitor_port not set or 0)',
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
"type": "string",
|
||||
"description": "API Key from HarborForge Monitor admin panel (optional but required for authentication)"
|
||||
},
|
||||
"monitorPort": {
|
||||
"monitor_port": {
|
||||
"type": "number",
|
||||
"description": "Local port for communication between HarborForge Monitor and this plugin"
|
||||
},
|
||||
|
||||
8
plugin/package-lock.json
generated
8
plugin/package-lock.json
generated
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"name": "harborforge-monitor-plugin",
|
||||
"version": "0.1.0",
|
||||
"name": "harbor-forge-plugin",
|
||||
"version": "0.2.0",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"name": "harborforge-monitor-plugin",
|
||||
"version": "0.1.0",
|
||||
"name": "harbor-forge-plugin",
|
||||
"version": "0.2.0",
|
||||
"license": "MIT",
|
||||
"devDependencies": {
|
||||
"@types/node": "^20.0.0",
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"name": "harborforge-monitor-plugin",
|
||||
"version": "0.1.0",
|
||||
"description": "OpenClaw plugin for HarborForge Monitor",
|
||||
"name": "harbor-forge-plugin",
|
||||
"version": "0.2.0",
|
||||
"description": "OpenClaw plugin for HarborForge monitor bridge and CLI integration",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"build": "tsc",
|
||||
|
||||
Reference in New Issue
Block a user