rterm-backend 2.9.10 → 2.9.12
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/bin/gybackend.cjs +32 -1
- package/package.json +2 -4
package/bin/gybackend.cjs
CHANGED
|
@@ -346913,6 +346913,10 @@ ${body}`;
|
|
|
346913
346913
|
fireCount: 0
|
|
346914
346914
|
};
|
|
346915
346915
|
m.upsertTrigger(entry);
|
|
346916
|
+
try {
|
|
346917
|
+
engine?.upsert?.(entry);
|
|
346918
|
+
} catch {
|
|
346919
|
+
}
|
|
346916
346920
|
const msg2 = `Created trigger "${entry.name}" (${entry.id}) [${entry.kind}] \u2192 ${entry.action} ${entry.playbookId}.`;
|
|
346917
346921
|
emit8(context2, "manage_trigger", args, msg2);
|
|
346918
346922
|
return msg2;
|
|
@@ -346945,6 +346949,10 @@ ${body}`;
|
|
|
346945
346949
|
...args.cooldownSeconds !== void 0 ? { cooldownSeconds: args.cooldownSeconds } : {}
|
|
346946
346950
|
};
|
|
346947
346951
|
m.upsertTrigger(merged);
|
|
346952
|
+
try {
|
|
346953
|
+
engine?.upsert?.(merged);
|
|
346954
|
+
} catch {
|
|
346955
|
+
}
|
|
346948
346956
|
const msg2 = `Updated trigger "${merged.name}" (${merged.id}).`;
|
|
346949
346957
|
emit8(context2, "manage_trigger", args, msg2);
|
|
346950
346958
|
return msg2;
|
|
@@ -346957,6 +346965,12 @@ ${body}`;
|
|
|
346957
346965
|
return msg3;
|
|
346958
346966
|
}
|
|
346959
346967
|
const ok = m.deleteTrigger(key);
|
|
346968
|
+
if (ok) {
|
|
346969
|
+
try {
|
|
346970
|
+
engine?.remove?.(key);
|
|
346971
|
+
} catch {
|
|
346972
|
+
}
|
|
346973
|
+
}
|
|
346960
346974
|
const msg2 = ok ? `Deleted trigger "${key}".` : `No trigger "${key}".`;
|
|
346961
346975
|
emit8(context2, "manage_trigger", args, msg2);
|
|
346962
346976
|
return msg2;
|
|
@@ -346969,6 +346983,13 @@ ${body}`;
|
|
|
346969
346983
|
return msg3;
|
|
346970
346984
|
}
|
|
346971
346985
|
const ok = m.setTriggerEnabled(key, action === "enable");
|
|
346986
|
+
if (ok) {
|
|
346987
|
+
try {
|
|
346988
|
+
const t = m.listTriggers().find((x) => x.id === key || x.name === key);
|
|
346989
|
+
if (t) engine?.upsert?.({ ...t, enabled: action === "enable" });
|
|
346990
|
+
} catch {
|
|
346991
|
+
}
|
|
346992
|
+
}
|
|
346972
346993
|
const msg2 = ok ? `Trigger "${key}" ${action}d.` : `No trigger "${key}".`;
|
|
346973
346994
|
emit8(context2, "manage_trigger", args, msg2);
|
|
346974
346995
|
return msg2;
|
|
@@ -347146,13 +347167,23 @@ async function manageRecording(args, context2) {
|
|
|
347146
347167
|
if (!args.terminalId) {
|
|
347147
347168
|
out = "start requires terminalId.";
|
|
347148
347169
|
} else {
|
|
347149
|
-
|
|
347170
|
+
const ts = context2.terminalService;
|
|
347171
|
+
const id = ts && typeof ts.startRecording === "function" ? ts.startRecording(args.terminalId, { title: args.title }) : r.start(args.terminalId, { title: args.title });
|
|
347172
|
+
out = `Recording started: ${id}`;
|
|
347150
347173
|
}
|
|
347151
347174
|
} else if (args.action === "stop") {
|
|
347152
347175
|
if (!args.recordingId) {
|
|
347153
347176
|
out = "stop requires recordingId.";
|
|
347154
347177
|
} else {
|
|
347155
347178
|
const rec = r.stop(args.recordingId);
|
|
347179
|
+
try {
|
|
347180
|
+
const ts = context2.terminalService;
|
|
347181
|
+
const termId = rec.terminalId ?? args.terminalId;
|
|
347182
|
+
if (termId && ts?.activeRecordings instanceof Map) {
|
|
347183
|
+
if (ts.activeRecordings.get(termId) === args.recordingId) ts.activeRecordings.delete(termId);
|
|
347184
|
+
}
|
|
347185
|
+
} catch {
|
|
347186
|
+
}
|
|
347156
347187
|
out = `Recording ${args.recordingId} stopped (${rec.events.length} events).`;
|
|
347157
347188
|
}
|
|
347158
347189
|
} else if (args.action === "replay") {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "rterm-backend",
|
|
3
|
-
"version": "2.9.
|
|
4
|
-
"description": "rterm-backend \u2014 the headless AI-native backend for RTerm (dual-published as neuralOS). run RTerm-as-a-service (AI agent, SSH/WinRM/Serial/local terminals, fleet orchestration, advanced automation, SRE observability, Netdata, AWS APerf, plugin system, governance/audit, Prometheus/OTel metrics export, secrets vault, on-call paging, AI cost budgets, GitOps, cloud inventory, APM/DEM/Infra/ETW ingestion, AgentSpan
|
|
3
|
+
"version": "2.9.12",
|
|
4
|
+
"description": "rterm-backend \u2014 the headless AI-native backend for RTerm (dual-published as neuralOS). run RTerm-as-a-service (AI agent, SSH/WinRM/Serial/local terminals, fleet orchestration, advanced automation, SRE observability, Netdata, AWS APerf, plugin system, governance/audit, Prometheus/OTel metrics export, secrets vault, on-call paging, AI cost budgets, GitOps, cloud inventory, APM/DEM/Infra/ETW ingestion, AgentSpan durable-agent bridge). The RTerm desktop app stays RTerm; neuralOS is the standalone backend daemon. Dual-published as rterm-backend. v2.9.12: agent-created triggers fire immediately (live TriggerEngine sync).",
|
|
5
5
|
"main": "bin/gybackend.cjs",
|
|
6
6
|
"bin": {
|
|
7
7
|
"gybackend": "bin/gybackend.cjs",
|
|
@@ -66,8 +66,6 @@
|
|
|
66
66
|
"etw",
|
|
67
67
|
"agentspan",
|
|
68
68
|
"conductor",
|
|
69
|
-
"durable-agents",
|
|
70
|
-
"playbooks",
|
|
71
69
|
"monitoring"
|
|
72
70
|
]
|
|
73
71
|
}
|