@rubytech/taskmaster 1.22.2 → 1.22.4

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.
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.22.2",
3
- "commit": "f3921f5c47954051454d83f9d0ea5517b8c6359b",
4
- "builtAt": "2026-03-07T06:45:43.433Z"
2
+ "version": "1.22.4",
3
+ "commit": "aaff3ea381261a6e43b2009626f5d544ee21525a",
4
+ "builtAt": "2026-03-07T06:52:43.559Z"
5
5
  }
@@ -28,6 +28,8 @@ import { setGatewaySigusr1RestartPolicy } from "../infra/restart.js";
28
28
  import { startDiagnosticHeartbeat, stopDiagnosticHeartbeat } from "../logging/diagnostic.js";
29
29
  import { createSubsystemLogger, runtimeForLogger } from "../logging/subsystem.js";
30
30
  import { getMemorySearchManager } from "../memory/index.js";
31
+ import { resolveBundledPluginsDirDetailed } from "../plugins/bundled-dir.js";
32
+ import { loadPluginManifestRegistry } from "../plugins/manifest-registry.js";
31
33
  import { runOnboardingWizard } from "../wizard/onboarding.js";
32
34
  import { startGatewayConfigReloader } from "./config-reload.js";
33
35
  import { getHealthCache, getHealthVersion, getPresenceVersion, incrementPresenceVersion, refreshGatewayHealthSnapshot, } from "./server/health-state.js";
@@ -131,6 +133,36 @@ export async function startGatewayServer(port = 18789, opts = {}) {
131
133
  : "Unknown validation issue.";
132
134
  throw new Error(`Invalid config at ${configSnapshot.path}.\n${issues}\nRun "${formatCliCommand("taskmaster doctor")}" to repair, then retry.`);
133
135
  }
136
+ // Log plugin discovery results at startup for diagnostics.
137
+ {
138
+ const pluginRegistry = loadPluginManifestRegistry({
139
+ config: configSnapshot.config,
140
+ workspaceDir: resolveAgentWorkspaceDir(configSnapshot.config, resolveDefaultAgentId(configSnapshot.config)) ?? undefined,
141
+ });
142
+ const bundled = resolveBundledPluginsDirDetailed();
143
+ if (bundled.dir) {
144
+ logPlugins.info(`extensions loaded from ${bundled.dir}`);
145
+ }
146
+ else {
147
+ logPlugins.error(`extensions directory missing — expected at ${bundled.resolvedPath ?? "unknown"}. ` +
148
+ "Channels like WhatsApp will not be available. " +
149
+ "Try reinstalling: sudo npm i -g @rubytech/taskmaster@latest");
150
+ }
151
+ const pluginIds = pluginRegistry.plugins.map((p) => p.id);
152
+ if (pluginIds.length > 0) {
153
+ logPlugins.info(`available channels: ${pluginIds.join(", ")}`);
154
+ }
155
+ else {
156
+ logPlugins.warn("no channels available — WhatsApp and other integrations will not work. " +
157
+ "Try reinstalling: sudo npm i -g @rubytech/taskmaster@latest");
158
+ }
159
+ for (const diag of pluginRegistry.diagnostics) {
160
+ if (diag.level === "error")
161
+ logPlugins.error(diag.message);
162
+ else if (diag.level === "warn")
163
+ logPlugins.warn(diag.message);
164
+ }
165
+ }
134
166
  const autoEnable = applyPluginAutoEnable({ config: configSnapshot.config, env: process.env });
135
167
  if (autoEnable.changes.length > 0) {
136
168
  try {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rubytech/taskmaster",
3
- "version": "1.22.2",
3
+ "version": "1.22.4",
4
4
  "description": "AI-powered business assistant for small businesses",
5
5
  "publishConfig": {
6
6
  "access": "public"