nextclaw 0.18.12-beta.19 → 0.18.12-beta.20

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.
Files changed (48) hide show
  1. package/dist/cli/app/index.js +24 -17
  2. package/package.json +17 -17
  3. package/ui-dist/assets/api-BbqBjnWk.js +15 -0
  4. package/ui-dist/assets/app-manager-provider-Ut9nVFKt.js +1 -0
  5. package/ui-dist/assets/{app-navigation.config-BOVDFMnp.js → app-navigation.config-C7d-xDPw.js} +1 -1
  6. package/ui-dist/assets/channels-list-page-f5u_2f7-.js +8 -0
  7. package/ui-dist/assets/{chat-ahMH_i_K.js → chat-DgO9oYBw.js} +6 -6
  8. package/ui-dist/assets/{chat-page-BxlXY-MB.js → chat-page-C5N-dkK9.js} +1 -1
  9. package/ui-dist/assets/desktop-update-config-B5mULxzY.js +1 -0
  10. package/ui-dist/assets/{dialog-csshWetU.js → dialog-CAdlv2a0.js} +1 -1
  11. package/ui-dist/assets/{dist-Bl94Ahwx.js → dist-DTgPE_Ga.js} +1 -1
  12. package/ui-dist/assets/{es2015-JCM5-KtW.js → es2015-B191DO9z.js} +1 -1
  13. package/ui-dist/assets/index-DfOJWwRN.js +2 -0
  14. package/ui-dist/assets/{marketplace-page-DxlxHCFm.js → marketplace-page-Cj6hxOWm.js} +2 -2
  15. package/ui-dist/assets/marketplace-page-M6lsjEvL.js +1 -0
  16. package/ui-dist/assets/mcp-marketplace-page-0trY07NU.js +40 -0
  17. package/ui-dist/assets/mcp-marketplace-page-BYJA0yRg.js +1 -0
  18. package/ui-dist/assets/{model-config-PccJ9XyH.js → model-config-C4zBDpyV.js} +1 -1
  19. package/ui-dist/assets/{notice-card-CCgk6FvF.js → notice-card-DEEfIIf5.js} +1 -1
  20. package/ui-dist/assets/{popover-YAsxDBhY.js → popover-C4M83BGN.js} +1 -1
  21. package/ui-dist/assets/{provider-scoped-model-input-CzpF7cug.js → provider-scoped-model-input-D1v_5RKi.js} +1 -1
  22. package/ui-dist/assets/{providers-list-8qDMER8o.js → providers-list-CxQXNhT5.js} +1 -1
  23. package/ui-dist/assets/remote-PWLGVNWC.js +1 -0
  24. package/ui-dist/assets/runtime-config-page-DPN1sxKg.js +1 -0
  25. package/ui-dist/assets/{search-config-D3a65l3r.js → search-config-Cyo-2Wrf.js} +1 -1
  26. package/ui-dist/assets/{secrets-config-CoMlR_7i.js → secrets-config-D2phuPae.js} +2 -2
  27. package/ui-dist/assets/{select-DIZrwsKU.js → select-NL5-Ubvj.js} +1 -1
  28. package/ui-dist/assets/{sessions-config-page-QjH5tgjr.js → sessions-config-page-BBs6G8cH.js} +2 -2
  29. package/ui-dist/assets/{setting-row-DiQyrE81.js → setting-row-CnvqvLxs.js} +1 -1
  30. package/ui-dist/assets/{tag-chip-C3wDBe_-.js → tag-chip-zfqovaH4.js} +1 -1
  31. package/ui-dist/assets/{theme-provider-W704JWF8.js → theme-provider-BLhTqOZp.js} +1 -1
  32. package/ui-dist/assets/{tooltip-Dq5Xehpk.js → tooltip-hnT0-WDr.js} +1 -1
  33. package/ui-dist/assets/use-config-BGcKvTL2.js +1 -0
  34. package/ui-dist/assets/{use-confirm-dialog-DBoV5n5P.js → use-confirm-dialog-C_u_TetV.js} +1 -1
  35. package/ui-dist/assets/{use-infinite-scroll-loader-JAicqVC5.js → use-infinite-scroll-loader-C1QDayWw.js} +1 -1
  36. package/ui-dist/assets/{use-viewport-layout-BX3XqzJ4.js → use-viewport-layout-DVh0C_oF.js} +1 -1
  37. package/ui-dist/index.html +15 -15
  38. package/ui-dist/assets/api-BcqDx0tm.js +0 -15
  39. package/ui-dist/assets/app-manager-provider-DVYBjif-.js +0 -1
  40. package/ui-dist/assets/channels-list-page-CsoI4OJm.js +0 -8
  41. package/ui-dist/assets/desktop-update-config-CD6-2PfI.js +0 -1
  42. package/ui-dist/assets/index-CM-57d8J.js +0 -2
  43. package/ui-dist/assets/marketplace-page-DJGDpTAo.js +0 -1
  44. package/ui-dist/assets/mcp-marketplace-page-5UjYRWOR.js +0 -40
  45. package/ui-dist/assets/mcp-marketplace-page-C1XaHZZO.js +0 -1
  46. package/ui-dist/assets/remote-D4TtLPAp.js +0 -1
  47. package/ui-dist/assets/runtime-config-page-DWJHrV7H.js +0 -1
  48. package/ui-dist/assets/use-config-BQJjq1mP.js +0 -1
@@ -30,6 +30,7 @@ import { setImmediate as setImmediate$1, setTimeout as setTimeout$1 } from "node
30
30
  import { request } from "node:http";
31
31
  import { request as request$1 } from "node:https";
32
32
  import chokidar from "chokidar";
33
+ import { eventKeys, nextclaw } from "@nextclaw/kernel";
33
34
  import { parse } from "yaml";
34
35
  //#region \0rolldown/runtime.js
35
36
  var __create = Object.create;
@@ -15174,25 +15175,25 @@ var NpmRuntimeUpdateHost = class {
15174
15175
  };
15175
15176
  applyDownloadedUpdate = async () => {
15176
15177
  if (this.activeTask) return this.snapshot;
15177
- this.snapshot = {
15178
+ this.setSnapshot({
15178
15179
  ...this.snapshot,
15179
15180
  status: "applying",
15180
15181
  progress: null,
15181
15182
  errorMessage: null
15182
- };
15183
+ });
15183
15184
  try {
15184
15185
  const snapshot = this.createManager().applyDownloadedUpdate();
15185
- this.snapshot = this.deps.applyRestartMode === "managed-service-restart" ? snapshot : {
15186
+ this.setSnapshot(this.deps.applyRestartMode === "managed-service-restart" ? snapshot : {
15186
15187
  ...snapshot,
15187
15188
  recoveryCommand: "Restart this NextClaw process to launch the downloaded runtime."
15188
- };
15189
+ });
15189
15190
  if (this.deps.applyRestartMode === "managed-service-restart") await requestManagedServiceRestart(this.deps.requestRestart, {
15190
15191
  reason: "runtime update apply",
15191
15192
  uiPort: this.deps.uiConfig.port
15192
15193
  });
15193
15194
  return this.snapshot;
15194
15195
  } catch (error) {
15195
- this.snapshot = this.toFailedSnapshot(error);
15196
+ this.setSnapshot(this.toFailedSnapshot(error));
15196
15197
  throw error;
15197
15198
  }
15198
15199
  };
@@ -15204,7 +15205,7 @@ var NpmRuntimeUpdateHost = class {
15204
15205
  ...preferences
15205
15206
  }
15206
15207
  }));
15207
- this.snapshot = this.createManager(nextState.channel).getSnapshot();
15208
+ this.setSnapshot(this.createManager(nextState.channel).getSnapshot());
15208
15209
  if (nextState.updatePreferences.automaticChecks) this.startAutomaticSync({ force: true });
15209
15210
  return this.snapshot;
15210
15211
  };
@@ -15213,7 +15214,7 @@ var NpmRuntimeUpdateHost = class {
15213
15214
  ...current,
15214
15215
  channel
15215
15216
  }));
15216
- this.snapshot = this.createManager(nextState.channel).getSnapshot();
15217
+ this.setSnapshot(this.createManager(nextState.channel).getSnapshot());
15217
15218
  if (nextState.updatePreferences.automaticChecks) return this.startCheck({ autoDownload: nextState.updatePreferences.autoDownload });
15218
15219
  return this.snapshot;
15219
15220
  };
@@ -15227,19 +15228,19 @@ var NpmRuntimeUpdateHost = class {
15227
15228
  };
15228
15229
  startCheck = async (options) => {
15229
15230
  if (this.activeTask) return this.snapshot;
15230
- this.snapshot = {
15231
+ this.setSnapshot({
15231
15232
  ...this.createManager().getSnapshot(),
15232
15233
  status: "checking",
15233
15234
  progress: null,
15234
15235
  errorMessage: null
15235
- };
15236
+ });
15236
15237
  this.activeTask = (async () => {
15237
15238
  try {
15238
15239
  const checkedSnapshot = await this.createManager().checkForUpdate();
15239
- this.snapshot = checkedSnapshot;
15240
+ this.setSnapshot(checkedSnapshot);
15240
15241
  if (options.autoDownload && checkedSnapshot.status === "update-available") await this.runDownloadTask();
15241
15242
  } catch (error) {
15242
- this.snapshot = this.toFailedSnapshot(error);
15243
+ this.setSnapshot(this.toFailedSnapshot(error));
15243
15244
  } finally {
15244
15245
  this.activeTask = null;
15245
15246
  }
@@ -15248,17 +15249,17 @@ var NpmRuntimeUpdateHost = class {
15248
15249
  };
15249
15250
  startDownload = async () => {
15250
15251
  if (this.activeTask) return this.snapshot;
15251
- this.snapshot = {
15252
+ this.setSnapshot({
15252
15253
  ...this.createManager().getSnapshot(),
15253
15254
  status: "downloading",
15254
15255
  progress: INITIAL_DOWNLOAD_PROGRESS,
15255
15256
  errorMessage: null
15256
- };
15257
+ });
15257
15258
  this.activeTask = (async () => {
15258
15259
  try {
15259
15260
  await this.runDownloadTask();
15260
15261
  } catch (error) {
15261
- this.snapshot = this.toFailedSnapshot(error);
15262
+ this.setSnapshot(this.toFailedSnapshot(error));
15262
15263
  } finally {
15263
15264
  this.activeTask = null;
15264
15265
  }
@@ -15266,14 +15267,15 @@ var NpmRuntimeUpdateHost = class {
15266
15267
  return this.snapshot;
15267
15268
  };
15268
15269
  runDownloadTask = async () => {
15269
- this.snapshot = await this.createManager().downloadUpdate((progress) => {
15270
- this.snapshot = {
15270
+ const downloadedSnapshot = await this.createManager().downloadUpdate((progress) => {
15271
+ this.setSnapshot({
15271
15272
  ...this.snapshot,
15272
15273
  status: "downloading",
15273
15274
  progress,
15274
15275
  errorMessage: null
15275
- };
15276
+ });
15276
15277
  });
15278
+ this.setSnapshot(downloadedSnapshot);
15277
15279
  };
15278
15280
  createManager = (channel = this.stateStore.read().channel) => {
15279
15281
  return new NpmRuntimeUpdateManager({
@@ -15294,6 +15296,11 @@ var NpmRuntimeUpdateHost = class {
15294
15296
  errorMessage: error instanceof Error ? error.message : String(error ?? "Unknown error")
15295
15297
  };
15296
15298
  };
15299
+ setSnapshot = (snapshot) => {
15300
+ this.snapshot = snapshot;
15301
+ nextclaw.eventBus.emit(eventKeys.runtimeUpdateSnapshot, snapshot, { source: "backend" });
15302
+ return snapshot;
15303
+ };
15297
15304
  };
15298
15305
  function createNpmRuntimeUpdateHost(params) {
15299
15306
  return new NpmRuntimeUpdateHost(params);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nextclaw",
3
- "version": "0.18.12-beta.19",
3
+ "version": "0.18.12-beta.20",
4
4
  "description": "Lightweight personal AI assistant with CLI, multi-provider routing, and channel integrations.",
5
5
  "private": false,
6
6
  "type": "module",
@@ -41,21 +41,21 @@
41
41
  "commander": "^12.1.0",
42
42
  "jszip": "^3.10.1",
43
43
  "yaml": "^2.8.1",
44
- "@nextclaw/core": "0.12.13-beta.2",
45
- "@nextclaw/companion": "0.1.1-beta.3",
46
- "@nextclaw/kernel": "0.1.2-beta.3",
47
- "@nextclaw/mcp": "0.1.78-beta.2",
48
- "@nextclaw/ncp": "0.5.6-beta.1",
49
- "@nextclaw/ncp-mcp": "0.1.80-beta.2",
50
- "@nextclaw/ncp-toolkit": "0.5.11-beta.1",
51
- "@nextclaw/nextclaw-hermes-acp-bridge": "0.1.5-beta.2",
52
- "@nextclaw/nextclaw-ncp-runtime-http-client": "0.1.5-beta.2",
53
- "@nextclaw/nextclaw-ncp-runtime-stdio-client": "0.1.6-beta.2",
54
- "@nextclaw/openclaw-compat": "1.0.13-beta.3",
55
- "@nextclaw/remote": "0.1.90-beta.3",
56
- "@nextclaw/runtime": "0.2.45-beta.1",
57
- "@nextclaw/ncp-agent-runtime": "0.3.16-beta.2",
58
- "@nextclaw/server": "0.12.13-beta.3"
44
+ "@nextclaw/mcp": "0.1.78-beta.3",
45
+ "@nextclaw/kernel": "0.1.2-beta.4",
46
+ "@nextclaw/core": "0.12.13-beta.3",
47
+ "@nextclaw/ncp-agent-runtime": "0.3.16-beta.3",
48
+ "@nextclaw/ncp": "0.5.6-beta.2",
49
+ "@nextclaw/ncp-mcp": "0.1.80-beta.3",
50
+ "@nextclaw/companion": "0.1.1-beta.4",
51
+ "@nextclaw/ncp-toolkit": "0.5.11-beta.2",
52
+ "@nextclaw/nextclaw-ncp-runtime-http-client": "0.1.5-beta.3",
53
+ "@nextclaw/nextclaw-ncp-runtime-stdio-client": "0.1.6-beta.3",
54
+ "@nextclaw/nextclaw-hermes-acp-bridge": "0.1.5-beta.3",
55
+ "@nextclaw/remote": "0.1.90-beta.4",
56
+ "@nextclaw/openclaw-compat": "1.0.13-beta.4",
57
+ "@nextclaw/server": "0.12.13-beta.4",
58
+ "@nextclaw/runtime": "0.2.45-beta.2"
59
59
  },
60
60
  "devDependencies": {
61
61
  "@types/node": "^20.17.6",
@@ -63,7 +63,7 @@
63
63
  "tsx": "^4.19.2",
64
64
  "typescript": "^5.6.3",
65
65
  "vitest": "^4.1.2",
66
- "@nextclaw/ui": "0.12.20-beta.3"
66
+ "@nextclaw/ui": "0.12.20-beta.4"
67
67
  },
68
68
  "scripts": {
69
69
  "dev": "tsx watch --tsconfig tsconfig.json src/cli/app/index.ts",