@nodetool-ai/cli 0.8.4-a24.3 → 0.8.5

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 (62) hide show
  1. package/README.md +34 -8
  2. package/dist/.nodetool-build-stamp +1 -1
  3. package/dist/commands/__tests__/runtime.test.js +2 -1
  4. package/dist/commands/__tests__/runtime.test.js.map +1 -1
  5. package/dist/commands/app.d.ts.map +1 -1
  6. package/dist/commands/app.js +5 -2
  7. package/dist/commands/app.js.map +1 -1
  8. package/dist/commands/deploy-helpers.d.ts +7 -0
  9. package/dist/commands/deploy-helpers.d.ts.map +1 -1
  10. package/dist/commands/deploy-helpers.js +32 -1
  11. package/dist/commands/deploy-helpers.js.map +1 -1
  12. package/dist/commands/generate.d.ts.map +1 -1
  13. package/dist/commands/generate.js +3 -1
  14. package/dist/commands/generate.js.map +1 -1
  15. package/dist/commands/harness.d.ts.map +1 -1
  16. package/dist/commands/harness.js +120 -30
  17. package/dist/commands/harness.js.map +1 -1
  18. package/dist/commands/js-script.d.ts.map +1 -1
  19. package/dist/commands/js-script.js +28 -1
  20. package/dist/commands/js-script.js.map +1 -1
  21. package/dist/commands/node.d.ts.map +1 -1
  22. package/dist/commands/node.js +46 -0
  23. package/dist/commands/node.js.map +1 -1
  24. package/dist/commands/package.d.ts.map +1 -1
  25. package/dist/commands/package.js +8 -4
  26. package/dist/commands/package.js.map +1 -1
  27. package/dist/commands/runtime.d.ts.map +1 -1
  28. package/dist/commands/runtime.js +53 -6
  29. package/dist/commands/runtime.js.map +1 -1
  30. package/dist/commands/telemetry.d.ts +24 -0
  31. package/dist/commands/telemetry.d.ts.map +1 -0
  32. package/dist/commands/telemetry.js +116 -0
  33. package/dist/commands/telemetry.js.map +1 -0
  34. package/dist/commands/tools.d.ts +11 -0
  35. package/dist/commands/tools.d.ts.map +1 -0
  36. package/dist/commands/tools.js +206 -0
  37. package/dist/commands/tools.js.map +1 -0
  38. package/dist/harness/capability-table.js +8 -8
  39. package/dist/harness/capability-table.js.map +1 -1
  40. package/dist/harness/registry.d.ts.map +1 -1
  41. package/dist/harness/registry.js +22 -0
  42. package/dist/harness/registry.js.map +1 -1
  43. package/dist/interaction-script.d.ts.map +1 -1
  44. package/dist/interaction-script.js +13 -5
  45. package/dist/interaction-script.js.map +1 -1
  46. package/dist/js-script-debug/harness.d.ts.map +1 -1
  47. package/dist/js-script-debug/harness.js +13 -2
  48. package/dist/js-script-debug/harness.js.map +1 -1
  49. package/dist/nodetool-main.js +51 -1
  50. package/dist/nodetool-main.js.map +1 -1
  51. package/dist/packs/command-service.d.ts.map +1 -1
  52. package/dist/packs/command-service.js +7 -2
  53. package/dist/packs/command-service.js.map +1 -1
  54. package/dist/providers.d.ts +8 -1
  55. package/dist/providers.d.ts.map +1 -1
  56. package/dist/providers.js +42 -6
  57. package/dist/providers.js.map +1 -1
  58. package/dist/telemetry.d.ts +38 -0
  59. package/dist/telemetry.d.ts.map +1 -0
  60. package/dist/telemetry.js +158 -0
  61. package/dist/telemetry.js.map +1 -0
  62. package/package.json +40 -32
package/dist/providers.js CHANGED
@@ -7,7 +7,7 @@
7
7
  * below (`KNOWN_PROVIDERS`, `DEFAULT_MODELS`) only drive the interactive
8
8
  * autocomplete and default-model hints for the common chat providers.
9
9
  */
10
- import { BaseProvider as BaseProviderClass, createPythonBridge, getProvider, getProviderSecretKey, isProviderConfigured, listRegisteredProviderIds, PythonProvider, registerProvider, syncCustomProviders, RECOMMENDED_MODELS } from "@nodetool-ai/runtime";
10
+ import { BaseProvider as BaseProviderClass, createPythonBridge, FakeProvider, getProvider, getProviderSecretKey, isProviderConfigured, listRegisteredProviderIds, PythonProvider, registerProvider, syncCustomProviders, RECOMMENDED_MODELS } from "@nodetool-ai/runtime";
11
11
  import { readCachedHfModels } from "@nodetool-ai/huggingface";
12
12
  import { CUSTOM_PROVIDERS_SETTING_KEY, parseCustomProviderCatalog } from "@nodetool-ai/protocol";
13
13
  import { getSecret, Setting } from "@nodetool-ai/models";
@@ -85,7 +85,8 @@ const LOCAL_PROVIDERS = [
85
85
  "mlx",
86
86
  "claude_agent_sdk",
87
87
  "antigravity",
88
- "node_llama_cpp"
88
+ "node_llama_cpp",
89
+ "stable_diffusion_cpp"
89
90
  ];
90
91
  /**
91
92
  * Providers served only through the local Python worker (no TS implementation).
@@ -140,10 +141,12 @@ const resolveForUser1 = (key) => getSecret(key, "1");
140
141
  * unavailable.
141
142
  */
142
143
  let pythonProvidersPromise = null;
144
+ let pythonBridge = null;
143
145
  async function ensurePythonProvidersRegistered() {
144
146
  if (!pythonProvidersPromise) {
145
147
  pythonProvidersPromise = (async () => {
146
148
  const bridge = createPythonBridge();
149
+ pythonBridge = bridge;
147
150
  await bridge.connect();
148
151
  for (const info of await bridge.listProviders()) {
149
152
  // Don't shadow a TS-native provider that owns the same id (e.g. the
@@ -158,11 +161,38 @@ async function ensurePythonProvidersRegistered() {
158
161
  }
159
162
  })().catch((err) => {
160
163
  pythonProvidersPromise = null;
164
+ pythonBridge?.close();
165
+ pythonBridge = null;
161
166
  throw err;
162
167
  });
163
168
  }
164
169
  return pythonProvidersPromise;
165
170
  }
171
+ /**
172
+ * Stop the Python worker if this process started one. The worker is a child
173
+ * process, so a command that leaves it running never exits.
174
+ */
175
+ export function closePythonProviders() {
176
+ pythonBridge?.close();
177
+ pythonBridge = null;
178
+ pythonProvidersPromise = null;
179
+ }
180
+ /**
181
+ * Start the Python worker for a command that lists every provider, so MLX
182
+ * and the other Python providers appear. Without a Python environment the
183
+ * command still lists the rest, with a notice on stderr.
184
+ */
185
+ async function tryPythonProviders() {
186
+ if (PYTHON_ONLY_PROVIDERS.every((id) => listRegisteredProviderIds().includes(id))) {
187
+ return;
188
+ }
189
+ try {
190
+ await ensurePythonProvidersRegistered();
191
+ }
192
+ catch (err) {
193
+ console.error(`Python providers skipped: the Python worker could not start (${err instanceof Error ? err.message : String(err)}).`);
194
+ }
195
+ }
166
196
  /**
167
197
  * Register the user's OpenAI-compatible endpoints into the runtime registry.
168
198
  * The server does this on every request; the CLI has no request, so every
@@ -242,9 +272,12 @@ export function providerSecretKey(providerId) {
242
272
  * provider whose required credentials resolve (local providers have none, so
243
273
  * they're always present). Construction failures are skipped silently.
244
274
  */
245
- export async function buildConfiguredProviders() {
275
+ export async function buildConfiguredProviders(options = {}) {
246
276
  const result = {};
247
277
  await ensureCustomProvidersRegistered();
278
+ if (options.includePython) {
279
+ await tryPythonProviders();
280
+ }
248
281
  for (const id of listRegisteredProviderIds()) {
249
282
  try {
250
283
  if (await isProviderConfigured(id, resolveForUser1)) {
@@ -258,7 +291,7 @@ export async function buildConfiguredProviders() {
258
291
  return result;
259
292
  }
260
293
  export async function listConfiguredProviderInfo() {
261
- const providers = await buildConfiguredProviders();
294
+ const providers = await buildConfiguredProviders({ includePython: true });
262
295
  return Object.entries(providers).map(([provider, instance]) => ({
263
296
  provider,
264
297
  capabilities: instance.getCapabilities()
@@ -310,7 +343,10 @@ function toUnifiedModel(model, type) {
310
343
  };
311
344
  }
312
345
  export async function listProviderModels(providerId, kind) {
313
- const provider = await createProviderStrict(providerId);
346
+ // Explicit discovery may show test models without admitting them to automatic selection.
347
+ const provider = providerId === "fake" && kind === "llm"
348
+ ? new FakeProvider()
349
+ : await createProviderStrict(providerId);
314
350
  if (kind === "llm") {
315
351
  const models = await provider.getAvailableLanguageModels();
316
352
  const toolSupport = await Promise.all(models.map((model) => provider.hasToolSupport(model.id).catch(() => null)));
@@ -341,7 +377,7 @@ export async function listProviderModels(providerId, kind) {
341
377
  */
342
378
  export async function listAllModels() {
343
379
  const all = [...RECOMMENDED_MODELS];
344
- const providers = await buildConfiguredProviders();
380
+ const providers = await buildConfiguredProviders({ includePython: true });
345
381
  const perProvider = await Promise.all(Object.values(providers).map(async (instance) => {
346
382
  try {
347
383
  const models = await instance.getAvailableLanguageModels();
@@ -1 +1 @@
1
- {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"providers.js","sourceRoot":"","sources":["../src/providers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ import { type AnalyticsClient, type AnalyticsEvent, type AnalyticsTransport, type CommandCategory } from "@nodetool-ai/analytics";
2
+ type Env = Readonly<Record<string, string | undefined>>;
3
+ /** How long the CLI waits for a send after the command finished. */
4
+ export declare const CLI_FLUSH_BUDGET_MS = 1000;
5
+ /**
6
+ * Map a top-level command name to its category. Only the name commander
7
+ * matched is used, never `process.argv`, so no user value can reach it.
8
+ */
9
+ export declare function commandCategory(commandName: string | undefined): CommandCategory;
10
+ /**
11
+ * The ingestion URL. `NODETOOL_ANALYTICS_ENDPOINT` points a self-hosted or
12
+ * test install elsewhere; it only redirects events, it never enables them.
13
+ */
14
+ export declare function cliAnalyticsEndpoint(env: Env): string;
15
+ export interface CliTelemetryOptions {
16
+ env?: Env;
17
+ storePath?: string;
18
+ transport?: AnalyticsTransport;
19
+ platform?: NodeJS.Platform;
20
+ }
21
+ export declare function createCliAnalyticsClient(options?: CliTelemetryOptions): AnalyticsClient;
22
+ export interface CliTelemetrySession {
23
+ track(event: AnalyticsEvent): void;
24
+ /** Send what was recorded, waiting at most {@link CLI_FLUSH_BUDGET_MS}. */
25
+ finish(): Promise<void>;
26
+ }
27
+ /**
28
+ * Begin telemetry for one invocation. With consent absent or an env override
29
+ * set, every later call is a no-op and nothing is read beyond the consent
30
+ * file. Never throws.
31
+ */
32
+ export declare function startCliTelemetry(commandName: string | undefined, options?: CliTelemetryOptions): CliTelemetrySession;
33
+ /** Record an event on the current invocation, if telemetry is on. */
34
+ export declare function trackCliEvent(event: AnalyticsEvent): void;
35
+ /** Flush the current invocation's events. Call before `process.exit`. */
36
+ export declare function finishCliTelemetry(): Promise<void>;
37
+ export {};
38
+ //# sourceMappingURL=telemetry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.d.ts","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"AAcA,OAAO,EAOL,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACrB,MAAM,wBAAwB,CAAC;AAMhC,KAAK,GAAG,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC;AAExD,oEAAoE;AACpE,eAAO,MAAM,mBAAmB,OAAQ,CAAC;AAoBzC;;;GAGG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,CAOhF;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAarD;AAED,MAAM,WAAW,mBAAmB;IAClC,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,kBAAkB,CAAC;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;CAC5B;AAED,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,mBAAwB,GAChC,eAAe,CAajB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAAC;IACnC,2EAA2E;IAC3E,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACzB;AASD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,GAAE,mBAAwB,GAChC,mBAAmB,CA4CrB;AAED,qEAAqE;AACrE,wBAAgB,aAAa,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CAMzD;AAED,yEAAyE;AACzE,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,IAAI,CAAC,CAMxD"}
@@ -0,0 +1,158 @@
1
+ /**
2
+ * CLI product analytics: off unless the user ran `nodetool telemetry enable`.
3
+ *
4
+ * The CLI never prompts for consent, so scripts, CI, agents and `npx` runs
5
+ * behave the same whether or not anyone could answer. `NODETOOL_TELEMETRY=0`
6
+ * and `DO_NOT_TRACK=1` always win over stored consent, and no variable turns
7
+ * telemetry on. Events carry the top-level command category and buckets only:
8
+ * never arguments, paths, the working directory, environment variables or
9
+ * any output. Sending is bounded to about a second after the command has
10
+ * finished, never prints, and never changes the exit code.
11
+ *
12
+ * See docs/analytics.md.
13
+ */
14
+ import { createRequire } from "node:module";
15
+ import { COMMAND_CATEGORIES, DEFAULT_ANALYTICS_ENDPOINT, createAnalyticsClient, createFetchTransport, isAnalyticsDisabledByEnv, platformFromNode } from "@nodetool-ai/analytics";
16
+ import { createFileAnalyticsStore, defaultCliAnalyticsPath } from "@nodetool-ai/analytics/node";
17
+ /** How long the CLI waits for a send after the command finished. */
18
+ export const CLI_FLUSH_BUDGET_MS = 1_000;
19
+ const CLI_VERSION = createRequire(import.meta.url)("../package.json").version;
20
+ /** Top-level commands reported under a category other than their own name. */
21
+ const COMMAND_ALIASES = {
22
+ apps: "app",
23
+ generate: "run",
24
+ pack: "packs",
25
+ package: "packs",
26
+ runtime: "packs",
27
+ extension: "packs",
28
+ "js-script": "run",
29
+ jobs: "workflows",
30
+ runs: "workflows",
31
+ assets: "workflows"
32
+ };
33
+ /**
34
+ * Map a top-level command name to its category. Only the name commander
35
+ * matched is used, never `process.argv`, so no user value can reach it.
36
+ */
37
+ export function commandCategory(commandName) {
38
+ if (!commandName)
39
+ return "other";
40
+ const alias = COMMAND_ALIASES[commandName];
41
+ if (alias)
42
+ return alias;
43
+ return COMMAND_CATEGORIES.includes(commandName)
44
+ ? commandName
45
+ : "other";
46
+ }
47
+ /**
48
+ * The ingestion URL. `NODETOOL_ANALYTICS_ENDPOINT` points a self-hosted or
49
+ * test install elsewhere; it only redirects events, it never enables them.
50
+ */
51
+ export function cliAnalyticsEndpoint(env) {
52
+ const configured = env["NODETOOL_ANALYTICS_ENDPOINT"]?.trim();
53
+ if (!configured)
54
+ return DEFAULT_ANALYTICS_ENDPOINT;
55
+ try {
56
+ const url = new URL(configured);
57
+ const local = url.hostname === "localhost" || url.hostname === "127.0.0.1";
58
+ if (url.protocol === "https:" || (url.protocol === "http:" && local)) {
59
+ return url.toString();
60
+ }
61
+ }
62
+ catch {
63
+ // Fall through to the default.
64
+ }
65
+ return DEFAULT_ANALYTICS_ENDPOINT;
66
+ }
67
+ export function createCliAnalyticsClient(options = {}) {
68
+ const env = options.env ?? process.env;
69
+ return createAnalyticsClient({
70
+ clientType: "npm_cli",
71
+ appVersion: CLI_VERSION,
72
+ platform: platformFromNode(options.platform ?? process.platform),
73
+ store: createFileAnalyticsStore(options.storePath ?? defaultCliAnalyticsPath()),
74
+ transport: options.transport ??
75
+ createFetchTransport({ url: cliAnalyticsEndpoint(env), timeoutMs: CLI_FLUSH_BUDGET_MS }),
76
+ // The CLI sends once, after the command, instead of on a timer.
77
+ flushDelayMs: null
78
+ });
79
+ }
80
+ const NOOP_SESSION = {
81
+ track: () => undefined,
82
+ finish: async () => undefined
83
+ };
84
+ let active = NOOP_SESSION;
85
+ /**
86
+ * Begin telemetry for one invocation. With consent absent or an env override
87
+ * set, every later call is a no-op and nothing is read beyond the consent
88
+ * file. Never throws.
89
+ */
90
+ export function startCliTelemetry(commandName, options = {}) {
91
+ try {
92
+ const env = options.env ?? process.env;
93
+ if (isAnalyticsDisabledByEnv(env)) {
94
+ active = NOOP_SESSION;
95
+ return active;
96
+ }
97
+ // `telemetry status|inspect|enable|disable` manage consent; reporting
98
+ // them would send an event as a side effect of turning telemetry on.
99
+ if (commandName === "telemetry") {
100
+ active = NOOP_SESSION;
101
+ return active;
102
+ }
103
+ const client = createCliAnalyticsClient(options);
104
+ client.track({
105
+ event: "cli_started",
106
+ properties: { commandCategory: commandCategory(commandName) }
107
+ });
108
+ let finished = false;
109
+ active = {
110
+ track: (event) => client.track(event),
111
+ async finish() {
112
+ if (finished)
113
+ return;
114
+ finished = true;
115
+ let timer;
116
+ const budget = new Promise((resolve) => {
117
+ timer = setTimeout(resolve, CLI_FLUSH_BUDGET_MS);
118
+ timer.unref();
119
+ });
120
+ try {
121
+ await Promise.race([client.flush({ force: true }), budget]);
122
+ }
123
+ catch {
124
+ // Telemetry never affects the command.
125
+ }
126
+ finally {
127
+ if (timer)
128
+ clearTimeout(timer);
129
+ client.shutdown();
130
+ }
131
+ }
132
+ };
133
+ return active;
134
+ }
135
+ catch {
136
+ active = NOOP_SESSION;
137
+ return active;
138
+ }
139
+ }
140
+ /** Record an event on the current invocation, if telemetry is on. */
141
+ export function trackCliEvent(event) {
142
+ try {
143
+ active.track(event);
144
+ }
145
+ catch {
146
+ // Never surfaces.
147
+ }
148
+ }
149
+ /** Flush the current invocation's events. Call before `process.exit`. */
150
+ export async function finishCliTelemetry() {
151
+ try {
152
+ await active.finish();
153
+ }
154
+ catch {
155
+ // Never surfaces.
156
+ }
157
+ }
158
+ //# sourceMappingURL=telemetry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"telemetry.js","sourceRoot":"","sources":["../src/telemetry.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@nodetool-ai/cli",
3
- "version": "0.8.4-a24.3",
4
- "description": "NodeTool chat CLI — interactive AI chat with agent mode and tool support",
3
+ "version": "0.8.5",
4
+ "mcpName": "io.github.nodetool-ai/nodetool",
5
+ "description": "NodeTool CLI and MCP server. Gives Claude Code, Codex, Cursor and other MCP clients image, video and audio generation, workflows, a video timeline and a 2D and 3D game engine.",
5
6
  "type": "module",
6
7
  "engines": {
7
8
  "node": ">=22.0.0"
@@ -20,35 +21,36 @@
20
21
  },
21
22
  "dependencies": {
22
23
  "@inquirer/prompts": "^8.5.2",
23
- "@nodetool-ai/agents": "0.8.4-a24.3",
24
- "@nodetool-ai/app-export": "0.8.4-a24.3",
25
- "@nodetool-ai/app-runtime": "0.8.4-a24.3",
26
- "@nodetool-ai/browser": "0.8.4-a24.3",
27
- "@nodetool-ai/chat": "0.8.4-a24.3",
28
- "@nodetool-ai/code-nodes": "0.8.4-a24.3",
29
- "@nodetool-ai/compute": "0.8.4-a24.3",
30
- "@nodetool-ai/config": "0.8.4-a24.3",
31
- "@nodetool-ai/core-nodes": "0.8.4-a24.3",
32
- "@nodetool-ai/data-nodes": "0.8.4-a24.3",
33
- "@nodetool-ai/deploy": "0.8.4-a24.3",
34
- "@nodetool-ai/dsl": "0.8.4-a24.3",
35
- "@nodetool-ai/execution": "0.8.4-a24.3",
36
- "@nodetool-ai/game-runtime": "0.8.4-a24.3",
37
- "@nodetool-ai/huggingface": "0.8.4-a24.3",
38
- "@nodetool-ai/kernel": "0.8.4-a24.3",
39
- "@nodetool-ai/llm-nodes": "0.8.4-a24.3",
40
- "@nodetool-ai/models": "0.8.4-a24.3",
41
- "@nodetool-ai/node-catalog": "0.8.4-a24.3",
42
- "@nodetool-ai/node-sdk": "0.8.4-a24.3",
43
- "@nodetool-ai/protocol": "0.8.4-a24.3",
44
- "@nodetool-ai/runtime": "0.8.4-a24.3",
45
- "@nodetool-ai/sandbox-compiler": "0.8.4-a24.3",
46
- "@nodetool-ai/security": "0.8.4-a24.3",
47
- "@nodetool-ai/storage": "0.8.4-a24.3",
48
- "@nodetool-ai/telegram": "0.8.4-a24.3",
49
- "@nodetool-ai/text-nodes": "0.8.4-a24.3",
50
- "@nodetool-ai/vectorstore": "0.8.4-a24.3",
51
- "@nodetool-ai/websocket": "0.8.4-a24.3",
24
+ "@nodetool-ai/agents": "0.8.5",
25
+ "@nodetool-ai/analytics": "0.8.5",
26
+ "@nodetool-ai/app-export": "0.8.5",
27
+ "@nodetool-ai/app-runtime": "0.8.5",
28
+ "@nodetool-ai/browser": "0.8.5",
29
+ "@nodetool-ai/chat": "0.8.5",
30
+ "@nodetool-ai/code-nodes": "0.8.5",
31
+ "@nodetool-ai/compute": "0.8.5",
32
+ "@nodetool-ai/config": "0.8.5",
33
+ "@nodetool-ai/core-nodes": "0.8.5",
34
+ "@nodetool-ai/data-nodes": "0.8.5",
35
+ "@nodetool-ai/deploy": "0.8.5",
36
+ "@nodetool-ai/dsl": "0.8.5",
37
+ "@nodetool-ai/execution": "0.8.5",
38
+ "@nodetool-ai/game-runtime": "0.8.5",
39
+ "@nodetool-ai/huggingface": "0.8.5",
40
+ "@nodetool-ai/kernel": "0.8.5",
41
+ "@nodetool-ai/llm-nodes": "0.8.5",
42
+ "@nodetool-ai/models": "0.8.5",
43
+ "@nodetool-ai/node-catalog": "0.8.5",
44
+ "@nodetool-ai/node-sdk": "0.8.5",
45
+ "@nodetool-ai/protocol": "0.8.5",
46
+ "@nodetool-ai/runtime": "0.8.5",
47
+ "@nodetool-ai/sandbox-compiler": "0.8.5",
48
+ "@nodetool-ai/security": "0.8.5",
49
+ "@nodetool-ai/storage": "0.8.5",
50
+ "@nodetool-ai/telegram": "0.8.5",
51
+ "@nodetool-ai/text-nodes": "0.8.5",
52
+ "@nodetool-ai/vectorstore": "0.8.5",
53
+ "@nodetool-ai/websocket": "0.8.5",
52
54
  "@trpc/client": "^11.0.0",
53
55
  "@trpc/server": "^11.0.0",
54
56
  "chalk": "^5.3.0",
@@ -108,6 +110,12 @@
108
110
  "command-line",
109
111
  "terminal",
110
112
  "agent-mode",
111
- "chat-cli"
113
+ "chat-cli",
114
+ "mcp",
115
+ "mcp-server",
116
+ "claude-code",
117
+ "image-generation",
118
+ "video-editor",
119
+ "game-engine"
112
120
  ]
113
121
  }