@jsbot-tellus/core 2.9.0 → 2.9.1

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.
@@ -106,6 +106,7 @@ export interface WebUiDepsOptions {
106
106
  events: EventFeed;
107
107
  store: ConfigStore;
108
108
  getCurrentConfig: () => AppConfig;
109
+ getPlugins: () => AnyPluginDefinition[];
109
110
  getRuntime: () => Runtime | null;
110
111
  getGeneration: () => number;
111
112
  restart: () => Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/app/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../../src/app/runtime.ts"],"names":[],"mappings":"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"}
@@ -256,6 +256,7 @@ export function createWebUiDeps(options) {
256
256
  logs: options.logs,
257
257
  events: options.events,
258
258
  getWebUiConfig: () => options.getCurrentConfig().webui,
259
+ getPlugins: () => options.getPlugins(),
259
260
  readConfig: () => options.store.read(),
260
261
  validateConfig: (value) => options.store.validate(value),
261
262
  applyConfig: (value, baseHash) => options.store.apply(value, baseHash),
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/app/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","sourceRoot":"","sources":["../../src/app/runtime.ts"],"names":[],"mappings":"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"}
package/dist/app.js CHANGED
@@ -23,6 +23,9 @@ async function main() {
23
23
  // Config file errors remain fatal: there is nothing the WebUI can restore
24
24
  // from when the config cannot even be parsed.
25
25
  const initialSpec = await loadRuntimeSpec(settings);
26
+ // Keep the last successfully loaded definitions even when the kernel fails
27
+ // to start, so the WebUI can still render and validate plugin configs.
28
+ let latestSpec = initialSpec;
26
29
  let runtime = null;
27
30
  let currentConfig = initialSpec.config;
28
31
  let generation = 0;
@@ -55,6 +58,7 @@ async function main() {
55
58
  if (shuttingDown)
56
59
  return false;
57
60
  const spec = await loadRuntimeSpec(settings);
61
+ latestSpec = spec;
58
62
  currentConfig = spec.config;
59
63
  const next = createRuntime(spec, settings, requestRestart, tapEvents);
60
64
  runtime = next;
@@ -95,7 +99,7 @@ async function main() {
95
99
  const requestRestart = restartRequester.request;
96
100
  const store = new ConfigStore({
97
101
  configPath,
98
- getPlugins: () => runtime?.spec.plugins ?? [],
102
+ getPlugins: () => latestSpec.plugins,
99
103
  restart: () => restartRuntime(),
100
104
  });
101
105
  const runExclusive = createExclusiveRunner();
@@ -110,6 +114,7 @@ async function main() {
110
114
  events,
111
115
  store,
112
116
  getCurrentConfig: () => currentConfig,
117
+ getPlugins: () => latestSpec.plugins,
113
118
  getRuntime: () => runtime,
114
119
  getGeneration: () => generation,
115
120
  restart: () => restartRuntime(),
package/dist/app.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../../../src/core/web/config-store.ts"],"names":[],"mappings":"AAEA,OAAO,EAGH,KAAK,SAAS,EAEjB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,KAAK,EACR,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACzB,MAAM,YAAY,CAAA;AAEnB,qBAAa,gBAAiB,SAAQ,KAAK;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAA;IAExC,YACI,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,qBAAqB,EAAO,EAMvC;CACJ;AAED,MAAM,WAAW,kBAAkB;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,IAAI,mBAAmB,EAAE,CAAA;IACnC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9B;AAUD,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAiC3E;AAED,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,cAAc,EAAE,OAAO,CAAA;IACvB,gBAAgB,EAAE,OAAO,CAAA;CAC5B;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,YAAY,CAkB1D;AA4FD,qBAAa,WAAW;IAGR,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,IAAI,CAAsC;IAElD,YAA6B,OAAO,EAAE,kBAAkB,EAAI;IAEtD,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,CAwCpC;IAEK,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAiB9D;IAED,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAwDnE;IAED,OAAO,CAAC,SAAS;CAUpB"}
1
+ {"version":3,"file":"config-store.d.ts","sourceRoot":"","sources":["../../../src/core/web/config-store.ts"],"names":[],"mappings":"AAEA,OAAO,EAGH,KAAK,SAAS,EAEjB,MAAM,qBAAqB,CAAA;AAE5B,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,KAAK,EACR,iBAAiB,EACjB,cAAc,EACd,qBAAqB,EACrB,sBAAsB,EACzB,MAAM,YAAY,CAAA;AAEnB,qBAAa,gBAAiB,SAAQ,KAAK;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,MAAM,EAAE,qBAAqB,EAAE,CAAA;IAExC,YACI,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,MAAM,GAAE,qBAAqB,EAAO,EAMvC;CACJ;AAED,MAAM,WAAW,kBAAkB;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,UAAU,IAAI,mBAAmB,EAAE,CAAA;IACnC,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;CAC9B;AAUD,wBAAgB,YAAY,CAAC,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,GAAG,OAAO,CAiC3E;AAED,MAAM,WAAW,YAAY;IACzB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,cAAc,EAAE,OAAO,CAAA;IACvB,gBAAgB,EAAE,OAAO,CAAA;CAC5B;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,SAAS,GAAG,YAAY,CAkB1D;AA6FD,qBAAa,WAAW;IAGR,OAAO,CAAC,QAAQ,CAAC,OAAO;IAFpC,OAAO,CAAC,IAAI,CAAsC;IAElD,YAA6B,OAAO,EAAE,kBAAkB,EAAI;IAEtD,IAAI,IAAI,OAAO,CAAC,cAAc,CAAC,CAwCpC;IAEK,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAsB9D;IAED,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAwDnE;IAED,OAAO,CAAC,SAAS;CAUpB"}
@@ -78,21 +78,24 @@ function issuesFrom(zodIssues) {
78
78
  function validatePlugins(config, definitions) {
79
79
  const issues = [];
80
80
  const byId = new Map(definitions.map((definition) => [definition.manifest.id, definition]));
81
- for (const [id, envelope] of Object.entries(config.plugins)) {
82
- const definition = byId.get(id);
83
- if (!definition) {
81
+ for (const id of Object.keys(config.plugins)) {
82
+ if (!byId.has(id)) {
84
83
  issues.push({
85
84
  path: `plugins.${id}`,
86
85
  message: `unknown plugin id: ${id}`,
87
86
  });
88
- continue;
89
87
  }
90
- const enabled = envelope.enabled ??
91
- definition.manifest.defaultEnabled ??
92
- false;
88
+ }
89
+ // Validate every enabled plugin, not only the ones already present in the
90
+ // config file. A newly installed plugin has no envelope yet; validating it
91
+ // here surfaces missing required options before the runtime is restarted.
92
+ for (const definition of definitions) {
93
+ const id = definition.manifest.id;
94
+ const envelope = config.plugins[id];
95
+ const enabled = envelope?.enabled ?? definition.manifest.defaultEnabled ?? false;
93
96
  if (!enabled)
94
97
  continue;
95
- const result = definition.manifest.configSchema.safeParse(stripPluginEnvelope(envelope));
98
+ const result = definition.manifest.configSchema.safeParse(stripPluginEnvelope(envelope ?? {}));
96
99
  if (!result.success) {
97
100
  issues.push(...issuesFrom(result.error.issues).map((issue) => ({
98
101
  path: `plugins.${id}${issue.path.length > 0 ? `.${issue.path}` : ''}`,
@@ -170,9 +173,10 @@ export class ConfigStore {
170
173
  issues: issuesFrom(parsed.error.issues),
171
174
  };
172
175
  }
176
+ const pluginIssues = validatePlugins(parsed.data, this.options.getPlugins());
173
177
  return {
174
- ok: true,
175
- issues: validatePlugins(parsed.data, this.options.getPlugins()),
178
+ ok: pluginIssues.length === 0,
179
+ issues: pluginIssues,
176
180
  config: parsed.data,
177
181
  };
178
182
  }
@@ -1 +1 @@
1
- {"version":3,"file":"config-store.js","sourceRoot":"","sources":["../../../src/core/web/config-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-store.js","sourceRoot":"","sources":["../../../src/core/web/config-store.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../../src/core/web/routes/plugins.ts"],"names":[],"mappings":"AAKA,OAAO,EAA4B,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;AAqCvE,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAyCtE;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAwF1E;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA4C1E"}
1
+ {"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../../../src/core/web/routes/plugins.ts"],"names":[],"mappings":"AAKA,OAAO,EAA4B,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;AAqCvE,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAqDtE;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAuF1E;AAED,wBAAsB,qBAAqB,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA4C1E"}
@@ -28,36 +28,46 @@ function pluginJsonSchema(definition) {
28
28
  return result;
29
29
  }
30
30
  export async function handlePluginsList(ctx) {
31
- const runtime = requireRuntime(ctx.deps);
32
- const statuses = new Map(runtime.kernel.listPlugins().map((entry) => [entry.id, entry]));
33
- const plugins = runtime.plugins.map((definition) => {
31
+ const runtime = ctx.deps.getRuntime();
32
+ // The kernel can fail to start (for example when a plugin has no config
33
+ // yet). Keep serving the last loaded definitions so the WebUI can still
34
+ // edit plugin configs and recover without touching the file by hand.
35
+ const definitions = runtime?.plugins ?? ctx.deps.getPlugins();
36
+ const statuses = new Map((runtime?.kernel.listPlugins() ?? []).map((entry) => [entry.id, entry]));
37
+ const document = await ctx.deps.readConfig();
38
+ const plugins = definitions.map((definition) => {
34
39
  const id = definition.manifest.id;
35
40
  const status = statuses.get(id);
36
- const envelope = asRecord(runtime.config.plugins[id]);
41
+ const envelope = asRecord(document.config.plugins[id]);
37
42
  // `safeStringify` treats shared references as circular; cloning keeps
38
43
  // `config` and `options` from aliasing the same nested objects.
39
44
  const options = structuredClone(stripPluginEnvelope(envelope));
45
+ const enabled = status?.enabled ??
46
+ (typeof envelope['enabled'] === 'boolean'
47
+ ? envelope['enabled']
48
+ : (definition.manifest.defaultEnabled ?? false));
40
49
  return {
41
50
  id,
42
51
  version: definition.manifest.version,
43
52
  description: definition.manifest.description,
44
53
  dependencies: definition.manifest.dependencies ?? [],
45
54
  defaultEnabled: definition.manifest.defaultEnabled ?? false,
46
- enabled: status?.enabled ?? false,
55
+ enabled,
47
56
  loaded: status?.loaded ?? false,
48
57
  config: envelope,
49
58
  options,
50
59
  configSchema: pluginJsonSchema(definition),
51
60
  };
52
61
  });
53
- const installed = runtime.installer.enabled
54
- ? await runtime.installer.list()
62
+ const installer = runtime?.installer;
63
+ const installed = installer !== undefined && installer.enabled
64
+ ? await installer.list()
55
65
  : [];
56
66
  sendData(ctx.res, 200, {
57
67
  plugins,
58
68
  installed,
59
- installerEnabled: runtime.installer.enabled,
60
- configHash: (await ctx.deps.readConfig()).hash,
69
+ installerEnabled: installer?.enabled ?? false,
70
+ configHash: document.hash,
61
71
  });
62
72
  }
63
73
  export async function handlePluginConfigPut(ctx) {
@@ -66,10 +76,13 @@ export async function handlePluginConfigPut(ctx) {
66
76
  const document = await ctx.deps.readConfig();
67
77
  if (id === undefined)
68
78
  throw new HttpError(404, 'unknown plugin');
69
- if (!isRecord(document.config.plugins[id])) {
79
+ const runtime = ctx.deps.getRuntime();
80
+ const definition = (runtime?.plugins ?? ctx.deps.getPlugins()).find((plugin) => plugin.manifest.id === id);
81
+ const entry = document.config.plugins[id];
82
+ if (definition === undefined && entry === undefined) {
70
83
  throw new HttpError(404, `unknown plugin: ${id}`);
71
84
  }
72
- const existing = asRecord(document.config.plugins[id]);
85
+ const existing = asRecord(entry);
73
86
  const next = { ...existing };
74
87
  if (typeof body['enabled'] === 'boolean') {
75
88
  next['enabled'] = body['enabled'];
@@ -83,8 +96,6 @@ export async function handlePluginConfigPut(ctx) {
83
96
  if (!isRecord(body['options'])) {
84
97
  throw new HttpError(400, 'options must be an object');
85
98
  }
86
- const runtime = ctx.deps.getRuntime();
87
- const definition = runtime?.plugins.find((plugin) => plugin.manifest.id === id);
88
99
  const options = {};
89
100
  for (const [key, value] of Object.entries(body['options'])) {
90
101
  if (!ENVELOPE_KEYS.has(key))
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../../src/core/web/routes/plugins.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../../src/core/web/routes/plugins.ts"],"names":[],"mappings":"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"}
@@ -54,6 +54,12 @@ export interface WebUiDeps {
54
54
  events: EventFeed;
55
55
  /** Current webui settings; picked up after runtime restarts. */
56
56
  getWebUiConfig(): WebUiConfig;
57
+ /**
58
+ * Plugin definitions from the last successfully loaded runtime spec.
59
+ * Unlike `getRuntime()`, this stays available when the kernel fails to
60
+ * start, so plugin configs can still be edited from the WebUI.
61
+ */
62
+ getPlugins(): AnyPluginDefinition[];
57
63
  readConfig(): Promise<ConfigDocument>;
58
64
  validateConfig(value: unknown): Promise<ConfigValidationResult>;
59
65
  applyConfig(value: unknown, baseHash?: string | undefined): Promise<ConfigApplyResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/web/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/web/types.ts"],"names":[],"mappings":"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"}
package/docs/webui.md CHANGED
@@ -70,7 +70,7 @@ http://127.0.0.1:8787
70
70
 
71
71
  ### 启动失败
72
72
 
73
- 当 `webui.enabled=true` 且 Kernel 启动失败(WebSocket 连不上、插件 setup 失败等)时,进程会保留 WebUI 在线,页面显示错误。可以在配置页修正问题后直接重启运行时,不需要手动改文件。
73
+ 当 `webui.enabled=true` 且 Kernel 启动失败(WebSocket 连不上、插件 setup 失败等)时,进程会保留 WebUI 在线,页面显示错误。插件页会继续使用最近一次成功加载的插件定义,因此插件配置缺失时仍可补全配置;修正后直接重启运行时即可,不需要手动改文件。
74
74
 
75
75
  如果配置文件本身 JSON 或 schema 错误,进程仍会在启动前退出,此时 WebUI 无法启动。
76
76
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jsbot-tellus/core",
3
- "version": "2.9.0",
3
+ "version": "2.9.1",
4
4
  "engines": {
5
5
  "node": "^24.22.1 || >=26.12.1"
6
6
  },
@@ -454,6 +454,7 @@ export interface WebUiDepsOptions {
454
454
  events: EventFeed
455
455
  store: ConfigStore
456
456
  getCurrentConfig: () => AppConfig
457
+ getPlugins: () => AnyPluginDefinition[]
457
458
  getRuntime: () => Runtime | null
458
459
  getGeneration: () => number
459
460
  restart: () => Promise<boolean>
@@ -479,6 +480,7 @@ export function createWebUiDeps(options: WebUiDepsOptions): WebUiDeps {
479
480
  logs: options.logs,
480
481
  events: options.events,
481
482
  getWebUiConfig: () => options.getCurrentConfig().webui,
483
+ getPlugins: () => options.getPlugins(),
482
484
  readConfig: () => options.store.read(),
483
485
  validateConfig: (value) => options.store.validate(value),
484
486
  applyConfig: (value, baseHash) => options.store.apply(value, baseHash),
package/src/app.ts CHANGED
@@ -54,6 +54,9 @@ async function main(): Promise<void> {
54
54
  // from when the config cannot even be parsed.
55
55
  const initialSpec = await loadRuntimeSpec(settings)
56
56
 
57
+ // Keep the last successfully loaded definitions even when the kernel fails
58
+ // to start, so the WebUI can still render and validate plugin configs.
59
+ let latestSpec = initialSpec
57
60
  let runtime: Runtime | null = null
58
61
  let currentConfig: AppConfig = initialSpec.config
59
62
  let generation = 0
@@ -97,6 +100,7 @@ async function main(): Promise<void> {
97
100
 
98
101
  const spec = await loadRuntimeSpec(settings)
99
102
 
103
+ latestSpec = spec
100
104
  currentConfig = spec.config
101
105
 
102
106
  const next = createRuntime(
@@ -153,7 +157,7 @@ async function main(): Promise<void> {
153
157
 
154
158
  const store = new ConfigStore({
155
159
  configPath,
156
- getPlugins: () => runtime?.spec.plugins ?? [],
160
+ getPlugins: () => latestSpec.plugins,
157
161
  restart: () => restartRuntime(),
158
162
  })
159
163
 
@@ -170,6 +174,7 @@ async function main(): Promise<void> {
170
174
  events,
171
175
  store,
172
176
  getCurrentConfig: () => currentConfig,
177
+ getPlugins: () => latestSpec.plugins,
173
178
  getRuntime: () => runtime,
174
179
  getGeneration: () => generation,
175
180
  restart: () => restartRuntime(),
@@ -128,27 +128,28 @@ function validatePlugins(
128
128
  definitions.map((definition) => [definition.manifest.id, definition])
129
129
  )
130
130
 
131
- for (const [id, envelope] of Object.entries(config.plugins)) {
132
- const definition = byId.get(id)
133
-
134
- if (!definition) {
131
+ for (const id of Object.keys(config.plugins)) {
132
+ if (!byId.has(id)) {
135
133
  issues.push({
136
134
  path: `plugins.${id}`,
137
135
  message: `unknown plugin id: ${id}`,
138
136
  })
139
-
140
- continue
141
137
  }
138
+ }
142
139
 
140
+ // Validate every enabled plugin, not only the ones already present in the
141
+ // config file. A newly installed plugin has no envelope yet; validating it
142
+ // here surfaces missing required options before the runtime is restarted.
143
+ for (const definition of definitions) {
144
+ const id = definition.manifest.id
145
+ const envelope = config.plugins[id]
143
146
  const enabled =
144
- (envelope as PluginEnvelope).enabled ??
145
- definition.manifest.defaultEnabled ??
146
- false
147
+ envelope?.enabled ?? definition.manifest.defaultEnabled ?? false
147
148
 
148
149
  if (!enabled) continue
149
150
 
150
151
  const result = definition.manifest.configSchema.safeParse(
151
- stripPluginEnvelope(envelope as PluginEnvelope)
152
+ stripPluginEnvelope(envelope ?? ({} as PluginEnvelope))
152
153
  )
153
154
 
154
155
  if (!result.success) {
@@ -255,9 +256,14 @@ export class ConfigStore {
255
256
  }
256
257
  }
257
258
 
259
+ const pluginIssues = validatePlugins(
260
+ parsed.data,
261
+ this.options.getPlugins()
262
+ )
263
+
258
264
  return {
259
- ok: true,
260
- issues: validatePlugins(parsed.data, this.options.getPlugins()),
265
+ ok: pluginIssues.length === 0,
266
+ issues: pluginIssues,
261
267
  config: parsed.data,
262
268
  }
263
269
  }
@@ -41,14 +41,19 @@ function pluginJsonSchema(
41
41
  }
42
42
 
43
43
  export async function handlePluginsList(ctx: ApiContext): Promise<void> {
44
- const runtime = requireRuntime(ctx.deps)
44
+ const runtime = ctx.deps.getRuntime()
45
+ // The kernel can fail to start (for example when a plugin has no config
46
+ // yet). Keep serving the last loaded definitions so the WebUI can still
47
+ // edit plugin configs and recover without touching the file by hand.
48
+ const definitions = runtime?.plugins ?? ctx.deps.getPlugins()
45
49
  const statuses = new Map(
46
- runtime.kernel.listPlugins().map((entry) => [entry.id, entry])
50
+ (runtime?.kernel.listPlugins() ?? []).map((entry) => [entry.id, entry])
47
51
  )
48
- const plugins = runtime.plugins.map((definition) => {
52
+ const document = await ctx.deps.readConfig()
53
+ const plugins = definitions.map((definition) => {
49
54
  const id = definition.manifest.id
50
55
  const status = statuses.get(id)
51
- const envelope = asRecord(runtime.config.plugins[id]) as Record<
56
+ const envelope = asRecord(document.config.plugins[id]) as Record<
52
57
  string,
53
58
  unknown
54
59
  >
@@ -57,6 +62,11 @@ export async function handlePluginsList(ctx: ApiContext): Promise<void> {
57
62
  const options = structuredClone(
58
63
  stripPluginEnvelope(envelope as never)
59
64
  ) as Record<string, unknown>
65
+ const enabled =
66
+ status?.enabled ??
67
+ (typeof envelope['enabled'] === 'boolean'
68
+ ? envelope['enabled']
69
+ : (definition.manifest.defaultEnabled ?? false))
60
70
 
61
71
  return {
62
72
  id,
@@ -64,22 +74,24 @@ export async function handlePluginsList(ctx: ApiContext): Promise<void> {
64
74
  description: definition.manifest.description,
65
75
  dependencies: definition.manifest.dependencies ?? [],
66
76
  defaultEnabled: definition.manifest.defaultEnabled ?? false,
67
- enabled: status?.enabled ?? false,
77
+ enabled,
68
78
  loaded: status?.loaded ?? false,
69
79
  config: envelope,
70
80
  options,
71
81
  configSchema: pluginJsonSchema(definition),
72
82
  }
73
83
  })
74
- const installed = runtime.installer.enabled
75
- ? await runtime.installer.list()
76
- : []
84
+ const installer = runtime?.installer
85
+ const installed =
86
+ installer !== undefined && installer.enabled
87
+ ? await installer.list()
88
+ : []
77
89
 
78
90
  sendData(ctx.res, 200, {
79
91
  plugins,
80
92
  installed,
81
- installerEnabled: runtime.installer.enabled,
82
- configHash: (await ctx.deps.readConfig()).hash,
93
+ installerEnabled: installer?.enabled ?? false,
94
+ configHash: document.hash,
83
95
  })
84
96
  }
85
97
 
@@ -90,14 +102,17 @@ export async function handlePluginConfigPut(ctx: ApiContext): Promise<void> {
90
102
 
91
103
  if (id === undefined) throw new HttpError(404, 'unknown plugin')
92
104
 
93
- if (!isRecord(document.config.plugins[id])) {
105
+ const runtime = ctx.deps.getRuntime()
106
+ const definition = (runtime?.plugins ?? ctx.deps.getPlugins()).find(
107
+ (plugin) => plugin.manifest.id === id
108
+ )
109
+ const entry = document.config.plugins[id]
110
+
111
+ if (definition === undefined && entry === undefined) {
94
112
  throw new HttpError(404, `unknown plugin: ${id}`)
95
113
  }
96
114
 
97
- const existing = asRecord(document.config.plugins[id]) as unknown as Record<
98
- string,
99
- unknown
100
- >
115
+ const existing = asRecord(entry) as unknown as Record<string, unknown>
101
116
  const next = { ...existing }
102
117
 
103
118
  if (typeof body['enabled'] === 'boolean') {
@@ -115,10 +130,6 @@ export async function handlePluginConfigPut(ctx: ApiContext): Promise<void> {
115
130
  throw new HttpError(400, 'options must be an object')
116
131
  }
117
132
 
118
- const runtime = ctx.deps.getRuntime()
119
- const definition = runtime?.plugins.find(
120
- (plugin) => plugin.manifest.id === id
121
- )
122
133
  const options: Record<string, unknown> = {}
123
134
 
124
135
  for (const [key, value] of Object.entries(body['options'])) {
@@ -64,6 +64,13 @@ export interface WebUiDeps {
64
64
  /** Current webui settings; picked up after runtime restarts. */
65
65
  getWebUiConfig(): WebUiConfig
66
66
 
67
+ /**
68
+ * Plugin definitions from the last successfully loaded runtime spec.
69
+ * Unlike `getRuntime()`, this stays available when the kernel fails to
70
+ * start, so plugin configs can still be edited from the WebUI.
71
+ */
72
+ getPlugins(): AnyPluginDefinition[]
73
+
67
74
  readConfig(): Promise<ConfigDocument>
68
75
  validateConfig(value: unknown): Promise<ConfigValidationResult>
69
76
  applyConfig(