@rynx-ai/daemon 0.1.10 → 0.1.11-beta.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/bundled-plugins/.rynx-plugin/marketplace.json +10 -0
- package/bundled-plugins/plugins/lark/.rynx-plugin/plugin.json +25 -0
- package/bundled-plugins/plugins/lark/dist/cli-mirror/mirror-index.d.ts +48 -0
- package/bundled-plugins/plugins/lark/dist/cli-mirror/mirror-index.js +56 -0
- package/bundled-plugins/plugins/lark/dist/cli-mirror/rollout-mirror.d.ts +85 -0
- package/bundled-plugins/plugins/lark/dist/cli-mirror/rollout-mirror.js +333 -0
- package/bundled-plugins/plugins/lark/dist/cli-mirror/rollout-watcher.d.ts +109 -0
- package/bundled-plugins/plugins/lark/dist/cli-mirror/rollout-watcher.js +347 -0
- package/bundled-plugins/plugins/lark/dist/host-adapters.d.ts +95 -0
- package/bundled-plugins/plugins/lark/dist/host-adapters.js +506 -0
- package/bundled-plugins/plugins/lark/dist/index.d.ts +7 -0
- package/bundled-plugins/plugins/lark/dist/index.js +7 -0
- package/bundled-plugins/plugins/lark/dist/lark-card-stream.d.ts +363 -0
- package/bundled-plugins/plugins/lark/dist/lark-card-stream.js +1335 -0
- package/bundled-plugins/plugins/lark/dist/lark-config-store.d.ts +30 -0
- package/bundled-plugins/plugins/lark/dist/lark-config-store.js +135 -0
- package/bundled-plugins/plugins/lark/dist/lark-content.d.ts +30 -0
- package/bundled-plugins/plugins/lark/dist/lark-content.js +138 -0
- package/bundled-plugins/plugins/lark/dist/lark-conversation-directory.d.ts +65 -0
- package/bundled-plugins/plugins/lark/dist/lark-conversation-directory.js +106 -0
- package/bundled-plugins/plugins/lark/dist/lark-diff-card.d.ts +25 -0
- package/bundled-plugins/plugins/lark/dist/lark-diff-card.js +58 -0
- package/bundled-plugins/plugins/lark/dist/lark-fork-transcript.d.ts +16 -0
- package/bundled-plugins/plugins/lark/dist/lark-fork-transcript.js +141 -0
- package/bundled-plugins/plugins/lark/dist/lark-resume-card.d.ts +31 -0
- package/bundled-plugins/plugins/lark/dist/lark-resume-card.js +105 -0
- package/bundled-plugins/plugins/lark/dist/lark-runtime-state-store.d.ts +18 -0
- package/bundled-plugins/plugins/lark/dist/lark-runtime-state-store.js +95 -0
- package/bundled-plugins/plugins/lark/dist/lark-sdk/client.d.ts +8 -0
- package/bundled-plugins/plugins/lark/dist/lark-sdk/client.js +32 -0
- package/bundled-plugins/plugins/lark/dist/lark-sdk/index.d.ts +1 -0
- package/bundled-plugins/plugins/lark/dist/lark-sdk/index.js +1 -0
- package/bundled-plugins/plugins/lark/dist/lark-sender.d.ts +114 -0
- package/bundled-plugins/plugins/lark/dist/lark-sender.js +323 -0
- package/bundled-plugins/plugins/lark/dist/lark-session-store.d.ts +13 -0
- package/bundled-plugins/plugins/lark/dist/lark-session-store.js +14 -0
- package/bundled-plugins/plugins/lark/dist/lark-settings-card.d.ts +55 -0
- package/bundled-plugins/plugins/lark/dist/lark-settings-card.js +158 -0
- package/bundled-plugins/plugins/lark/dist/lark-setup.d.ts +39 -0
- package/bundled-plugins/plugins/lark/dist/lark-setup.js +103 -0
- package/bundled-plugins/plugins/lark/dist/lark.d.ts +507 -0
- package/bundled-plugins/plugins/lark/dist/lark.js +1975 -0
- package/bundled-plugins/plugins/lark/dist/runtime.d.ts +13 -0
- package/bundled-plugins/plugins/lark/dist/runtime.js +131328 -0
- package/bundled-plugins/plugins/lark/dist/settings.d.ts +7 -0
- package/bundled-plugins/plugins/lark/dist/settings.js +126971 -0
- package/bundled-plugins/plugins/lark/package.json +57 -0
- package/bundled-plugins/plugins/lark/ui/assets/index-CGUVAMsv.css +1 -0
- package/bundled-plugins/plugins/lark/ui/assets/index-D8Amoe6a.js +201 -0
- package/bundled-plugins/plugins/lark/ui/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
- package/bundled-plugins/plugins/lark/ui/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
- package/bundled-plugins/plugins/lark/ui/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
- package/bundled-plugins/plugins/lark/ui/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
- package/bundled-plugins/plugins/lark/ui/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
- package/bundled-plugins/plugins/lark/ui/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
- package/bundled-plugins/plugins/lark/ui/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
- package/bundled-plugins/plugins/lark/ui/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2 +0 -0
- package/bundled-plugins/plugins/lark/ui/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2 +0 -0
- package/bundled-plugins/plugins/lark/ui/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2 +0 -0
- package/bundled-plugins/plugins/lark/ui/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2 +0 -0
- package/bundled-plugins/plugins/lark/ui/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2 +0 -0
- package/bundled-plugins/plugins/lark/ui/index.html +13 -0
- package/dist/agent-file.js +0 -1
- package/dist/browser-artifact-management.d.ts +4 -1
- package/dist/browser-artifact-management.js +18 -10
- package/dist/browser-artifacts.d.ts +1 -0
- package/dist/browser-artifacts.js +1 -0
- package/dist/bundled-plugins.d.ts +15 -0
- package/dist/bundled-plugins.js +134 -0
- package/dist/chrome-for-testing-runtime.d.ts +27 -0
- package/dist/chrome-for-testing-runtime.js +193 -0
- package/dist/chrome-for-testing-store.d.ts +2 -0
- package/dist/chrome-for-testing-store.js +9 -0
- package/dist/control-deps.d.ts +6 -2
- package/dist/control-deps.js +88 -82
- package/dist/daemon-server.d.ts +7 -1
- package/dist/daemon-server.js +310 -87
- package/dist/db.js +181 -124
- package/dist/entry-path.d.ts +3 -0
- package/dist/entry-path.js +12 -0
- package/dist/index-daemon.js +3 -66
- package/dist/lifecycle.d.ts +12 -0
- package/dist/lifecycle.js +16 -0
- package/dist/maintenance-lease.d.ts +39 -0
- package/dist/maintenance-lease.js +250 -0
- package/dist/migrations/cleanup-legacy-sessions.d.ts +1 -1
- package/dist/migrations/cleanup-legacy-sessions.js +33 -15
- package/dist/official-plugins.d.ts +2 -0
- package/dist/official-plugins.js +2 -0
- package/dist/plugin-cli.d.ts +1 -3
- package/dist/plugin-cli.js +56 -45
- package/dist/plugin-host-leases.d.ts +4 -0
- package/dist/plugin-host-leases.js +7 -0
- package/dist/plugin-host-rpc.d.ts +73 -6
- package/dist/plugin-host-rpc.js +354 -81
- package/dist/plugin-installer.d.ts +24 -55
- package/dist/plugin-installer.js +258 -412
- package/dist/plugin-management-service.d.ts +30 -23
- package/dist/plugin-management-service.js +288 -105
- package/dist/plugin-marketplace.d.ts +35 -0
- package/dist/plugin-marketplace.js +299 -0
- package/dist/plugin-package.d.ts +22 -24
- package/dist/plugin-package.js +520 -571
- package/dist/plugin-skill-context.d.ts +4 -0
- package/dist/plugin-skill-context.js +35 -0
- package/dist/plugin-store.d.ts +36 -37
- package/dist/plugin-store.js +138 -92
- package/dist/plugin-supervisor.d.ts +50 -125
- package/dist/plugin-supervisor.js +678 -1030
- package/dist/pm2.d.ts +11 -2
- package/dist/pm2.js +130 -28
- package/dist/process.d.ts +12 -0
- package/dist/process.js +91 -0
- package/dist/runtime-project-store.d.ts +9 -0
- package/dist/runtime-project-store.js +83 -0
- package/dist/session-fallback-workspace.d.ts +22 -0
- package/dist/session-fallback-workspace.js +120 -0
- package/dist/session-fork-store.d.ts +41 -0
- package/dist/session-fork-store.js +288 -0
- package/dist/session-launch-operations.d.ts +23 -2
- package/dist/session-launch-operations.js +48 -7
- package/dist/session-meta-store.d.ts +12 -9
- package/dist/session-meta-store.js +50 -49
- package/dist/session-portal-grant-store.d.ts +29 -0
- package/dist/session-portal-grant-store.js +84 -0
- package/dist/setup-service.d.ts +21 -0
- package/dist/setup-service.js +39 -0
- package/dist/skills-catalog.d.ts +11 -2
- package/dist/skills-catalog.js +307 -7
- package/dist/system-dependencies.d.ts +26 -0
- package/dist/system-dependencies.js +149 -0
- package/package.json +36 -20
- package/dist/browser-cli-args.d.ts +0 -20
- package/dist/browser-cli-args.js +0 -100
- package/dist/channel-store.d.ts +0 -22
- package/dist/channel-store.js +0 -65
- package/dist/cli.d.ts +0 -2
- package/dist/cli.js +0 -732
- package/dist/control-client.d.ts +0 -122
- package/dist/control-client.js +0 -855
- package/dist/control-endpoint.d.ts +0 -14
- package/dist/control-endpoint.js +0 -124
- package/dist/desktop-browser-host-client.d.ts +0 -35
- package/dist/desktop-browser-host-client.js +0 -415
- package/dist/instance-store.d.ts +0 -38
- package/dist/instance-store.js +0 -85
- package/dist/plugin-install-restart.d.ts +0 -13
- package/dist/plugin-install-restart.js +0 -24
- package/dist/plugin-runtime-control.d.ts +0 -2
- package/dist/plugin-runtime-control.js +0 -37
- package/dist/registry.d.ts +0 -10
- package/dist/registry.js +0 -52
- package/dist/setup.d.ts +0 -20
- package/dist/setup.js +0 -374
- package/dist/update.d.ts +0 -25
- package/dist/update.js +0 -133
package/dist/control-deps.js
CHANGED
|
@@ -1,107 +1,78 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Assemble the daemon-side {@link ControlPlaneDeps} the server needs to serve
|
|
3
|
-
* the control console:
|
|
4
|
-
*
|
|
5
|
-
* managed via the CLI, not here. Keeps `~/.rynx` knowledge in the daemon (the
|
|
3
|
+
* the control console: file-backed agent specs, skills, sessions, and a log
|
|
4
|
+
* tail. Plugin-private configuration is served by each plugin. Keeps `~/.rynx` knowledge in the daemon (the
|
|
6
5
|
* composition root); the server stays storage-agnostic.
|
|
7
6
|
*/
|
|
8
7
|
import { readFile } from "node:fs/promises";
|
|
9
8
|
import { join } from "node:path";
|
|
10
|
-
import { listAgentSpecs, loadAgentSpec, rynxHome } from "@rynx-ai/core";
|
|
9
|
+
import { listAgentSpecs, loadAgentSpec, rynxHome, scanLocalRuntimesInWorker, } from "@rynx-ai/core";
|
|
10
|
+
import { listRuntimeModels } from "@rynx-ai/server";
|
|
11
11
|
import { createEmulatorControlDeps } from "@rynx-ai/emulator";
|
|
12
|
-
import { normalizePluginConfig } from "@rynx-ai/plugin-sdk";
|
|
13
12
|
import { removeAgentSpec, writeAgentSpec } from "./agent-file.js";
|
|
14
|
-
import { getCatalogSkill, installCatalogSkill, listCatalogSkills, readCatalogSkillFile, removeCatalogSkill, } from "./skills-catalog.js";
|
|
15
|
-
import { createChannel, getChannel, listChannels, removeChannel, renameChannel, setChannelOptions, } from "./channel-store.js";
|
|
16
|
-
import { createInstance, listInstances, removeInstance, setInstanceAgent, setInstanceEnabled, } from "./instance-store.js";
|
|
17
|
-
import { getChannelType, listChannelTypes } from "./registry.js";
|
|
13
|
+
import { getCatalogSkill, importLocalCatalogSkills, importCatalogSkillsFromArchive, installCatalogSkill, listCatalogSkills, readCatalogSkillFile, removeCatalogSkill, scanLocalCatalogSkillCandidates, } from "./skills-catalog.js";
|
|
18
14
|
import { createSessionMeta, getSessionMeta, listSessionMetas, removeSessionMeta, setSessionTitle, } from "./session-meta-store.js";
|
|
19
15
|
import { consumeControlLink } from "./control-link-store.js";
|
|
20
|
-
|
|
16
|
+
const RUNTIME_OPTIONS_CACHE_MS = 30_000;
|
|
17
|
+
export function buildControlDeps(config) {
|
|
18
|
+
let runtimeOptionsCache;
|
|
19
|
+
let runtimeOptionsInFlight;
|
|
20
|
+
const listAgentRuntimeOptions = async (options = {}) => {
|
|
21
|
+
const now = Date.now();
|
|
22
|
+
if (!options.refresh && runtimeOptionsCache && runtimeOptionsCache.expiresAt > now) {
|
|
23
|
+
return runtimeOptionsCache.value;
|
|
24
|
+
}
|
|
25
|
+
if (!options.refresh && runtimeOptionsInFlight)
|
|
26
|
+
return runtimeOptionsInFlight;
|
|
27
|
+
const scan = async () => {
|
|
28
|
+
const runtimes = await scanLocalRuntimesInWorker();
|
|
29
|
+
const value = await Promise.all(runtimes.map(async (runtime) => {
|
|
30
|
+
return {
|
|
31
|
+
id: runtime.id,
|
|
32
|
+
name: runtime.displayName,
|
|
33
|
+
binary: runtime.binary,
|
|
34
|
+
...(runtime.executablePath ? { executablePath: runtime.executablePath } : {}),
|
|
35
|
+
...(runtime.version ? { version: runtime.version } : {}),
|
|
36
|
+
available: runtime.available,
|
|
37
|
+
models: await listControlAgentModels(config, runtime.id),
|
|
38
|
+
};
|
|
39
|
+
}));
|
|
40
|
+
runtimeOptionsCache = { expiresAt: Date.now() + RUNTIME_OPTIONS_CACHE_MS, value };
|
|
41
|
+
return value;
|
|
42
|
+
};
|
|
43
|
+
runtimeOptionsInFlight = scan();
|
|
44
|
+
try {
|
|
45
|
+
return await runtimeOptionsInFlight;
|
|
46
|
+
}
|
|
47
|
+
finally {
|
|
48
|
+
runtimeOptionsInFlight = undefined;
|
|
49
|
+
}
|
|
50
|
+
};
|
|
21
51
|
return {
|
|
22
|
-
// ── channel types (from loaded plugins) ──────────────────────────────
|
|
23
|
-
listChannelTypes: () => listChannelTypes().map((descriptor) => ({
|
|
24
|
-
type: descriptor.type,
|
|
25
|
-
configSchema: descriptor.configSchema,
|
|
26
|
-
authorize: Boolean(descriptor.authorize),
|
|
27
|
-
})),
|
|
28
|
-
// ── channels (config + credentials) ──────────────────────────────────
|
|
29
|
-
listChannels: () => listChannels(),
|
|
30
|
-
createChannel: (input) => {
|
|
31
|
-
if (!getChannelType(input.type))
|
|
32
|
-
throw new Error(`unknown chat channel type: ${input.type}`);
|
|
33
|
-
return {
|
|
34
|
-
id: createChannel({
|
|
35
|
-
...input,
|
|
36
|
-
...(input.options !== undefined
|
|
37
|
-
? { options: normalizeChannelOptions(input.type, input.options) }
|
|
38
|
-
: {}),
|
|
39
|
-
}).id,
|
|
40
|
-
};
|
|
41
|
-
},
|
|
42
|
-
setChannel: (id, patch) => {
|
|
43
|
-
let normalizedOptions;
|
|
44
|
-
if (patch.options !== undefined) {
|
|
45
|
-
const current = getChannel(id);
|
|
46
|
-
if (!current)
|
|
47
|
-
throw new Error(`channel not found: ${id}`);
|
|
48
|
-
normalizedOptions = normalizeChannelOptions(current.type, {
|
|
49
|
-
...(current.options ?? {}),
|
|
50
|
-
...patch.options,
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
if (patch.name !== undefined)
|
|
54
|
-
renameChannel(id, patch.name);
|
|
55
|
-
if (normalizedOptions !== undefined)
|
|
56
|
-
setChannelOptions(id, normalizedOptions);
|
|
57
|
-
},
|
|
58
|
-
removeChannel: (id) => {
|
|
59
|
-
removeChannel(id);
|
|
60
|
-
},
|
|
61
|
-
authorizeChannel: (type, context, emit, signal) => {
|
|
62
|
-
const descriptor = getChannelType(type);
|
|
63
|
-
if (!descriptor?.authorize) {
|
|
64
|
-
throw new Error(`channel type "${type}" has no authorize flow`);
|
|
65
|
-
}
|
|
66
|
-
return descriptor.authorize(emit, signal, context);
|
|
67
|
-
},
|
|
68
|
-
// ── instances (channel + agent binding) ──────────────────────────────
|
|
69
|
-
listInstancesConfig: () => listInstances().map((i) => ({
|
|
70
|
-
id: i.id,
|
|
71
|
-
channelId: i.channelId,
|
|
72
|
-
channelName: i.channelName,
|
|
73
|
-
type: i.type,
|
|
74
|
-
agent: i.agent,
|
|
75
|
-
enabled: i.enabled,
|
|
76
|
-
})),
|
|
77
|
-
createInstance: (input) => ({ id: createInstance(input).id }),
|
|
78
|
-
setInstance: (id, patch) => {
|
|
79
|
-
if (patch.agent !== undefined)
|
|
80
|
-
setInstanceAgent(id, patch.agent);
|
|
81
|
-
if (patch.enabled !== undefined)
|
|
82
|
-
setInstanceEnabled(id, patch.enabled);
|
|
83
|
-
},
|
|
84
|
-
removeInstance: (id) => {
|
|
85
|
-
removeInstance(id);
|
|
86
|
-
},
|
|
87
52
|
// ── declarative agents ───────────────────────────────────────────────
|
|
88
53
|
listAgents: async () => (await listAgentSpecs()).map((spec) => ({
|
|
89
54
|
id: spec.id,
|
|
90
55
|
name: spec.name,
|
|
56
|
+
description: spec.description,
|
|
91
57
|
runtime: spec.executor?.runtime,
|
|
92
|
-
model: spec.executor
|
|
58
|
+
...(spec.executor?.model ? { model: spec.executor.model } : {}),
|
|
59
|
+
skillCount: spec.skills?.length ?? 0,
|
|
93
60
|
})),
|
|
94
61
|
getAgent: (id) => loadAgentSpec(id),
|
|
95
62
|
writeAgent: (id, spec) => {
|
|
96
63
|
writeAgentSpec(id, spec);
|
|
97
64
|
},
|
|
98
65
|
removeAgent: (id) => removeAgentSpec(id),
|
|
66
|
+
listAgentRuntimeOptions,
|
|
99
67
|
// ── skills catalog ───────────────────────────────────────────────────
|
|
100
68
|
listSkills: () => listCatalogSkills(),
|
|
101
69
|
getSkill: (name) => getCatalogSkill(name),
|
|
102
70
|
readSkillFile: (name, file) => readCatalogSkillFile(name, file),
|
|
103
71
|
installSkill: (recipe) => installCatalogSkill(recipe),
|
|
104
72
|
removeSkill: (name) => removeCatalogSkill(name),
|
|
73
|
+
scanLocalSkills: (runtime) => scanLocalCatalogSkillCandidates(runtime),
|
|
74
|
+
importLocalSkills: (runtime, keys) => importLocalCatalogSkills(runtime, keys),
|
|
75
|
+
importSkillArchive: (filename, contentBase64) => importCatalogSkillsFromArchive(filename, contentBase64),
|
|
105
76
|
// ── emulator proxy (single seam: the emulator package owns the surface) ─
|
|
106
77
|
emulator: createEmulatorControlDeps(),
|
|
107
78
|
// ── control-plane sessions (meta persisted; status held by the server) ─
|
|
@@ -114,12 +85,47 @@ export function buildControlDeps() {
|
|
|
114
85
|
tailLogs: (instanceId, lines) => tailLogs(instanceId, lines),
|
|
115
86
|
};
|
|
116
87
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
88
|
+
/** Project a Runtime-native model catalog into the control-plane option shape. */
|
|
89
|
+
export async function listControlAgentModels(config, runtime) {
|
|
90
|
+
const catalog = await listRuntimeModels(config, runtime);
|
|
91
|
+
return (catalog?.data ?? [])
|
|
92
|
+
.filter((model) => model.hidden !== true)
|
|
93
|
+
.map((model) => ({
|
|
94
|
+
id: model.model || model.id,
|
|
95
|
+
label: model.displayName || model.model || model.id,
|
|
96
|
+
...(model.description ? { description: model.description } : {}),
|
|
97
|
+
...(model.isDefault ? { isDefault: true } : {}),
|
|
98
|
+
...(model.defaultReasoningEffort
|
|
99
|
+
? { defaultReasoningEffort: model.defaultReasoningEffort }
|
|
100
|
+
: {}),
|
|
101
|
+
reasoningOptions: model.supportedReasoningEfforts?.length
|
|
102
|
+
? model.supportedReasoningEfforts.map((effort) => ({
|
|
103
|
+
value: effort.reasoningEffort,
|
|
104
|
+
label: reasoningLabel(effort.reasoningEffort),
|
|
105
|
+
...(effort.description ? { description: effort.description } : {}),
|
|
106
|
+
}))
|
|
107
|
+
: fallbackReasoningOptions(runtime, model.model || model.id),
|
|
108
|
+
}));
|
|
109
|
+
}
|
|
110
|
+
function fallbackReasoningOptions(runtime, model) {
|
|
111
|
+
const values = runtime === "claude"
|
|
112
|
+
? model.toLowerCase().includes("opus")
|
|
113
|
+
? ["low", "medium", "high", "xhigh"]
|
|
114
|
+
: ["low", "medium", "high"]
|
|
115
|
+
: ["none", "minimal", "low", "medium", "high", "xhigh"];
|
|
116
|
+
return values.map((value) => ({ value, label: reasoningLabel(value) }));
|
|
117
|
+
}
|
|
118
|
+
function reasoningLabel(value) {
|
|
119
|
+
return {
|
|
120
|
+
none: "None",
|
|
121
|
+
minimal: "Minimal",
|
|
122
|
+
low: "Low",
|
|
123
|
+
medium: "Medium",
|
|
124
|
+
high: "High",
|
|
125
|
+
xhigh: "Extra high",
|
|
126
|
+
max: "Max",
|
|
127
|
+
ultra: "Ultra",
|
|
128
|
+
}[value] ?? value;
|
|
123
129
|
}
|
|
124
130
|
/** Tail the daemon's merged pm2 logs, best-effort filtered by instance id. */
|
|
125
131
|
async function tailLogs(instanceId, lines) {
|
package/dist/daemon-server.d.ts
CHANGED
|
@@ -9,10 +9,16 @@ export declare function daemonActivityBlocksShutdown(activity: DaemonActivitySna
|
|
|
9
9
|
export interface StartRynxDaemonServerOptions {
|
|
10
10
|
config?: AppConfig;
|
|
11
11
|
warn?: (message: string) => void;
|
|
12
|
+
/** Process-owner callback after every daemon resource and owner lease has
|
|
13
|
+
* shut down successfully. Library callers normally leave this unset. */
|
|
14
|
+
onShutdownComplete?: () => void;
|
|
12
15
|
/** Test/deployment seam; failures roll back the already-listening server. */
|
|
13
16
|
writeEndpoint?: (config: AppConfig, managementToken: string) => Promise<void>;
|
|
14
17
|
/** Test seam for owner-lock failure injection. Production always uses the RYNX_HOME lease. */
|
|
15
18
|
acquireOwner?: () => Promise<DaemonOwnerLease>;
|
|
19
|
+
/** Runs after the exclusive daemon-owner lock is acquired and before plugin
|
|
20
|
+
* records are loaded or runners are started. */
|
|
21
|
+
preparePlugins?: () => Promise<void>;
|
|
16
22
|
/** Test/deployment seam for the always-available Direct Runtime socket. */
|
|
17
23
|
loadDirectConfig?: () => Promise<DirectRuntimeConfig>;
|
|
18
24
|
/** Test seam for listener lifecycle and bind failures. */
|
|
@@ -22,7 +28,7 @@ export interface StartRynxDaemonServerOptions {
|
|
|
22
28
|
/** Test seam for the App-only embedded Chromium process supervisor. */
|
|
23
29
|
createBrowserHostSupervisor?: (options: AppBrowserHostSupervisorOptions) => Pick<AppBrowserHostSupervisor, "ensureConnected" | "restart" | "stop">;
|
|
24
30
|
}
|
|
25
|
-
export declare function startRynxDaemonServer({ config, warn, writeEndpoint, acquireOwner, loadDirectConfig, startDirectServer, createChromeInspectionManager, createBrowserHostSupervisor, }?: StartRynxDaemonServerOptions): Promise<Awaited<ReturnType<typeof startServer>>>;
|
|
31
|
+
export declare function startRynxDaemonServer({ config, warn, onShutdownComplete, writeEndpoint, acquireOwner, preparePlugins, loadDirectConfig, startDirectServer, createChromeInspectionManager, createBrowserHostSupervisor, }?: StartRynxDaemonServerOptions): Promise<Awaited<ReturnType<typeof startServer>>>;
|
|
26
32
|
export declare function createSupervisedAppSessionBrowserHost(desktop: SessionBrowserHost, supervisor: Pick<AppBrowserHostSupervisor, "ensureConnected" | "restart">): SessionBrowserHost;
|
|
27
33
|
/**
|
|
28
34
|
* Resolve the authenticated semantic target inside its owning Runtime and
|