@evalops/maestro 0.10.47 → 0.10.48

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 (72) hide show
  1. package/README.md +4 -0
  2. package/dist/audit/logger.d.ts +1 -1
  3. package/dist/cli/args.d.ts.map +1 -1
  4. package/dist/cli/args.js +2 -0
  5. package/dist/cli/args.js.map +1 -1
  6. package/dist/cli/commands/update.d.ts +12 -0
  7. package/dist/cli/commands/update.d.ts.map +1 -0
  8. package/dist/cli/commands/update.js +148 -0
  9. package/dist/cli/commands/update.js.map +1 -0
  10. package/dist/cli/help.d.ts.map +1 -1
  11. package/dist/cli/help.js +4 -0
  12. package/dist/cli/help.js.map +1 -1
  13. package/dist/cli-tui/commands/command-catalog.js +2 -2
  14. package/dist/cli-tui/commands/command-catalog.js.map +1 -1
  15. package/dist/cli-tui/commands/subcommands/ui-commands.d.ts +1 -1
  16. package/dist/cli-tui/commands/subcommands/ui-commands.js +2 -2
  17. package/dist/cli-tui/commands/subcommands/ui-commands.js.map +1 -1
  18. package/dist/cli-tui/footer.d.ts.map +1 -1
  19. package/dist/cli-tui/footer.js +1 -1
  20. package/dist/cli-tui/footer.js.map +1 -1
  21. package/dist/cli-tui/tui-renderer/ui-state-controller.d.ts +1 -1
  22. package/dist/cli-tui/tui-renderer/ui-state-controller.d.ts.map +1 -1
  23. package/dist/cli-tui/tui-renderer/ui-state-controller.js +5 -11
  24. package/dist/cli-tui/tui-renderer/ui-state-controller.js.map +1 -1
  25. package/dist/cli-tui/tui-renderer.d.ts.map +1 -1
  26. package/dist/cli-tui/tui-renderer.js +1 -1
  27. package/dist/cli-tui/tui-renderer.js.map +1 -1
  28. package/dist/cli-tui/ui-state.js +1 -1
  29. package/dist/cli-tui/ui-state.js.map +1 -1
  30. package/dist/cli-tui/utils/footer-utils.d.ts +1 -1
  31. package/dist/cli-tui/utils/footer-utils.d.ts.map +1 -1
  32. package/dist/cli-tui/utils/footer-utils.js.map +1 -1
  33. package/dist/cli.js +4072 -3450
  34. package/dist/cli.js.map +1 -1
  35. package/dist/codex/app-server-client.d.ts +8 -0
  36. package/dist/codex/app-server-client.d.ts.map +1 -1
  37. package/dist/codex/app-server-client.js +49 -3
  38. package/dist/codex/app-server-client.js.map +1 -1
  39. package/dist/main.d.ts.map +1 -1
  40. package/dist/main.js +5 -0
  41. package/dist/main.js.map +1 -1
  42. package/dist/models/config-loader.d.ts +13 -13
  43. package/dist/node_modules/@evalops/contracts/dist/scenario.d.ts +2 -0
  44. package/dist/node_modules/@evalops/contracts/dist/scenario.d.ts.map +1 -1
  45. package/dist/node_modules/@evalops/contracts/dist/scenario.js.map +1 -1
  46. package/dist/node_modules/@evalops/contracts/package.json +1 -1
  47. package/dist/node_modules/@evalops/tui/package.json +1 -1
  48. package/dist/platform/operating-plane-client.d.ts +3 -3
  49. package/dist/platform/operating-plane-client.d.ts.map +1 -1
  50. package/dist/platform/operating-plane-client.js.map +1 -1
  51. package/dist/platform/operating-plane-summary.js +3 -6
  52. package/dist/platform/operating-plane-summary.js.map +1 -1
  53. package/dist/server/agent-trajectory-scenarios.d.ts.map +1 -1
  54. package/dist/server/agent-trajectory-scenarios.js +29 -6
  55. package/dist/server/agent-trajectory-scenarios.js.map +1 -1
  56. package/dist/server/handlers/ui.d.ts.map +1 -1
  57. package/dist/server/handlers/ui.js +5 -5
  58. package/dist/server/handlers/ui.js.map +1 -1
  59. package/dist/server/stores/ui-store.d.ts.map +1 -1
  60. package/dist/server/stores/ui-store.js +8 -1
  61. package/dist/server/stores/ui-store.js.map +1 -1
  62. package/dist/tools/background/task-types.d.ts +1 -1
  63. package/dist/update/check.d.ts +2 -0
  64. package/dist/update/check.d.ts.map +1 -1
  65. package/dist/update/check.js +100 -41
  66. package/dist/update/check.js.map +1 -1
  67. package/dist/update/startup-refresh.d.ts +56 -0
  68. package/dist/update/startup-refresh.d.ts.map +1 -0
  69. package/dist/update/startup-refresh.js +321 -0
  70. package/dist/update/startup-refresh.js.map +1 -0
  71. package/dist/version.json +2 -2
  72. package/package.json +297 -296
@@ -0,0 +1 @@
1
+ {"version":3,"file":"startup-refresh.js","sourceRoot":"","sources":["../../src/update/startup-refresh.ts"],"names":[],"mappings":"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","sourcesContent":["import { spawnSync } from \"node:child_process\";\nimport {\n\texistsSync,\n\tmkdirSync,\n\treadFileSync,\n\trealpathSync,\n\twriteFileSync,\n} from \"node:fs\";\nimport { basename, dirname, join, resolve } from \"node:path\";\nimport { parseArgs } from \"../cli/args.js\";\nimport { getAgentDir } from \"../config/constants.js\";\nimport {\n\tgetGlobalInstallCommand,\n\tgetPackageName,\n} from \"../package-metadata.js\";\nimport { withTimeout } from \"../utils/async.js\";\nimport {\n\ttype UpdateCheckResult,\n\tcheckForUpdate,\n\tresolveUpdateUrls,\n} from \"./check.js\";\n\nconst SKIP_ENV = \"MAESTRO_SKIP_STARTUP_UPDATE\";\nconst STARTUP_UPDATE_ENV = \"MAESTRO_STARTUP_UPDATE\";\nconst STARTUP_UPDATE_STATE_ENV = \"MAESTRO_STARTUP_UPDATE_STATE\";\nconst STARTUP_UPDATE_TIMEOUT_ENV = \"MAESTRO_STARTUP_UPDATE_TIMEOUT_MS\";\nconst STARTUP_UPDATE_TTL_ENV = \"MAESTRO_STARTUP_UPDATE_RETRY_MS\";\nconst DEFAULT_INSTALL_TIMEOUT_MS = 60_000;\nconst DEFAULT_RETRY_MS = 24 * 60 * 60 * 1_000;\nconst DEFAULT_STARTUP_UPDATE_TIMEOUT_MS = 1_500;\nconst NPM_PREFIX_TIMEOUT_MS = 2_000;\nconst BUN_PREFIX_TIMEOUT_MS = 2_000;\n\ntype PackageManager = \"npm\" | \"bun\";\n\ntype GlobalInstallContext = {\n\tpackageManager: PackageManager;\n\tprefix: string;\n};\n\ntype StartupUpdateState = {\n\tversion?: string;\n\tlastAttemptAt?: number;\n\tlastStatus?: \"failed\" | \"updated\";\n};\n\nexport type StartupUpdateOutcome =\n\t| { status: \"skipped\"; reason: string }\n\t| { status: \"current\"; check: UpdateCheckResult }\n\t| { status: \"available\"; check: UpdateCheckResult }\n\t| { status: \"failed\"; check?: UpdateCheckResult; error: string }\n\t| { status: \"updated\"; check: UpdateCheckResult }\n\t| { status: \"restarted\"; check: UpdateCheckResult; exitCode: number };\n\ntype StartupUpdateOptions = {\n\targs?: string[];\n\targv?: string[];\n\tcurrentVersion: string;\n\tenv?: NodeJS.ProcessEnv;\n\tisTty?: boolean;\n\tnow?: number;\n\tpackageName?: string;\n\tcheckForUpdateImpl?: (\n\t\tcurrentVersion: string,\n\t\toptions?: { timeoutMs?: number; urls?: string[] },\n\t) => Promise<UpdateCheckResult>;\n\tcheckTimeoutMs?: number;\n\tglobalInstallContexts?: GlobalInstallContext[] | null;\n\tglobalPrefix?: string | null;\n\tinstallPackage?: (\n\t\tpackageManager: PackageManager,\n\t\tpackageName: string,\n\t\tversion: string,\n\t) => {\n\t\tstatus: number | null;\n\t\terror?: Error;\n\t};\n\trestart?: false | (() => { status: number | null; error?: Error });\n\tstatePath?: string;\n};\n\nconst OFF_VALUES = new Set([\"0\", \"false\", \"off\", \"skip\", \"disabled\"]);\nconst CHECK_ONLY_VALUES = new Set([\"check\", \"notice\", \"notify\"]);\nconst INSTALLABLE_VERSION = /^\\d+\\.\\d+\\.\\d+(?:-[0-9A-Za-z.-]+)?$/u;\n\nconst envValue = (env: NodeJS.ProcessEnv, key: string): string =>\n\tenv[key]?.trim().toLowerCase() ?? \"\";\n\nconst toErrorMessage = (error: unknown): string => {\n\tif (error instanceof Error) {\n\t\treturn error.message;\n\t}\n\tif (typeof error === \"string\") {\n\t\treturn error;\n\t}\n\treturn \"Unknown error\";\n};\n\nconst shouldSkipForArgs = (args: string[]): string | null => {\n\tif (args[0] === \"a2a\") {\n\t\treturn \"a2a command\";\n\t}\n\tif (args[0] === \"exec\") {\n\t\treturn \"non-interactive command\";\n\t}\n\tif (args[0] === \"update\") {\n\t\treturn \"manual update command\";\n\t}\n\tif (\n\t\targs.includes(\"--version\") ||\n\t\targs.includes(\"-v\") ||\n\t\targs.includes(\"--help\") ||\n\t\targs.includes(\"-h\")\n\t) {\n\t\treturn \"immediate-exit command\";\n\t}\n\tif (\n\t\targs.includes(\"--headless\") ||\n\t\targs.includes(\"--json\") ||\n\t\targs.includes(\"--rpc\") ||\n\t\targs.includes(\"rpc\")\n\t) {\n\t\treturn \"non-interactive command\";\n\t}\n\tfor (let i = 0; i < args.length; i++) {\n\t\tconst arg = args[i];\n\t\tif (arg === \"--mode\" && args[i + 1] === \"headless\") {\n\t\t\treturn \"headless command\";\n\t\t}\n\t\tif (\n\t\t\targ?.startsWith(\"--mode=\") &&\n\t\t\targ.slice(\"--mode=\".length) === \"headless\"\n\t\t) {\n\t\t\treturn \"headless command\";\n\t\t}\n\t}\n\tif (parseArgs(args).messages.length > 0) {\n\t\treturn \"single-shot prompt\";\n\t}\n\treturn null;\n};\n\nexport const isInstalledPackageEntrypoint = (\n\tentrypoint: string | undefined,\n\tpackageName = getPackageName(),\n\tglobalPrefix?: string | null,\n): boolean => {\n\tif (!entrypoint) {\n\t\treturn false;\n\t}\n\tif (isPackageEntrypointPath(entrypoint, packageName, globalPrefix)) {\n\t\treturn true;\n\t}\n\ttry {\n\t\treturn isPackageEntrypointPath(\n\t\t\trealpathSync(entrypoint),\n\t\t\tpackageName,\n\t\t\tglobalPrefix,\n\t\t);\n\t} catch {\n\t\treturn false;\n\t}\n};\n\nconst isPackageEntrypointPath = (\n\tentrypoint: string,\n\tpackageName: string,\n\tglobalPrefix?: string | null,\n): boolean => {\n\tconst normalized = entrypoint.replace(/\\\\/g, \"/\");\n\tconst packageEntrypoint = `/node_modules/${packageName}/dist/cli.js`;\n\tif (!normalized.endsWith(packageEntrypoint)) {\n\t\treturn false;\n\t}\n\tif (!globalPrefix) {\n\t\treturn true;\n\t}\n\tconst normalizedPrefix = globalPrefix\n\t\t.replace(/\\\\/g, \"/\")\n\t\t.replace(/\\/+$/u, \"\");\n\tconst normalizedPrefixes = new Set([normalizedPrefix]);\n\ttry {\n\t\tnormalizedPrefixes.add(\n\t\t\trealpathSync(globalPrefix).replace(/\\\\/g, \"/\").replace(/\\/+$/u, \"\"),\n\t\t);\n\t} catch {\n\t\t// A missing prefix will fail the exact path checks below.\n\t}\n\tfor (const prefix of normalizedPrefixes) {\n\t\tif (\n\t\t\tnormalized === `${prefix}/lib/node_modules/${packageName}/dist/cli.js` ||\n\t\t\tnormalized === `${prefix}/node_modules/${packageName}/dist/cli.js`\n\t\t) {\n\t\t\treturn true;\n\t\t}\n\t}\n\treturn false;\n};\n\nconst resolveStatePath = (\n\tenv: NodeJS.ProcessEnv = process.env,\n\toverride?: string,\n): string => {\n\tif (override) {\n\t\treturn override;\n\t}\n\tif (env[STARTUP_UPDATE_STATE_ENV]) {\n\t\treturn resolve(env[STARTUP_UPDATE_STATE_ENV]);\n\t}\n\treturn resolve(getAgentDir(), \"startup-update-state.json\");\n};\n\nconst readState = (path: string): StartupUpdateState | null => {\n\tif (!existsSync(path)) {\n\t\treturn null;\n\t}\n\ttry {\n\t\treturn JSON.parse(readFileSync(path, \"utf-8\")) as StartupUpdateState;\n\t} catch {\n\t\treturn null;\n\t}\n};\n\nconst writeState = (path: string, state: StartupUpdateState): void => {\n\tmkdirSync(dirname(path), { recursive: true });\n\twriteFileSync(path, JSON.stringify(state, null, 2), \"utf-8\");\n};\n\nconst retryMsFromEnv = (env: NodeJS.ProcessEnv): number => {\n\tconst parsed = Number.parseInt(env[STARTUP_UPDATE_TTL_ENV] ?? \"\", 10);\n\tif (Number.isFinite(parsed) && parsed >= 0) {\n\t\treturn parsed;\n\t}\n\treturn DEFAULT_RETRY_MS;\n};\n\nconst startupCheckTimeoutMsFromEnv = (env: NodeJS.ProcessEnv): number => {\n\tconst parsed = Number.parseInt(env[STARTUP_UPDATE_TIMEOUT_ENV] ?? \"\", 10);\n\tif (Number.isFinite(parsed) && parsed > 0) {\n\t\treturn parsed;\n\t}\n\treturn DEFAULT_STARTUP_UPDATE_TIMEOUT_MS;\n};\n\nconst startupSourceTimeoutMs = (\n\ttotalTimeoutMs: number,\n\tsourceCount: number,\n): number => Math.max(1, Math.floor(totalTimeoutMs / Math.max(1, sourceCount)));\n\nconst shouldThrottleAttempt = (\n\tstate: StartupUpdateState | null,\n\tversion: string,\n\tnow: number,\n\tretryMs: number,\n): boolean => {\n\tif (\n\t\t!state ||\n\t\tstate.version !== version ||\n\t\ttypeof state.lastAttemptAt !== \"number\" ||\n\t\tstate.lastStatus !== \"failed\"\n\t) {\n\t\treturn false;\n\t}\n\treturn now - state.lastAttemptAt < retryMs;\n};\n\nconst isInstallableVersion = (version: string): boolean =>\n\tINSTALLABLE_VERSION.test(version);\n\nconst defaultInstallPackage = (\n\tpackageManager: PackageManager,\n\tpackageName: string,\n\tversion: string,\n) => {\n\tconst result = spawnSync(\n\t\tpackageManager,\n\t\t[\"install\", \"-g\", `${packageName}@${version}`],\n\t\t{\n\t\t\tencoding: \"utf-8\",\n\t\t\tstdio: \"pipe\",\n\t\t\ttimeout: DEFAULT_INSTALL_TIMEOUT_MS,\n\t\t},\n\t);\n\treturn { status: result.status, error: result.error };\n};\n\nconst resolveNpmGlobalPrefix = (\n\tenv: NodeJS.ProcessEnv = process.env,\n): string | null => {\n\tconst result = spawnSync(\"npm\", [\"prefix\", \"-g\"], {\n\t\tencoding: \"utf-8\",\n\t\tenv,\n\t\tstdio: [\"ignore\", \"pipe\", \"ignore\"],\n\t\ttimeout: NPM_PREFIX_TIMEOUT_MS,\n\t});\n\tif (result.error || result.status !== 0) {\n\t\treturn null;\n\t}\n\tconst prefix = result.stdout.trim();\n\treturn prefix.length > 0 ? prefix : null;\n};\n\nconst resolveBunGlobalPrefix = (\n\tenv: NodeJS.ProcessEnv = process.env,\n): string | null => {\n\tconst result = spawnSync(\"bun\", [\"pm\", \"bin\", \"-g\"], {\n\t\tencoding: \"utf-8\",\n\t\tenv,\n\t\tstdio: [\"ignore\", \"pipe\", \"ignore\"],\n\t\ttimeout: BUN_PREFIX_TIMEOUT_MS,\n\t});\n\tif (result.error || result.status !== 0) {\n\t\treturn null;\n\t}\n\tconst binDir = result.stdout.trim();\n\tif (!binDir) {\n\t\treturn null;\n\t}\n\tconst bunHome = basename(binDir) === \"bin\" ? dirname(binDir) : binDir;\n\treturn join(bunHome, \"install\", \"global\");\n};\n\nconst resolveGlobalInstallContexts = (\n\tenv: NodeJS.ProcessEnv = process.env,\n): GlobalInstallContext[] => {\n\tconst contexts: GlobalInstallContext[] = [];\n\tconst npmPrefix = resolveNpmGlobalPrefix(env);\n\tif (npmPrefix) {\n\t\tcontexts.push({ packageManager: \"npm\", prefix: npmPrefix });\n\t}\n\tconst bunPrefix = resolveBunGlobalPrefix(env);\n\tif (bunPrefix) {\n\t\tcontexts.push({ packageManager: \"bun\", prefix: bunPrefix });\n\t}\n\treturn contexts;\n};\n\nexport async function attemptStartupUpdate(\n\toptions: StartupUpdateOptions,\n): Promise<StartupUpdateOutcome> {\n\tconst env = options.env ?? process.env;\n\tconst args = options.args ?? process.argv.slice(2);\n\tconst argv = options.argv ?? process.argv;\n\tconst packageName = options.packageName ?? getPackageName();\n\tconst updateMode = envValue(env, STARTUP_UPDATE_ENV);\n\tconst now = options.now ?? Date.now();\n\n\tif (env[SKIP_ENV]) {\n\t\treturn { status: \"skipped\", reason: `${SKIP_ENV} is set` };\n\t}\n\tif (env.CI || env.NODE_ENV === \"test\") {\n\t\treturn { status: \"skipped\", reason: \"test or CI environment\" };\n\t}\n\tif (OFF_VALUES.has(updateMode)) {\n\t\treturn { status: \"skipped\", reason: `${STARTUP_UPDATE_ENV} is disabled` };\n\t}\n\tif (\n\t\t!(options.isTty ?? Boolean(process.stdin.isTTY && process.stdout.isTTY))\n\t) {\n\t\treturn { status: \"skipped\", reason: \"non-TTY startup\" };\n\t}\n\tconst argsSkipReason = shouldSkipForArgs(args);\n\tif (argsSkipReason) {\n\t\treturn { status: \"skipped\", reason: argsSkipReason };\n\t}\n\tconst globalInstallContexts =\n\t\toptions.globalInstallContexts ??\n\t\t(options.globalPrefix === undefined\n\t\t\t? resolveGlobalInstallContexts(env)\n\t\t\t: options.globalPrefix\n\t\t\t\t? [{ packageManager: \"npm\" as const, prefix: options.globalPrefix }]\n\t\t\t\t: []);\n\tif (globalInstallContexts.length === 0) {\n\t\treturn {\n\t\t\tstatus: \"skipped\",\n\t\t\treason:\n\t\t\t\toptions.globalPrefix === null\n\t\t\t\t\t? \"npm global prefix unavailable\"\n\t\t\t\t\t: \"global package prefix unavailable\",\n\t\t};\n\t}\n\tconst installContext = globalInstallContexts.find((context) =>\n\t\tisInstalledPackageEntrypoint(argv[1], packageName, context.prefix),\n\t);\n\tif (!installContext) {\n\t\treturn {\n\t\t\tstatus: \"skipped\",\n\t\t\treason: \"not running installed global package\",\n\t\t};\n\t}\n\n\tconst checkTimeoutMs =\n\t\toptions.checkTimeoutMs ?? startupCheckTimeoutMsFromEnv(env);\n\tconst updateUrls = resolveUpdateUrls({}, env);\n\tconst checkOptions = {\n\t\ttimeoutMs: startupSourceTimeoutMs(checkTimeoutMs, updateUrls.length),\n\t\turls: updateUrls,\n\t};\n\tconst check = await withTimeout(\n\t\t(options.checkForUpdateImpl ?? checkForUpdate)(\n\t\t\toptions.currentVersion,\n\t\t\tcheckOptions,\n\t\t),\n\t\tcheckTimeoutMs,\n\t\t`Startup update check timed out after ${checkTimeoutMs}ms`,\n\t).catch(\n\t\t(error): UpdateCheckResult => ({\n\t\t\tcurrentVersion: options.currentVersion,\n\t\t\tisUpdateAvailable: false,\n\t\t\tsourceUrl: \"\",\n\t\t\terror: toErrorMessage(error),\n\t\t}),\n\t);\n\tif (check.error) {\n\t\treturn { status: \"failed\", check, error: check.error };\n\t}\n\tif (!check.isUpdateAvailable || !check.latestVersion) {\n\t\treturn { status: \"current\", check };\n\t}\n\tif (CHECK_ONLY_VALUES.has(updateMode)) {\n\t\treturn { status: \"available\", check };\n\t}\n\tif (!isInstallableVersion(check.latestVersion)) {\n\t\treturn {\n\t\t\tstatus: \"failed\",\n\t\t\tcheck,\n\t\t\terror: `Refusing to install unsupported version ${check.latestVersion}`,\n\t\t};\n\t}\n\n\tconst statePath = resolveStatePath(env, options.statePath);\n\tif (\n\t\tshouldThrottleAttempt(\n\t\t\treadState(statePath),\n\t\t\tcheck.latestVersion,\n\t\t\tnow,\n\t\t\tretryMsFromEnv(env),\n\t\t)\n\t) {\n\t\treturn { status: \"available\", check };\n\t}\n\n\twriteState(statePath, {\n\t\tversion: check.latestVersion,\n\t\tlastAttemptAt: now,\n\t\tlastStatus: \"failed\",\n\t});\n\tconst install = (options.installPackage ?? defaultInstallPackage)(\n\t\tinstallContext.packageManager,\n\t\tpackageName,\n\t\tcheck.latestVersion,\n\t);\n\tif (install.error || install.status !== 0) {\n\t\treturn {\n\t\t\tstatus: \"failed\",\n\t\t\tcheck,\n\t\t\terror:\n\t\t\t\tinstall.error?.message ??\n\t\t\t\t`${getGlobalInstallCommand(installContext.packageManager, `${packageName}@${check.latestVersion}`)} exited ${install.status}`,\n\t\t};\n\t}\n\n\twriteState(statePath, {\n\t\tversion: check.latestVersion,\n\t\tlastAttemptAt: now,\n\t\tlastStatus: \"updated\",\n\t});\n\n\tif (options.restart === false) {\n\t\treturn { status: \"updated\", check };\n\t}\n\n\tconst restart =\n\t\toptions.restart ??\n\t\t(() => {\n\t\t\tconst result = spawnSync(process.execPath, argv.slice(1), {\n\t\t\t\tstdio: \"inherit\",\n\t\t\t\tenv: { ...env, [SKIP_ENV]: \"1\" },\n\t\t\t});\n\t\t\treturn { status: result.status, error: result.error };\n\t\t});\n\tconst restarted = restart();\n\tif (restarted.error) {\n\t\treturn { status: \"updated\", check };\n\t}\n\treturn { status: \"restarted\", check, exitCode: restarted.status ?? 0 };\n}\n"]}
package/dist/version.json CHANGED
@@ -1,4 +1,4 @@
1
1
  {
2
- "version": "0.10.47",
3
- "notes": "Maestro by EvalOps - Deterministic coding agent with TUI/CLI and Web UI for AI-assisted development v0.10.47 is now available."
2
+ "version": "0.10.48",
3
+ "notes": "Maestro by EvalOps - Deterministic coding agent with TUI/CLI and Web UI for AI-assisted development v0.10.48 is now available."
4
4
  }