@mutagent/cli 0.1.261 → 0.1.263
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.
- package/dist/bin/cli.js +1677 -168
- package/dist/bin/cli.js.map +19 -7
- package/dist/index.js +9 -4
- package/dist/index.js.map +3 -3
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -67,8 +67,8 @@ function loadConfig() {
|
|
|
67
67
|
...credentials,
|
|
68
68
|
apiKey: process.env.MUTAGENT_API_KEY ?? credentials?.apiKey ?? rcConfig?.apiKey,
|
|
69
69
|
endpoint: process.env.MUTAGENT_ENDPOINT ?? credentials?.endpoint ?? rcConfig?.endpoint,
|
|
70
|
-
defaultWorkspace: credentials?.defaultWorkspace ?? rcConfig?.defaultWorkspace,
|
|
71
|
-
defaultWorkspaceSource: credentials?.defaultWorkspace ? credentials.defaultWorkspaceSource ?? "login-inferred" : rcConfig?.defaultWorkspace ? "login-inferred" : undefined,
|
|
70
|
+
defaultWorkspace: process.env.MUTAGENT_WORKSPACE_ID ?? credentials?.defaultWorkspace ?? rcConfig?.defaultWorkspace,
|
|
71
|
+
defaultWorkspaceSource: process.env.MUTAGENT_WORKSPACE_ID ? "user" : credentials?.defaultWorkspace ? credentials.defaultWorkspaceSource ?? "login-inferred" : rcConfig?.defaultWorkspace ? "login-inferred" : undefined,
|
|
72
72
|
defaultOrganization: credentials?.defaultOrganization ?? rcConfig?.defaultOrganization
|
|
73
73
|
};
|
|
74
74
|
return configSchema.parse(merged);
|
|
@@ -268,7 +268,7 @@ function handleError(error, isJson) {
|
|
|
268
268
|
}
|
|
269
269
|
process.exit(1);
|
|
270
270
|
}
|
|
271
|
-
var MutagentError, AUTH_REMEDIATION_MESSAGE, AuthenticationError, ApiError, WORKSPACE_REMEDIATION_MESSAGE, WorkspaceContextError, ValidationError;
|
|
271
|
+
var MutagentError, AUTH_REMEDIATION_MESSAGE, AuthenticationError, ApiError, WORKSPACE_REMEDIATION_MESSAGE, WorkspaceContextError, ValidationError, NotFoundError;
|
|
272
272
|
var init_errors = __esm(() => {
|
|
273
273
|
MutagentError = class MutagentError extends Error {
|
|
274
274
|
code;
|
|
@@ -334,6 +334,11 @@ var init_errors = __esm(() => {
|
|
|
334
334
|
super("VALIDATION_ERROR", message, "Check the command syntax with: mutagent <command> --help", 1);
|
|
335
335
|
}
|
|
336
336
|
};
|
|
337
|
+
NotFoundError = class NotFoundError extends MutagentError {
|
|
338
|
+
constructor(resource, id) {
|
|
339
|
+
super("NOT_FOUND", `${resource} not found: ${id}`, `Check the ID and try again. List available ${resource.toLowerCase()}s with the appropriate list command.`, 1);
|
|
340
|
+
}
|
|
341
|
+
};
|
|
337
342
|
});
|
|
338
343
|
|
|
339
344
|
// src/lib/provider-request.ts
|
|
@@ -1088,5 +1093,5 @@ export {
|
|
|
1088
1093
|
ApiError
|
|
1089
1094
|
};
|
|
1090
1095
|
|
|
1091
|
-
//# debugId=
|
|
1096
|
+
//# debugId=9DF01821680776F564756E2164756E21
|
|
1092
1097
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"sources": ["../src/lib/secure-file.ts", "../src/lib/config.ts", "../src/lib/errors.ts", "../src/lib/provider-request.ts", "../src/lib/sdk-mappers.ts", "../src/lib/sdk-client.ts", "../src/index.ts", "../src/lib/output.ts"],
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"/**\n * Owner-only file writes for credential material (issue #1558, D13).\n *\n * Every `writeFileSync(CREDENTIALS_FILE, …)` in `lib/config.ts` was called with\n * no `mode`, so the credentials file was created 0644 — world-readable. The API\n * key it holds was therefore readable by every other account on a shared or\n * multi-user machine.\n *\n * WHY A CHMOD IS REQUIRED AND `{ mode: 0o600 }` ALONE IS NOT:\n *\n * `writeFileSync`'s `mode` option is applied by `open(2)` at CREATION time and\n * is ignored outright when the file already exists. Passing the mode fixes\n * only brand-new installs; every user who already has a 0644 credentials file\n * would keep it at 0644 forever, through every subsequent login. The explicit\n * `chmodSync` is what repairs the existing population.\n *\n * Both are kept: the mode closes the window between create and chmod (the file\n * is never briefly world-readable with a key already in it), and the chmod\n * repairs anything written before this change.\n */\n\nimport { writeFileSync, chmodSync } from 'fs';\n\n/** Owner read/write only. No group, no other. */\nexport const SECURE_FILE_MODE = 0o600;\n\n/**\n * Write `contents` to `path` such that the file ends up owner-readable only.\n *\n * Creation uses mode 0600 so the bytes are never world-readable even briefly;\n * the follow-up chmod repairs a pre-existing file whose mode `writeFileSync`\n * would otherwise leave untouched.\n *\n * The chmod is best-effort: on filesystems that do not implement POSIX\n * permissions (a Windows volume, some network mounts) `chmodSync` throws, and\n * failing the whole login over an unsupported permission model would be worse\n * than the weaker mode. The write itself is never swallowed.\n */\nexport function writeSecureFile(path: string, contents: string): void {\n writeFileSync(path, contents, { mode: SECURE_FILE_MODE });\n try {\n chmodSync(path, SECURE_FILE_MODE);\n } catch {\n // Filesystem does not support POSIX modes — the write above still stands.\n }\n}\n",
|
|
6
|
-
"import { cosmiconfigSync } from 'cosmiconfig';\nimport { z } from 'zod';\nimport { homedir } from 'os';\nimport { join } from 'path';\nimport { existsSync, readFileSync, mkdirSync } from 'fs';\nimport type { Config } from '../types/index.js';\nimport { writeSecureFile } from './secure-file.js';\n\nconst configSchema = z.object({\n apiKey: z.string().optional(),\n endpoint: z.string().default('https://api.mutagent.io'),\n format: z.enum(['table', 'json']).default('table'),\n timeout: z.number().default(30000),\n defaultWorkspace: z.string().optional(),\n defaultWorkspaceSource: z.enum(['user', 'login-inferred']).optional(),\n defaultOrganization: z.string().optional(),\n});\n\n/**\n * Where `defaultWorkspace` came from.\n *\n * `user` — an explicit `mutagent config set workspace <id>`\n * `login-inferred` — chosen FOR the user at login, when the account had several\n * workspaces and none was marked default\n *\n * The distinction exists because a provider write must not land in a workspace\n * nobody chose (FR-CLI-002). Without it the two are indistinguishable in config,\n * so a login-time guess reads as a deliberate choice and the ambiguity gate can\n * never fire — the guess is simply laundered one layer upstream.\n */\nexport type WorkspaceSource = 'user' | 'login-inferred';\n\nconst credentialsSchema = z.object({\n apiKey: z.string().optional(),\n endpoint: z.string().optional(),\n defaultWorkspace: z.string().optional(),\n defaultWorkspaceSource: z.enum(['user', 'login-inferred']).optional(),\n defaultOrganization: z.string().optional(),\n expiresAt: z.string().optional(),\n}).loose();\n\nexport interface FullCredentials {\n apiKey: string;\n endpoint?: string;\n workspaceId?: string;\n organizationId?: string;\n expiresAt?: string;\n}\n\nconst CREDENTIALS_DIR = join(homedir(), '.config', 'mutagent');\nconst CREDENTIALS_FILE = join(CREDENTIALS_DIR, 'credentials.json');\n\nfunction parseJsonSafe<T>(content: string, schema: z.ZodType<T>): T | null {\n try {\n const parsed: unknown = JSON.parse(content);\n return schema.parse(parsed);\n } catch {\n return null;\n }\n}\n\nexport function loadConfig(): Config {\n // Load from cosmiconfig (rc files)\n const explorer = cosmiconfigSync('mutagent');\n const result = explorer.search();\n\n // Safely extract config from cosmiconfig result\n const rcConfig = result?.config as Record<string, unknown> | undefined;\n\n // Load from credentials file\n let credentials: z.infer<typeof credentialsSchema> | null = null;\n if (existsSync(CREDENTIALS_FILE)) {\n credentials = parseJsonSafe(readFileSync(CREDENTIALS_FILE, 'utf-8'), credentialsSchema);\n }\n\n // Merge configs: ENV > credentials > rc files > defaults\n const merged = {\n providers: {},\n environment: 'production',\n ...rcConfig,\n ...credentials,\n apiKey: process.env.MUTAGENT_API_KEY ?? credentials?.apiKey ?? (rcConfig?.apiKey as string | undefined),\n endpoint: process.env.MUTAGENT_ENDPOINT ?? credentials?.endpoint ?? (rcConfig?.endpoint as string | undefined),\n defaultWorkspace
|
|
6
|
+
"import { cosmiconfigSync } from 'cosmiconfig';\nimport { z } from 'zod';\nimport { homedir } from 'os';\nimport { join } from 'path';\nimport { existsSync, readFileSync, mkdirSync } from 'fs';\nimport type { Config } from '../types/index.js';\nimport { writeSecureFile } from './secure-file.js';\n\nconst configSchema = z.object({\n apiKey: z.string().optional(),\n endpoint: z.string().default('https://api.mutagent.io'),\n format: z.enum(['table', 'json']).default('table'),\n timeout: z.number().default(30000),\n defaultWorkspace: z.string().optional(),\n defaultWorkspaceSource: z.enum(['user', 'login-inferred']).optional(),\n defaultOrganization: z.string().optional(),\n});\n\n/**\n * Where `defaultWorkspace` came from.\n *\n * `user` — an explicit `mutagent config set workspace <id>`\n * `login-inferred` — chosen FOR the user at login, when the account had several\n * workspaces and none was marked default\n *\n * The distinction exists because a provider write must not land in a workspace\n * nobody chose (FR-CLI-002). Without it the two are indistinguishable in config,\n * so a login-time guess reads as a deliberate choice and the ambiguity gate can\n * never fire — the guess is simply laundered one layer upstream.\n */\nexport type WorkspaceSource = 'user' | 'login-inferred';\n\nconst credentialsSchema = z.object({\n apiKey: z.string().optional(),\n endpoint: z.string().optional(),\n defaultWorkspace: z.string().optional(),\n defaultWorkspaceSource: z.enum(['user', 'login-inferred']).optional(),\n defaultOrganization: z.string().optional(),\n expiresAt: z.string().optional(),\n}).loose();\n\nexport interface FullCredentials {\n apiKey: string;\n endpoint?: string;\n workspaceId?: string;\n organizationId?: string;\n expiresAt?: string;\n}\n\nconst CREDENTIALS_DIR = join(homedir(), '.config', 'mutagent');\nconst CREDENTIALS_FILE = join(CREDENTIALS_DIR, 'credentials.json');\n\nfunction parseJsonSafe<T>(content: string, schema: z.ZodType<T>): T | null {\n try {\n const parsed: unknown = JSON.parse(content);\n return schema.parse(parsed);\n } catch {\n return null;\n }\n}\n\nexport function loadConfig(): Config {\n // Load from cosmiconfig (rc files)\n const explorer = cosmiconfigSync('mutagent');\n const result = explorer.search();\n\n // Safely extract config from cosmiconfig result\n const rcConfig = result?.config as Record<string, unknown> | undefined;\n\n // Load from credentials file\n let credentials: z.infer<typeof credentialsSchema> | null = null;\n if (existsSync(CREDENTIALS_FILE)) {\n credentials = parseJsonSafe(readFileSync(CREDENTIALS_FILE, 'utf-8'), credentialsSchema);\n }\n\n // Merge configs: ENV > credentials > rc files > defaults\n const merged = {\n providers: {},\n environment: 'production',\n ...rcConfig,\n ...credentials,\n apiKey: process.env.MUTAGENT_API_KEY ?? credentials?.apiKey ?? (rcConfig?.apiKey as string | undefined),\n endpoint: process.env.MUTAGENT_ENDPOINT ?? credentials?.endpoint ?? (rcConfig?.endpoint as string | undefined),\n // ENV first, like apiKey and endpoint above. Without this the documented\n // precedence (\"1. Environment\") had no environment entry for a key the\n // config schema supports, so a fully non-interactive run could supply a key\n // and an endpoint but had no way to name a workspace short of writing a\n // credentials file. `mutagent helix` needs one — sandbox access is minted\n // per workspace — which is what surfaced the gap.\n defaultWorkspace:\n process.env.MUTAGENT_WORKSPACE_ID ??\n credentials?.defaultWorkspace ??\n (rcConfig?.defaultWorkspace as string | undefined),\n // Provenance defaults to 'login-inferred' for anything without an explicit\n // stamp — including rc-file values. An rc file LOOKS like an act of\n // configuration, but `mutagent init` scaffolds it from the same login guess,\n // so trusting it would let logging out and re-initialising UPGRADE a guess\n // into a choice. Only `config set workspace` earns 'user'; everything else\n // is re-verified against the account's real workspaces, which costs a lookup\n // and never costs a credential written somewhere nobody picked.\n //\n // MUTAGENT_WORKSPACE_ID earns 'user' because exporting it IS the deliberate\n // act the gate is looking for — nothing infers it on the operator's behalf,\n // which is exactly what separates it from a scaffolded rc value.\n defaultWorkspaceSource: process.env.MUTAGENT_WORKSPACE_ID\n ? 'user'\n : credentials?.defaultWorkspace\n ? (credentials.defaultWorkspaceSource ?? 'login-inferred')\n : (rcConfig?.defaultWorkspace ? 'login-inferred' : undefined),\n defaultOrganization: credentials?.defaultOrganization ?? (rcConfig?.defaultOrganization as string | undefined),\n };\n\n return configSchema.parse(merged) as Config;\n}\n\nexport function saveCredentials(apiKey: string, endpoint?: string): void {\n if (!existsSync(CREDENTIALS_DIR)) {\n mkdirSync(CREDENTIALS_DIR, { recursive: true });\n }\n\n const config = loadConfig();\n const credentials = {\n apiKey,\n endpoint: endpoint ?? config.endpoint,\n };\n\n writeSecureFile(CREDENTIALS_FILE, JSON.stringify(credentials, null, 2));\n}\n\n/**\n * Save full credentials including workspace and organization info\n * Used by browser auth flow which returns complete credential set\n */\nexport function saveFullCredentials(creds: FullCredentials): void {\n if (!existsSync(CREDENTIALS_DIR)) {\n mkdirSync(CREDENTIALS_DIR, { recursive: true });\n }\n\n // Load existing credentials to preserve any custom settings\n let existingCredentials: Record<string, unknown> = {};\n if (existsSync(CREDENTIALS_FILE)) {\n try {\n existingCredentials = JSON.parse(readFileSync(CREDENTIALS_FILE, 'utf-8')) as Record<string, unknown>;\n } catch {\n // Ignore parse errors, start fresh\n }\n }\n\n // A workspace id arriving through the LOGIN flow was picked for the user, not\n // by them — auth-flow takes `workspaces.find(isDefault) ?? workspaces[0]`.\n // Record that provenance so a provider write can refuse to land in a guessed\n // workspace (FR-CLI-002). An explicit `config set workspace` overwrites\n // this with 'user'. A pre-existing 'user' choice is never downgraded.\n const existingSource = existingCredentials.defaultWorkspaceSource as WorkspaceSource | undefined;\n const workspaceChanged = creds.workspaceId !== undefined\n && creds.workspaceId !== existingCredentials.defaultWorkspace;\n const source: WorkspaceSource | undefined = creds.workspaceId === undefined\n ? existingSource\n : workspaceChanged\n ? 'login-inferred'\n : (existingSource ?? 'login-inferred');\n\n const credentials = {\n ...existingCredentials,\n apiKey: creds.apiKey,\n endpoint: creds.endpoint ?? existingCredentials.endpoint ?? 'https://api.mutagent.io',\n defaultWorkspace: creds.workspaceId ?? existingCredentials.defaultWorkspace,\n defaultWorkspaceSource: source,\n defaultOrganization: creds.organizationId ?? existingCredentials.defaultOrganization,\n expiresAt: creds.expiresAt,\n };\n\n writeSecureFile(CREDENTIALS_FILE, JSON.stringify(credentials, null, 2));\n}\n\nexport function clearCredentials(): void {\n if (existsSync(CREDENTIALS_FILE)) {\n writeSecureFile(CREDENTIALS_FILE, JSON.stringify({}));\n }\n}\n\nexport function hasCredentials(): boolean {\n if (process.env.MUTAGENT_API_KEY) return true;\n if (!existsSync(CREDENTIALS_FILE)) return false;\n\n const credentials = parseJsonSafe(readFileSync(CREDENTIALS_FILE, 'utf-8'), credentialsSchema);\n return credentials?.apiKey !== undefined && credentials.apiKey !== '';\n}\n\nexport function getApiKey(): string | undefined {\n return process.env.MUTAGENT_API_KEY ?? loadConfig().apiKey;\n}\n\nexport function setDefaultWorkspace(\n workspaceId: string,\n source: WorkspaceSource = 'user'\n): void {\n if (!existsSync(CREDENTIALS_DIR)) {\n mkdirSync(CREDENTIALS_DIR, { recursive: true });\n }\n\n let existingCredentials: Record<string, unknown> = {};\n if (existsSync(CREDENTIALS_FILE)) {\n try {\n existingCredentials = JSON.parse(readFileSync(CREDENTIALS_FILE, 'utf-8')) as Record<string, unknown>;\n } catch {\n // Ignore parse errors, start fresh\n }\n }\n\n const updated = {\n ...existingCredentials,\n defaultWorkspace: workspaceId,\n // Provenance is the CALLER's to state, and defaults to 'user' because the\n // only user-facing caller is `mutagent config set workspace`. Machine\n // callers that pick a workspace FOR the user — `init`'s auto-correction to\n // workspaces[0], for instance — must pass 'login-inferred', or the gate\n // that exists to refuse a guessed workspace is handed a laundered guess.\n defaultWorkspaceSource: source,\n };\n\n writeSecureFile(CREDENTIALS_FILE, JSON.stringify(updated, null, 2));\n}\n\nexport function setDefaultOrganization(organizationId: string): void {\n if (!existsSync(CREDENTIALS_DIR)) {\n mkdirSync(CREDENTIALS_DIR, { recursive: true });\n }\n\n let existingCredentials: Record<string, unknown> = {};\n if (existsSync(CREDENTIALS_FILE)) {\n try {\n existingCredentials = JSON.parse(readFileSync(CREDENTIALS_FILE, 'utf-8')) as Record<string, unknown>;\n } catch {\n // Ignore parse errors, start fresh\n }\n }\n\n const updated = {\n ...existingCredentials,\n defaultOrganization: organizationId,\n };\n\n writeSecureFile(CREDENTIALS_FILE, JSON.stringify(updated, null, 2));\n}\n",
|
|
7
7
|
"export class MutagentError extends Error {\n constructor(\n public code: string,\n message: string,\n public suggestion?: string,\n public exitCode = 1\n ) {\n super(message);\n this.name = 'MutagentError';\n }\n\n toJSON(): { success: false; error: string; code: string; suggestedAction?: string } {\n return {\n success: false,\n error: this.message,\n code: this.code,\n suggestedAction: this.suggestion,\n };\n }\n}\n\nexport interface AuthenticationErrorOptions {\n suggestions?: string[];\n cause?: Error;\n}\n\nexport const AUTH_REMEDIATION_MESSAGE = [\n 'Authentication required. Options:',\n ' Interactive: mutagent auth login --browser',\n ' Non-interactive: export MUTAGENT_API_KEY=<your-key>',\n ' CI/CD: mutagent auth login --api-key <key>',\n].join('\\n');\n\nexport class AuthenticationError extends MutagentError {\n readonly suggestions: string[];\n override readonly cause?: Error;\n\n constructor(\n message?: string,\n options: AuthenticationErrorOptions = {}\n ) {\n super(\n 'AUTH_REQUIRED',\n message ?? 'Authentication required. Please run \"mutagent auth login\"',\n options.suggestions ? options.suggestions[0] : 'Run: mutagent auth login --browser',\n 2\n );\n this.suggestions = options.suggestions ?? [\n 'mutagent auth login --browser',\n 'export MUTAGENT_API_KEY=<your-key>',\n 'mutagent auth login --api-key <key>',\n ];\n this.suggestion = options.suggestions ? options.suggestions[0] : 'Run: mutagent auth login --browser';\n this.cause = options.cause;\n }\n}\n\nexport class ApiError extends MutagentError {\n readonly statusCode: number;\n\n constructor(status: number, message: string) {\n super(\n `API_${String(status)}`,\n message,\n status === 401 ? 'Check your API key with: mutagent auth status' : undefined,\n 1\n );\n this.statusCode = status;\n }\n}\n\nexport const WORKSPACE_REMEDIATION_MESSAGE = [\n 'Workspace context missing. To fix:',\n ' mutagent config set workspace <workspace-id> # Set default workspace',\n ' mutagent workspaces list # List available workspaces',\n].join('\\n');\n\nexport class WorkspaceContextError extends MutagentError {\n constructor(message?: string) {\n super(\n 'WORKSPACE_REQUIRED',\n message ?? 'Workspace context is required but not configured',\n 'Run: mutagent config set workspace <workspace-id>',\n 3\n );\n }\n}\n\nexport class ValidationError extends MutagentError {\n constructor(message: string) {\n super(\n 'VALIDATION_ERROR',\n message,\n 'Check the command syntax with: mutagent <command> --help',\n 1\n );\n }\n}\n\n// =============================================================================\n// Additional Error Classes for Configuration & Auth System\n// =============================================================================\n\nexport class CredentialsExpiredError extends AuthenticationError {\n readonly expiredAt: Date;\n\n constructor(expiredAt: Date) {\n super();\n this.expiredAt = expiredAt;\n this.code = 'AUTH_EXPIRED';\n this.message = `Credentials expired at ${expiredAt.toISOString()}`;\n this.suggestion = 'Run \"mutagent auth login\" to refresh your credentials';\n }\n}\n\nexport class InvalidApiKeyError extends MutagentError {\n constructor(keyPreview?: string) {\n const preview = keyPreview ? ` (received: \"${keyPreview}...\")` : '';\n super(\n 'INVALID_API_KEY',\n `Invalid API key format${preview}`,\n 'API keys should start with \"sk_\" or \"sk-\" and be at least 20 characters',\n 2\n );\n }\n}\n\nexport interface ConfigErrorOptions {\n cause?: Error;\n suggestions?: string[];\n configPath?: string;\n}\n\nexport class ConfigError extends MutagentError {\n readonly configPath?: string;\n readonly suggestions: string[];\n override readonly cause?: Error;\n\n constructor(\n message: string,\n options: ConfigErrorOptions = {}\n ) {\n super(\n 'CONFIG_ERROR',\n message,\n options.suggestions ? options.suggestions[0] : 'Run \"mutagent config validate\" to check your configuration',\n 3\n );\n this.configPath = options.configPath;\n this.suggestions = options.suggestions ?? ['Run \"mutagent config validate\" to check your configuration'];\n this.suggestion = options.suggestions ? options.suggestions[0] : 'Run \"mutagent config validate\" to check your configuration';\n this.cause = options.cause;\n }\n}\n\nexport class ConfigNotFoundError extends ConfigError {\n constructor(configPath: string) {\n super(\n `Configuration file not found: ${configPath}`,\n { suggestions: ['Create a configuration file with \"mutagent config init\" or use --config'] }\n );\n this.code = 'CONFIG_NOT_FOUND';\n this.suggestion = 'Create a configuration file with \"mutagent config init\" or use --config';\n }\n}\n\nexport class ConfigParseError extends ConfigError {\n readonly parseError: Error;\n\n constructor(\n configPath: string,\n parseError: Error\n ) {\n super(\n `Failed to parse configuration file: ${configPath}`,\n { suggestions: ['Validate your JSON/JavaScript syntax and check for trailing commas'] }\n );\n this.code = 'CONFIG_PARSE_ERROR';\n this.suggestion = 'Validate your JSON/JavaScript syntax and check for trailing commas';\n this.parseError = parseError;\n }\n}\n\nexport interface PermissionErrorOptions {\n cause?: Error;\n}\n\nexport class PermissionError extends MutagentError {\n readonly path?: string;\n readonly operation: string;\n override readonly cause?: Error;\n\n constructor(\n operation: string,\n path?: string,\n options: PermissionErrorOptions = {}\n ) {\n const pathMsg = path ? ` at ${path}` : '';\n super(\n 'PERMISSION_ERROR',\n `Permission denied: ${operation}${pathMsg}`,\n 'Check file permissions and ensure the file is not read-only',\n 8\n );\n this.operation = operation;\n this.path = path;\n this.cause = options.cause;\n }\n}\n\nexport class NetworkError extends MutagentError {\n readonly url?: string;\n readonly statusCode?: number;\n\n constructor(\n message = 'Network error',\n url?: string,\n statusCode?: number\n ) {\n super(\n 'NETWORK_ERROR',\n message,\n 'Check your internet connection and verify the server URL',\n 5\n );\n this.url = url;\n this.statusCode = statusCode;\n }\n}\n\nexport class RateLimitError extends NetworkError {\n readonly retryAfter?: number;\n\n constructor(\n retryAfter?: number\n ) {\n super(\n 'Rate limit exceeded',\n undefined,\n 429\n );\n this.code = 'RATE_LIMIT_ERROR';\n this.suggestion = retryAfter \n ? `Wait ${String(retryAfter)} seconds before retrying`\n : 'Wait a few seconds before retrying';\n this.retryAfter = retryAfter;\n this.exitCode = 6;\n }\n}\n\nexport class NotFoundError extends MutagentError {\n constructor(resource: string, id: string) {\n super(\n 'NOT_FOUND',\n `${resource} not found: ${id}`,\n `Check the ID and try again. List available ${resource.toLowerCase()}s with the appropriate list command.`,\n 1\n );\n }\n}\n\nexport class QuotaExceededError extends MutagentError {\n constructor(message?: string) {\n super(\n 'QUOTA_EXCEEDED',\n message ?? 'Quota exceeded',\n 'Check your plan limits or contact support to upgrade',\n 1\n );\n }\n}\n\nexport class PrerequisiteMissingError extends MutagentError {\n constructor(what: string, howToFix: string) {\n super(\n 'PREREQUISITE_MISSING',\n what,\n howToFix,\n 1\n );\n }\n}\n\nexport class ProviderError extends MutagentError {\n constructor(message: string, suggestion?: string) {\n super(\n 'PROVIDER_ERROR',\n message,\n suggestion ?? 'Check your provider configuration with: mutagent providers list',\n 1\n );\n }\n}\n\n// =============================================================================\n// Error Factory Functions\n// =============================================================================\n\nexport function createErrorFromUnknown(error: unknown): MutagentError {\n if (error instanceof MutagentError) {\n return error;\n }\n\n if (error instanceof Error) {\n return new MutagentError(\n 'UNKNOWN_ERROR',\n error.message,\n undefined,\n 1\n );\n }\n\n return new MutagentError(\n 'UNKNOWN_ERROR',\n typeof error === 'string' ? error : 'An unknown error occurred',\n undefined,\n 1\n );\n}\n\nexport function handleError(error: unknown, isJson: boolean): never {\n if (error instanceof MutagentError) {\n if (isJson) {\n const jsonOutput = error.toJSON();\n // Include remediation info for auth errors\n if (error instanceof AuthenticationError) {\n (jsonOutput as Record<string, unknown>).remediation = {\n interactive: 'mutagent auth login --browser',\n nonInteractive: 'export MUTAGENT_API_KEY=<your-key>',\n ciCd: 'mutagent auth login --api-key <key>',\n };\n }\n // Include remediation info for workspace context errors\n if (error instanceof WorkspaceContextError) {\n (jsonOutput as Record<string, unknown>).remediation = {\n setWorkspace: 'mutagent config set workspace <workspace-id>',\n listWorkspaces: 'mutagent workspaces list',\n };\n }\n // Include auth recovery hint for 403 API errors\n if (error instanceof ApiError && error.statusCode === 403) {\n (jsonOutput as Record<string, unknown>).remediation = {\n interactive: 'mutagent auth login --browser',\n nonInteractive: 'export MUTAGENT_API_KEY=<your-key>',\n checkPermissions: 'Verify your API key has the required permissions',\n };\n }\n // Include _agentGuidance for AI agents to self-correct\n if (error.suggestion) {\n const helpMatch = /^Run:\\s+(mutagent\\s+[^\\n]+--help)/.exec(error.suggestion);\n const helpCommand = helpMatch ? helpMatch[1] : 'mutagent --help';\n (jsonOutput as Record<string, unknown>)._agentGuidance = {\n helpCommand,\n suggestion: error.suggestion,\n };\n }\n console.log(JSON.stringify(jsonOutput, null, 2));\n } else {\n console.error(`Error: ${error.message}`);\n if (error instanceof AuthenticationError) {\n console.error('');\n console.error(AUTH_REMEDIATION_MESSAGE);\n } else if (error instanceof WorkspaceContextError) {\n console.error('');\n console.error(WORKSPACE_REMEDIATION_MESSAGE);\n } else if (error instanceof ApiError && error.statusCode === 403) {\n console.error('');\n console.error('Access denied. To fix:');\n console.error(' mutagent auth login --browser # Re-authenticate');\n console.error(' export MUTAGENT_API_KEY=mt_xxx # Or use a different API key');\n } else if (error instanceof ValidationError) {\n if (error.suggestion) {\n console.error(`Suggestion: ${error.suggestion}`);\n }\n console.error('');\n console.error('Run `mutagent <command> --help` for usage information.');\n } else if (error.suggestion) {\n console.error(`Suggestion: ${error.suggestion}`);\n }\n // Show help hint for missing arguments or invalid input errors\n if (error.code === 'MISSING_ARGUMENTS' || error.code === 'INVALID_ARGUMENTS' || error.code === 'INVALID_INPUT') {\n console.error('');\n console.error('Run `mutagent <command> --help` for usage information.');\n }\n }\n process.exit(error.exitCode);\n }\n\n // Catch Speakeasy SDK internal errors that leaked past sdk-client wrapper\n if (error && typeof error === 'object') {\n const sdkErr = error as { name?: string; rawValue?: unknown; rawMessage?: string; message?: string };\n if (\n sdkErr.name === 'SDKValidationError' ||\n sdkErr.name === 'SDKError' ||\n sdkErr.rawValue !== undefined ||\n sdkErr.rawMessage !== undefined\n ) {\n const friendlyMessage = sdkErr.rawMessage ?? sdkErr.message ?? 'Request failed';\n const wrapped = new MutagentError(\n 'REQUEST_FAILED',\n friendlyMessage,\n 'Check your input and try again. Run the command with --help for usage details.'\n );\n if (isJson) {\n console.log(JSON.stringify(wrapped.toJSON(), null, 2));\n } else {\n console.error(`Error: ${wrapped.message}`);\n if (wrapped.suggestion) {\n console.error(`Suggestion: ${wrapped.suggestion}`);\n }\n }\n process.exit(1);\n }\n }\n\n // Unknown error\n const message = error instanceof Error ? error.message : 'Unknown error';\n if (isJson) {\n console.log(JSON.stringify({ success: false, error: message, code: 'UNKNOWN_ERROR' }, null, 2));\n } else {\n console.error(`Error: ${message}`);\n }\n process.exit(1);\n}\n",
|
|
8
8
|
"/**\n * @fileoverview The provider create-request body, as it goes on the wire.\n * @module @mutagent/cli/lib/provider-request\n *\n * WHY THIS IS ITS OWN MODULE\n * --------------------------\n * Five credential flags once reached no server at all. `createProvider` mapped\n * them into the generated SDK's `metadata`, whose outbound schema types the\n * field `z.object({})`; zod strips unknown keys, so every one was deleted on the\n * way out. Measured: `metadata keys on wire: []`. The operator passed `--region`\n * and the server replied that a region was required.\n *\n * Nothing caught it. `tsc` could not — the generated type is `{}` and\n * `Record<string, unknown>` is assignable to it. The command tests could not —\n * they assert what the command hands the WRAPPER, and the loss happened below\n * that boundary. A 688-case suite stayed green.\n *\n * So the body construction lives here, separate from the client, for one\n * reason: the provider tests replace `lib/sdk-client.js` wholesale via\n * `mock.module()`, and a builder living inside that module could only ever be\n * asserted through its own mock. Here it is reachable unmocked, and the wire\n * shape can be asserted directly.\n */\n\nexport interface CreateProviderRequest {\n name: string;\n provider: string;\n /** Optional: the secret's wire name is per-entry (Vertex uses serviceAccountKey). */\n apiKey?: string;\n baseUrl?: string;\n isDefault?: boolean;\n /** Which hosted family a gateway configuration targets. */\n hostedFamily?: string;\n /** Per-entry credential material, keyed by the catalog's wire names. */\n credentialFields?: Record<string, unknown>;\n}\n\n/**\n * Build the exact JSON body for `POST /api/providers`.\n *\n * Matches the post-#1365 server contract: `credentialFields` and `hostedFamily`\n * are first-class, `apiKey` is optional because the secret's wire name is\n * per-entry, and there is no `scope` — the server derives the tenant from the\n * verified `x-workspace-id` header.\n */\nexport function buildCreateProviderBody(data: CreateProviderRequest): Record<string, unknown> {\n const body: Record<string, unknown> = {\n name: data.name,\n provider: data.provider,\n isDefault: data.isDefault ?? false,\n };\n\n // The secret's wire name is per-entry: ten entries call it `apiKey`, Google\n // Vertex calls it `serviceAccountKey`. The server accepts either the\n // top-level slot or the correspondingly-named key inside credentialFields.\n if (data.apiKey) body.apiKey = data.apiKey;\n if (data.baseUrl) body.baseUrl = data.baseUrl;\n if (data.hostedFamily) body.hostedFamily = data.hostedFamily;\n if (data.credentialFields && Object.keys(data.credentialFields).length > 0) {\n body.credentialFields = data.credentialFields;\n }\n\n return body;\n}\n",
|
|
9
9
|
"/**\n * @fileoverview Explicit SDK → CLI mapping for every return shape (#1351)\n * @module @mutagent/cli/lib/sdk-mappers\n *\n * WHY THIS FILE EXISTS\n *\n * `sdk-client.ts` returned SDK payloads through `as unknown as <CLIType>` at ten\n * public-method return sites. A cast is not a conversion: it silences the\n * compiler and changes nothing at runtime, so the CLI's type-check carried no\n * evidence about return shapes at all.\n *\n * Measured rather than assumed (#1351): six breaking changes injected into the\n * SDK's models — `Agent.id` number→string, `Agent.name`→`title`,\n * `ProviderConfig.provider`→`kind`, `WorkspacesListWorkspace.slug`→`handle`,\n * `.isDefault`→`primary`, `TestConnectionResult.message`→`msg` — produced\n * **+0 errors** against real CLI source. A control (renaming an *uncast*\n * envelope key) fired 2, proving the harness was live. The type-check would\n * have passed against essentially any SDK preserving method names and request\n * shapes.\n *\n * `--external @mutagent/sdk` in package.json means `bun build` resolves and\n * type-checks nothing of the SDK either, so the build gate carries zero SDK\n * evidence. `type-check` was the only gate that could carry any, and it covered\n * requests only.\n *\n * Each function below reads its source fields BY NAME, so a renamed or retyped\n * SDK field is a compile error here — at one named site, in one file — instead\n * of a column silently rendering `undefined`.\n *\n * WHY A SEPARATE FILE\n *\n * `sdk-client.ts` is 680 lines against this repo's 500-line hard limit\n * (mutagent-cli/CLAUDE.md, enforced by ESLint `max-lines`). Growing it further\n * to hold these functions would trade one violation for a worse one.\n *\n * THE FOUR MISMATCHES THESE MAPPINGS RESOLVE, and why each resolves that way —\n * the server is the authority in every case:\n *\n * D1 id: CLI said `number`, SDK says `string`. The DB primary keys are\n * `text` (`provider-configs.ts`), so the CLI was wrong. `Provider.id` and\n * `Workspace.id` are now `string`. `Agent.id` stays `number` — the SDK\n * agrees it is a number there, so there was never a mismatch to fix.\n * D2 createdAt/updatedAt: CLI said `string | null`, SDK says `Date` (its zod\n * layer coerces). Mapped with `.toISOString()`, which is what the CLI's\n * own doc comments already promised (\"ISO 8601\").\n * D3 Provider.provider: CLI has a closed union, SDK an open `string`. The\n * catalog IS closed, so the narrowing is correct — done ONCE, here, with\n * an explicit unknown-value fallback rather than a blind assertion.\n * D4 The `raw.result` envelope guard on listProviders described a shape the\n * SDK does not produce (`ProviderConfigsList` has no `result`). Deleted\n * at the call site rather than mapped.\n */\n\nimport { Provider as SDKProviderEnum } from '@mutagent/sdk/models';\nimport type { Agent, Provider, ProviderTestResult, ProviderType, Workspace } from '../types/index.js';\n\n/**\n * The closed catalog set, DERIVED from the SDK's own enum rather than restated.\n *\n * `ProviderType` is an alias for that enum, so `Object.values` is exactly the\n * legal set and cannot drift from it. A hand-written copy would be one more\n * hand-maintained set with no equality check — the same shape of defect #1351\n * is about — and would silently rot the next time a provider is added.\n */\nconst PROVIDER_TYPES: readonly string[] = Object.values(SDKProviderEnum);\n\n/** Whether a raw string is one of the catalog ids this CLI knows. */\nexport function isProviderType(value: string): value is ProviderType {\n return PROVIDER_TYPES.includes(value);\n}\n\n/**\n * D3. Narrow the SDK's open `string` to the CLI's closed union, once.\n *\n * A value outside the set is passed through rather than rejected. The server\n * validates `provider` against the same closed catalog before persisting it, so\n * an unknown value here means this CLI is simply older than the server it is\n * talking to. Rendering an unfamiliar name is strictly better than crashing a\n * list command, and this function is on the read path only.\n */\nexport function narrowProviderType(value: string): ProviderType {\n return isProviderType(value) ? value : (value as ProviderType);\n}\n\n/**\n * D2. `Date` → ISO 8601 string, preserving null/undefined as null.\n *\n * The CLI's own field docs already say \"ISO 8601\"; only the type disagreed.\n */\nexport function toIsoString(value: Date | string | null | undefined): string | null {\n if (value === null || value === undefined) return null;\n return value instanceof Date ? value.toISOString() : value;\n}\n\n/** The SDK agent shape this mapper reads. Structural, so any source matching it works. */\ninterface SdkAgentLike {\n id: number;\n name: string;\n slug: string;\n description: string | null;\n systemPrompt: string;\n model: string;\n maxTurns: number | null;\n permissionMode: string | null;\n allowedTools: string[] | null;\n disallowedTools: string[] | null;\n status: string;\n isPublic: boolean;\n metadata: unknown;\n tags: string[] | null;\n createdBy: string | null;\n createdAt: Date | string | null;\n updatedAt: Date | string | null;\n}\n\nexport function toAgent(sdk: SdkAgentLike): Agent {\n return {\n id: sdk.id,\n name: sdk.name,\n slug: sdk.slug,\n description: sdk.description,\n systemPrompt: sdk.systemPrompt,\n model: sdk.model,\n maxTurns: sdk.maxTurns,\n permissionMode: sdk.permissionMode,\n allowedTools: sdk.allowedTools,\n disallowedTools: sdk.disallowedTools,\n status: sdk.status,\n isPublic: sdk.isPublic,\n metadata: sdk.metadata,\n tags: sdk.tags,\n createdBy: sdk.createdBy,\n createdAt: toIsoString(sdk.createdAt),\n updatedAt: toIsoString(sdk.updatedAt),\n };\n}\n\nexport function toAgentList(sdk: readonly SdkAgentLike[]): Agent[] {\n return sdk.map(toAgent);\n}\n\n/** The SDK workspace shape. `id` is `string` per D1. */\ninterface SdkWorkspaceLike {\n id: string;\n name: string;\n description: string | null;\n slug: string;\n isDefault: boolean;\n metadata: unknown;\n createdBy: string | null;\n createdAt: Date | string | null;\n updatedAt: Date | string | null;\n}\n\nexport function toWorkspace(sdk: SdkWorkspaceLike): Workspace {\n return {\n id: sdk.id,\n name: sdk.name,\n description: sdk.description,\n slug: sdk.slug,\n isDefault: sdk.isDefault,\n metadata: sdk.metadata,\n createdBy: sdk.createdBy,\n createdAt: toIsoString(sdk.createdAt),\n updatedAt: toIsoString(sdk.updatedAt),\n };\n}\n\nexport function toWorkspaceList(sdk: readonly SdkWorkspaceLike[]): Workspace[] {\n return sdk.map(toWorkspace);\n}\n\n/** The SDK provider-config shape. `id` is `string` per D1, `provider` open per D3. */\ninterface SdkProviderLike {\n id: string;\n name: string;\n provider: string;\n hostedFamily?: string | null;\n baseUrl: string | null;\n isActive: boolean;\n metadata: unknown;\n createdBy: string | null;\n createdAt: Date | string | null;\n updatedAt: Date | string | null;\n}\n\nexport function toProvider(sdk: SdkProviderLike): Provider {\n return {\n id: sdk.id,\n name: sdk.name,\n provider: narrowProviderType(sdk.provider),\n hostedFamily: sdk.hostedFamily ?? null,\n baseUrl: sdk.baseUrl,\n isActive: sdk.isActive,\n metadata: sdk.metadata,\n createdBy: sdk.createdBy,\n createdAt: toIsoString(sdk.createdAt),\n updatedAt: toIsoString(sdk.updatedAt),\n };\n}\n\nexport function toProviderList(sdk: readonly SdkProviderLike[]): Provider[] {\n return sdk.map(toProvider);\n}\n\n/**\n * The SDK connection-test shape.\n *\n * `message` is the field #1351 renamed to `msg` to prove the cast was blind.\n * Reading it by name here is what makes that rename a compile error.\n */\ninterface SdkProviderTestResultLike {\n success: boolean;\n provider?: string | null;\n latencyMs?: number | null;\n message: string;\n error?: string | null;\n models?: string[] | null;\n}\n\nexport function toProviderTestResult(sdk: SdkProviderTestResultLike): ProviderTestResult {\n return {\n success: sdk.success,\n provider: sdk.provider ?? undefined,\n latencyMs: sdk.latencyMs ?? undefined,\n message: sdk.message,\n error: sdk.error ?? undefined,\n models: sdk.models ?? undefined,\n };\n}\n",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"// Public API exports for @mutagent/cli\nexport { loadConfig, saveCredentials, clearCredentials } from './lib/config.js';\nexport { getSDKClient, validateApiKey } from './lib/sdk-client.js';\nexport { OutputFormatter } from './lib/output.js';\nexport { MutagentError, AuthenticationError, ApiError } from './lib/errors.js';\nexport type {\n Config,\n Workspace,\n Agent,\n Provider,\n} from './types/index.js';\n\n// Version\nexport const version = '0.1.0';\n",
|
|
12
12
|
"import chalk from 'chalk';\nimport { existsSync, readFileSync } from 'fs';\nimport { join } from 'path';\nimport type { Command } from 'commander';\nimport type { OutputFormat } from '../types/index.js';\n\n// ---------------------------------------------------------------------------\n// Compat metadata (Scope D)\n// ---------------------------------------------------------------------------\n\ninterface CompatMetadata {\n cliVersion: string;\n skillVersion: string;\n skillMinCliVersion: string;\n}\n\nlet _compatCache: CompatMetadata | null = null;\nlet _globalCliVersion = '0.0.0';\n\n/**\n * Set the global CLI version for compat metadata injection.\n * Called once from cli.ts after the version is resolved.\n */\nexport function setCliVersion(version: string): void {\n _globalCliVersion = version;\n _compatCache = null; // reset cache when version changes\n}\n\n/**\n * Build the _compat metadata block included in all --json output.\n * Reads SKILL.md frontmatter for metadata.skill_version and metadata.skill_min_cli_version.\n * Results are cached after the first call (process-lifetime cache).\n *\n * Per D4 (locked): warn-but-not-block when cliVersion < skillMinCliVersion.\n * The Skill compares these values and emits a prominent warn but continues.\n */\nexport function getCompatMetadata(cliVersion: string = _globalCliVersion): CompatMetadata {\n if (_compatCache !== null) return _compatCache;\n\n let skillVersion = 'unknown';\n let skillMinCliVersion = 'unknown';\n\n try {\n // Look for installed skill first (runtime path), then source path\n const candidatePaths = [\n join(process.cwd(), '.claude', 'skills', 'mutagent-cli', 'SKILL.md'),\n join(process.cwd(), 'mutagent-cli', '.claude', 'skills', 'mutagent-cli', 'SKILL.md'),\n ];\n for (const p of candidatePaths) {\n if (existsSync(p)) {\n const content = readFileSync(p, 'utf-8');\n // New spec shape: keys are indented under `metadata:` block, values are quoted strings.\n // Regex strips optional surrounding double-quotes from the captured value.\n const verMatch = /^\\s+skill_version:\\s+\"?([^\"\\n]+)\"?\\s*$/m.exec(content);\n const minMatch = /^\\s+skill_min_cli_version:\\s+\"?([^\"\\n]+)\"?\\s*$/m.exec(content);\n // Hard-error guard: if a `metadata:` block exists but neither key is found, throw so\n // the bug surfaces in CI rather than silently returning \"unknown\".\n if (/^metadata:/m.test(content) && !verMatch && !minMatch) {\n throw new Error(\n 'Bundled SKILL.md is missing metadata.skill_version / skill_min_cli_version' +\n ' — re-run `bun run sync-skill` to regenerate.'\n );\n }\n if (verMatch?.[1]) skillVersion = verMatch[1].trim();\n if (minMatch?.[1]) skillMinCliVersion = minMatch[1].trim();\n break;\n }\n }\n } catch (err) {\n // Pre-existing tolerance: SKILL.md may not exist in either candidate path (e.g. invoked\n // outside a project dir). That's OK — fall back to \"unknown\".\n // BUT: a `metadata:` block exists with neither expected key means sync-skill is broken.\n // Per plan D5 — fail loud so CI catches it, even if it crashes one CLI invocation.\n if (err instanceof Error && err.message.startsWith('Bundled SKILL.md is missing')) {\n throw err;\n }\n }\n\n _compatCache = { cliVersion, skillVersion, skillMinCliVersion };\n return _compatCache;\n}\n\n/**\n * Safely extract the --json flag from Commander options chain.\n * Handles the `any` type from Commander's opts() method.\n */\nexport function getJsonFlag(command: Command | undefined): boolean {\n if (!command) return false;\n // Navigate up the parent chain to find the root command options\n \n const parentOpts = command.parent ? command.parent.opts() : null;\n \n const ownOpts = command.opts();\n \n return Boolean(parentOpts?.json ?? ownOpts.json);\n}\n\nexport class OutputFormatter {\n constructor(private format: OutputFormat) {}\n\n output(data: unknown): void {\n if (this.format === 'json') {\n // Scope D: inject _compat into all directive-carrying JSON output\n let enriched = data;\n if (\n _globalCliVersion !== '0.0.0' &&\n data !== null &&\n typeof data === 'object' &&\n !Array.isArray(data) &&\n '_directive' in (data as Record<string, unknown>)\n ) {\n enriched = {\n ...(data as Record<string, unknown>),\n _compat: getCompatMetadata(_globalCliVersion),\n };\n }\n console.log(JSON.stringify(enriched, null, 2));\n } else {\n this.formatTable(data);\n }\n }\n\n private formatTable(data: unknown): void {\n if (Array.isArray(data)) {\n this.formatArray(data);\n } else if (data && typeof data === 'object') {\n this.formatObject(data as Record<string, unknown>);\n } else {\n console.log(data);\n }\n }\n\n private formatArray(data: unknown[]): void {\n if (data.length === 0) {\n console.log(chalk.gray('No results'));\n return;\n }\n\n // Get columns from first item\n const firstItem = data[0];\n if (!firstItem || typeof firstItem !== 'object') {\n data.forEach(item => { console.log(` ${String(item)}`); });\n return;\n }\n\n const keys = Object.keys(firstItem);\n \n // Helper to convert any value to display string\n const toDisplayString = (val: unknown): string => {\n if (val === null || val === undefined) return '';\n if (typeof val === 'object') return JSON.stringify(val);\n if (typeof val === 'string') return val;\n if (typeof val === 'number' || typeof val === 'boolean' || typeof val === 'bigint') {\n return val.toString();\n }\n return JSON.stringify(val);\n };\n\n // Calculate column widths\n const widths: Record<string, number> = {};\n keys.forEach(key => {\n widths[key] = Math.max(\n key.length,\n ...data.map(item => toDisplayString((item as Record<string, unknown>)[key]).length)\n );\n });\n\n // Print header\n const header = keys.map(key => chalk.bold(key.toUpperCase().padEnd(widths[key] ?? 10))).join(' ');\n console.log(header);\n console.log(keys.map(key => '-'.repeat(widths[key] ?? 10)).join(' '));\n\n // Print rows\n data.forEach(item => {\n const row = keys.map(key => {\n const value = toDisplayString((item as Record<string, unknown>)[key]);\n const width = widths[key] ?? 10;\n return value.padEnd(width).slice(0, width);\n }).join(' ');\n console.log(row);\n });\n\n console.log(chalk.gray(`\\n${String(data.length)} result(s)`));\n }\n\n private formatObject(data: Record<string, unknown>): void {\n const maxKeyLength = Math.max(...Object.keys(data).map(k => k.length));\n\n Object.entries(data).forEach(([key, value]) => {\n const formattedKey = chalk.bold(key.padEnd(maxKeyLength));\n let formattedValue: string;\n\n if (value === null || value === undefined) {\n formattedValue = '';\n } else if (typeof value === 'object') {\n formattedValue = JSON.stringify(value, null, 2);\n } else if (typeof value === 'string') {\n formattedValue = value;\n } else if (typeof value === 'number' || typeof value === 'boolean' || typeof value === 'bigint') {\n formattedValue = value.toString();\n } else {\n formattedValue = JSON.stringify(value);\n }\n\n console.log(`${formattedKey} ${formattedValue}`);\n });\n }\n\n success(message: string): void {\n if (this.format === 'json') {\n console.log(JSON.stringify({ success: true, message }, null, 2));\n } else {\n console.log(chalk.green(`✓ ${message}`));\n }\n }\n\n error(message: string, code?: string, suggestedAction?: string): void {\n if (this.format === 'json') {\n const result: Record<string, unknown> = { success: false, error: message };\n if (code) result.code = code;\n if (suggestedAction) result.suggestedAction = suggestedAction;\n console.log(JSON.stringify(result, null, 2));\n } else {\n console.log(chalk.red(`✗ ${message}`));\n }\n }\n\n info(message: string): void {\n if (this.format !== 'json') {\n console.log(chalk.blue(`ℹ ${message}`));\n }\n }\n\n warn(message: string): void {\n if (this.format === 'json') {\n console.log(JSON.stringify({ warning: message }, null, 2));\n } else {\n console.log(chalk.yellow(`⚠ ${message}`));\n }\n }\n}\n\ninterface Spinner {\n start: () => Promise<unknown> | undefined;\n stop?: () => void;\n succeed?: () => void;\n fail?: () => void;\n}\n\nexport function createSpinner(text: string, isJson: boolean): Spinner {\n if (isJson) {\n // No-op spinner for JSON mode - returns undefined to match interface\n const noop = (): undefined => undefined;\n return {\n start: noop,\n stop: noop,\n succeed: noop,\n fail: noop,\n };\n }\n\n // Dynamic import for ora (ESM)\n const start = async (): Promise<unknown> => {\n const { default: ora } = await import('ora');\n return ora(text).start();\n };\n\n return { start };\n}\n"
|
|
13
13
|
],
|
|
14
|
-
"mappings": "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",
|
|
15
|
-
"debugId": "
|
|
14
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBA;AAiBO,SAAS,eAAe,CAAC,MAAc,UAAwB;AAAA,EACpE,cAAc,MAAM,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAAA,EACxD,IAAI;AAAA,IACF,UAAU,MAAM,gBAAgB;AAAA,IAChC,MAAM;AAAA;AAAA,IAlBG,mBAAmB;AAAA;;;ACxBhC;AACA;AACA;AACA;AACA;AAgDA,SAAS,aAAgB,CAAC,SAAiB,QAAgC;AAAA,EACzE,IAAI;AAAA,IACF,MAAM,SAAkB,KAAK,MAAM,OAAO;AAAA,IAC1C,OAAO,OAAO,MAAM,MAAM;AAAA,IAC1B,MAAM;AAAA,IACN,OAAO;AAAA;AAAA;AAIJ,SAAS,UAAU,GAAW;AAAA,EAEnC,MAAM,WAAW,gBAAgB,UAAU;AAAA,EAC3C,MAAM,SAAS,SAAS,OAAO;AAAA,EAG/B,MAAM,WAAW,QAAQ;AAAA,EAGzB,IAAI,cAAwD;AAAA,EAC5D,IAAI,WAAW,gBAAgB,GAAG;AAAA,IAChC,cAAc,cAAc,aAAa,kBAAkB,OAAO,GAAG,iBAAiB;AAAA,EACxF;AAAA,EAGA,MAAM,SAAS;AAAA,IACb,WAAW,CAAC;AAAA,IACZ,aAAa;AAAA,OACV;AAAA,OACA;AAAA,IACH,QAAQ,QAAQ,IAAI,oBAAoB,aAAa,UAAW,UAAU;AAAA,IAC1E,UAAU,QAAQ,IAAI,qBAAqB,aAAa,YAAa,UAAU;AAAA,IAO/E,kBACE,QAAQ,IAAI,yBACZ,aAAa,oBACZ,UAAU;AAAA,IAYb,wBAAwB,QAAQ,IAAI,wBAChC,SACA,aAAa,mBACZ,YAAY,0BAA0B,mBACtC,UAAU,mBAAmB,mBAAmB;AAAA,IACrD,qBAAqB,aAAa,uBAAwB,UAAU;AAAA,EACtE;AAAA,EAEA,OAAO,aAAa,MAAM,MAAM;AAAA;AAG3B,SAAS,eAAe,CAAC,QAAgB,UAAyB;AAAA,EACvE,IAAI,CAAC,WAAW,eAAe,GAAG;AAAA,IAChC,UAAU,iBAAiB,EAAE,WAAW,KAAK,CAAC;AAAA,EAChD;AAAA,EAEA,MAAM,SAAS,WAAW;AAAA,EAC1B,MAAM,cAAc;AAAA,IAClB;AAAA,IACA,UAAU,YAAY,OAAO;AAAA,EAC/B;AAAA,EAEA,gBAAgB,kBAAkB,KAAK,UAAU,aAAa,MAAM,CAAC,CAAC;AAAA;AAOjE,SAAS,mBAAmB,CAAC,OAA8B;AAAA,EAChE,IAAI,CAAC,WAAW,eAAe,GAAG;AAAA,IAChC,UAAU,iBAAiB,EAAE,WAAW,KAAK,CAAC;AAAA,EAChD;AAAA,EAGA,IAAI,sBAA+C,CAAC;AAAA,EACpD,IAAI,WAAW,gBAAgB,GAAG;AAAA,IAChC,IAAI;AAAA,MACF,sBAAsB,KAAK,MAAM,aAAa,kBAAkB,OAAO,CAAC;AAAA,MACxE,MAAM;AAAA,EAGV;AAAA,EAOA,MAAM,iBAAiB,oBAAoB;AAAA,EAC3C,MAAM,mBAAmB,MAAM,gBAAgB,aAC1C,MAAM,gBAAgB,oBAAoB;AAAA,EAC/C,MAAM,SAAsC,MAAM,gBAAgB,YAC9D,iBACA,mBACE,mBACC,kBAAkB;AAAA,EAEzB,MAAM,cAAc;AAAA,OACf;AAAA,IACH,QAAQ,MAAM;AAAA,IACd,UAAU,MAAM,YAAY,oBAAoB,YAAY;AAAA,IAC5D,kBAAkB,MAAM,eAAe,oBAAoB;AAAA,IAC3D,wBAAwB;AAAA,IACxB,qBAAqB,MAAM,kBAAkB,oBAAoB;AAAA,IACjE,WAAW,MAAM;AAAA,EACnB;AAAA,EAEA,gBAAgB,kBAAkB,KAAK,UAAU,aAAa,MAAM,CAAC,CAAC;AAAA;AAGjE,SAAS,gBAAgB,GAAS;AAAA,EACvC,IAAI,WAAW,gBAAgB,GAAG;AAAA,IAChC,gBAAgB,kBAAkB,KAAK,UAAU,CAAC,CAAC,CAAC;AAAA,EACtD;AAAA;AAGK,SAAS,cAAc,GAAY;AAAA,EACxC,IAAI,QAAQ,IAAI;AAAA,IAAkB,OAAO;AAAA,EACzC,IAAI,CAAC,WAAW,gBAAgB;AAAA,IAAG,OAAO;AAAA,EAE1C,MAAM,cAAc,cAAc,aAAa,kBAAkB,OAAO,GAAG,iBAAiB;AAAA,EAC5F,OAAO,aAAa,WAAW,aAAa,YAAY,WAAW;AAAA;AAG9D,SAAS,SAAS,GAAuB;AAAA,EAC9C,OAAO,QAAQ,IAAI,oBAAoB,WAAW,EAAE;AAAA;AAG/C,SAAS,mBAAmB,CACjC,aACA,SAA0B,QACpB;AAAA,EACN,IAAI,CAAC,WAAW,eAAe,GAAG;AAAA,IAChC,UAAU,iBAAiB,EAAE,WAAW,KAAK,CAAC;AAAA,EAChD;AAAA,EAEA,IAAI,sBAA+C,CAAC;AAAA,EACpD,IAAI,WAAW,gBAAgB,GAAG;AAAA,IAChC,IAAI;AAAA,MACF,sBAAsB,KAAK,MAAM,aAAa,kBAAkB,OAAO,CAAC;AAAA,MACxE,MAAM;AAAA,EAGV;AAAA,EAEA,MAAM,UAAU;AAAA,OACX;AAAA,IACH,kBAAkB;AAAA,IAMlB,wBAAwB;AAAA,EAC1B;AAAA,EAEA,gBAAgB,kBAAkB,KAAK,UAAU,SAAS,MAAM,CAAC,CAAC;AAAA;AAG7D,SAAS,sBAAsB,CAAC,gBAA8B;AAAA,EACnE,IAAI,CAAC,WAAW,eAAe,GAAG;AAAA,IAChC,UAAU,iBAAiB,EAAE,WAAW,KAAK,CAAC;AAAA,EAChD;AAAA,EAEA,IAAI,sBAA+C,CAAC;AAAA,EACpD,IAAI,WAAW,gBAAgB,GAAG;AAAA,IAChC,IAAI;AAAA,MACF,sBAAsB,KAAK,MAAM,aAAa,kBAAkB,OAAO,CAAC;AAAA,MACxE,MAAM;AAAA,EAGV;AAAA,EAEA,MAAM,UAAU;AAAA,OACX;AAAA,IACH,qBAAqB;AAAA,EACvB;AAAA,EAEA,gBAAgB,kBAAkB,KAAK,UAAU,SAAS,MAAM,CAAC,CAAC;AAAA;AAAA,IA3O9D,cAwBA,mBAiBA,iBACA;AAAA;AAAA,EA5CN;AAAA,EAEM,eAAe,EAAE,OAAO;AAAA,IAC5B,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,UAAU,EAAE,OAAO,EAAE,QAAQ,yBAAyB;AAAA,IACtD,QAAQ,EAAE,KAAK,CAAC,SAAS,MAAM,CAAC,EAAE,QAAQ,OAAO;AAAA,IACjD,SAAS,EAAE,OAAO,EAAE,QAAQ,KAAK;AAAA,IACjC,kBAAkB,EAAE,OAAO,EAAE,SAAS;AAAA,IACtC,wBAAwB,EAAE,KAAK,CAAC,QAAQ,gBAAgB,CAAC,EAAE,SAAS;AAAA,IACpE,qBAAqB,EAAE,OAAO,EAAE,SAAS;AAAA,EAC3C,CAAC;AAAA,EAgBK,oBAAoB,EAAE,OAAO;AAAA,IACjC,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,IAC5B,UAAU,EAAE,OAAO,EAAE,SAAS;AAAA,IAC9B,kBAAkB,EAAE,OAAO,EAAE,SAAS;AAAA,IACtC,wBAAwB,EAAE,KAAK,CAAC,QAAQ,gBAAgB,CAAC,EAAE,SAAS;AAAA,IACpE,qBAAqB,EAAE,OAAO,EAAE,SAAS;AAAA,IACzC,WAAW,EAAE,OAAO,EAAE,SAAS;AAAA,EACjC,CAAC,EAAE,MAAM;AAAA,EAUH,kBAAkB,KAAK,QAAQ,GAAG,WAAW,UAAU;AAAA,EACvD,mBAAmB,KAAK,iBAAiB,kBAAkB;AAAA;;;AC8Q1D,SAAS,WAAW,CAAC,OAAgB,QAAwB;AAAA,EAClE,IAAI,iBAAiB,eAAe;AAAA,IAClC,IAAI,QAAQ;AAAA,MACV,MAAM,aAAa,MAAM,OAAO;AAAA,MAEhC,IAAI,iBAAiB,qBAAqB;AAAA,QACvC,WAAuC,cAAc;AAAA,UACpD,aAAa;AAAA,UACb,gBAAgB;AAAA,UAChB,MAAM;AAAA,QACR;AAAA,MACF;AAAA,MAEA,IAAI,iBAAiB,uBAAuB;AAAA,QACzC,WAAuC,cAAc;AAAA,UACpD,cAAc;AAAA,UACd,gBAAgB;AAAA,QAClB;AAAA,MACF;AAAA,MAEA,IAAI,iBAAiB,YAAY,MAAM,eAAe,KAAK;AAAA,QACxD,WAAuC,cAAc;AAAA,UACpD,aAAa;AAAA,UACb,gBAAgB;AAAA,UAChB,kBAAkB;AAAA,QACpB;AAAA,MACF;AAAA,MAEA,IAAI,MAAM,YAAY;AAAA,QACpB,MAAM,YAAY,oCAAoC,KAAK,MAAM,UAAU;AAAA,QAC3E,MAAM,cAAc,YAAY,UAAU,KAAK;AAAA,QAC9C,WAAuC,iBAAiB;AAAA,UACvD;AAAA,UACA,YAAY,MAAM;AAAA,QACpB;AAAA,MACF;AAAA,MACA,QAAQ,IAAI,KAAK,UAAU,YAAY,MAAM,CAAC,CAAC;AAAA,IACjD,EAAO;AAAA,MACL,QAAQ,MAAM,UAAU,MAAM,SAAS;AAAA,MACvC,IAAI,iBAAiB,qBAAqB;AAAA,QACxC,QAAQ,MAAM,EAAE;AAAA,QAChB,QAAQ,MAAM,wBAAwB;AAAA,MACxC,EAAO,SAAI,iBAAiB,uBAAuB;AAAA,QACjD,QAAQ,MAAM,EAAE;AAAA,QAChB,QAAQ,MAAM,6BAA6B;AAAA,MAC7C,EAAO,SAAI,iBAAiB,YAAY,MAAM,eAAe,KAAK;AAAA,QAChE,QAAQ,MAAM,EAAE;AAAA,QAChB,QAAQ,MAAM,wBAAwB;AAAA,QACtC,QAAQ,MAAM,sDAAsD;AAAA,QACpE,QAAQ,MAAM,iEAAiE;AAAA,MACjF,EAAO,SAAI,iBAAiB,iBAAiB;AAAA,QAC3C,IAAI,MAAM,YAAY;AAAA,UACpB,QAAQ,MAAM,eAAe,MAAM,YAAY;AAAA,QACjD;AAAA,QACA,QAAQ,MAAM,EAAE;AAAA,QAChB,QAAQ,MAAM,wDAAwD;AAAA,MACxE,EAAO,SAAI,MAAM,YAAY;AAAA,QAC3B,QAAQ,MAAM,eAAe,MAAM,YAAY;AAAA,MACjD;AAAA,MAEA,IAAI,MAAM,SAAS,uBAAuB,MAAM,SAAS,uBAAuB,MAAM,SAAS,iBAAiB;AAAA,QAC9G,QAAQ,MAAM,EAAE;AAAA,QAChB,QAAQ,MAAM,wDAAwD;AAAA,MACxE;AAAA;AAAA,IAEF,QAAQ,KAAK,MAAM,QAAQ;AAAA,EAC7B;AAAA,EAGA,IAAI,SAAS,OAAO,UAAU,UAAU;AAAA,IACtC,MAAM,SAAS;AAAA,IACf,IACE,OAAO,SAAS,wBAChB,OAAO,SAAS,cAChB,OAAO,aAAa,aACpB,OAAO,eAAe,WACtB;AAAA,MACA,MAAM,kBAAkB,OAAO,cAAc,OAAO,WAAW;AAAA,MAC/D,MAAM,UAAU,IAAI,cAClB,kBACA,iBACA,gFACF;AAAA,MACA,IAAI,QAAQ;AAAA,QACV,QAAQ,IAAI,KAAK,UAAU,QAAQ,OAAO,GAAG,MAAM,CAAC,CAAC;AAAA,MACvD,EAAO;AAAA,QACL,QAAQ,MAAM,UAAU,QAAQ,SAAS;AAAA,QACzC,IAAI,QAAQ,YAAY;AAAA,UACtB,QAAQ,MAAM,eAAe,QAAQ,YAAY;AAAA,QACnD;AAAA;AAAA,MAEF,QAAQ,KAAK,CAAC;AAAA,IAChB;AAAA,EACF;AAAA,EAGA,MAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU;AAAA,EACzD,IAAI,QAAQ;AAAA,IACV,QAAQ,IAAI,KAAK,UAAU,EAAE,SAAS,OAAO,OAAO,SAAS,MAAM,gBAAgB,GAAG,MAAM,CAAC,CAAC;AAAA,EAChG,EAAO;AAAA,IACL,QAAQ,MAAM,UAAU,SAAS;AAAA;AAAA,EAEnC,QAAQ,KAAK,CAAC;AAAA;AAAA,IAtaH,eA0BA,0BAOA,qBAwBA,UAcA,+BAMA,uBAWA,iBAkKA;AAAA;AAAA,EA1PA,gBAAN,MAAM,sBAAsB,MAAM;AAAA,IAE9B;AAAA,IAEA;AAAA,IACA;AAAA,IAJT,WAAW,CACF,MACP,SACO,YACA,WAAW,GAClB;AAAA,MACA,MAAM,OAAO;AAAA,MALN;AAAA,MAEA;AAAA,MACA;AAAA,MAGP,KAAK,OAAO;AAAA;AAAA,IAGd,MAAM,GAA8E;AAAA,MAClF,OAAO;AAAA,QACL,SAAS;AAAA,QACT,OAAO,KAAK;AAAA,QACZ,MAAM,KAAK;AAAA,QACX,iBAAiB,KAAK;AAAA,MACxB;AAAA;AAAA,EAEJ;AAAA,EAOa,2BAA2B;AAAA,IACtC;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAE,KAAK;AAAA,CAAI;AAAA,EAEE,sBAAN,MAAM,4BAA4B,cAAc;AAAA,IAC5C;AAAA,IACS;AAAA,IAElB,WAAW,CACT,SACA,UAAsC,CAAC,GACvC;AAAA,MACA,MACE,iBACA,WAAW,6DACX,QAAQ,cAAc,QAAQ,YAAY,KAAK,sCAC/C,CACF;AAAA,MACA,KAAK,cAAc,QAAQ,eAAe;AAAA,QACxC;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,MACA,KAAK,aAAa,QAAQ,cAAc,QAAQ,YAAY,KAAK;AAAA,MACjE,KAAK,QAAQ,QAAQ;AAAA;AAAA,EAEzB;AAAA,EAEa,WAAN,MAAM,iBAAiB,cAAc;AAAA,IACjC;AAAA,IAET,WAAW,CAAC,QAAgB,SAAiB;AAAA,MAC3C,MACE,OAAO,OAAO,MAAM,KACpB,SACA,WAAW,MAAM,kDAAkD,WACnE,CACF;AAAA,MACA,KAAK,aAAa;AAAA;AAAA,EAEtB;AAAA,EAEa,gCAAgC;AAAA,IAC3C;AAAA,IACA;AAAA,IACA;AAAA,EACF,EAAE,KAAK;AAAA,CAAI;AAAA,EAEE,wBAAN,MAAM,8BAA8B,cAAc;AAAA,IACvD,WAAW,CAAC,SAAkB;AAAA,MAC5B,MACE,sBACA,WAAW,oDACX,qDACA,CACF;AAAA;AAAA,EAEJ;AAAA,EAEa,kBAAN,MAAM,wBAAwB,cAAc;AAAA,IACjD,WAAW,CAAC,SAAiB;AAAA,MAC3B,MACE,oBACA,SACA,4DACA,CACF;AAAA;AAAA,EAEJ;AAAA,EAyJa,gBAAN,MAAM,sBAAsB,cAAc;AAAA,IAC/C,WAAW,CAAC,UAAkB,IAAY;AAAA,MACxC,MACE,aACA,GAAG,uBAAuB,MAC1B,8CAA8C,SAAS,YAAY,yCACnE,CACF;AAAA;AAAA,EAEJ;AAAA;;;ACtNO,SAAS,uBAAuB,CAAC,MAAsD;AAAA,EAC5F,MAAM,OAAgC;AAAA,IACpC,MAAM,KAAK;AAAA,IACX,UAAU,KAAK;AAAA,IACf,WAAW,KAAK,aAAa;AAAA,EAC/B;AAAA,EAKA,IAAI,KAAK;AAAA,IAAQ,KAAK,SAAS,KAAK;AAAA,EACpC,IAAI,KAAK;AAAA,IAAS,KAAK,UAAU,KAAK;AAAA,EACtC,IAAI,KAAK;AAAA,IAAc,KAAK,eAAe,KAAK;AAAA,EAChD,IAAI,KAAK,oBAAoB,OAAO,KAAK,KAAK,gBAAgB,EAAE,SAAS,GAAG;AAAA,IAC1E,KAAK,mBAAmB,KAAK;AAAA,EAC/B;AAAA,EAEA,OAAO;AAAA;;;ACTT,qBAAS;AAcF,SAAS,cAAc,CAAC,OAAsC;AAAA,EACnE,OAAO,eAAe,SAAS,KAAK;AAAA;AAY/B,SAAS,kBAAkB,CAAC,OAA6B;AAAA,EAC9D,OAAO,eAAe,KAAK,IAAI,QAAS;AAAA;AAQnC,SAAS,WAAW,CAAC,OAAwD;AAAA,EAClF,IAAI,UAAU,QAAQ,UAAU;AAAA,IAAW,OAAO;AAAA,EAClD,OAAO,iBAAiB,OAAO,MAAM,YAAY,IAAI;AAAA;AAwBhD,SAAS,OAAO,CAAC,KAA0B;AAAA,EAChD,OAAO;AAAA,IACL,IAAI,IAAI;AAAA,IACR,MAAM,IAAI;AAAA,IACV,MAAM,IAAI;AAAA,IACV,aAAa,IAAI;AAAA,IACjB,cAAc,IAAI;AAAA,IAClB,OAAO,IAAI;AAAA,IACX,UAAU,IAAI;AAAA,IACd,gBAAgB,IAAI;AAAA,IACpB,cAAc,IAAI;AAAA,IAClB,iBAAiB,IAAI;AAAA,IACrB,QAAQ,IAAI;AAAA,IACZ,UAAU,IAAI;AAAA,IACd,UAAU,IAAI;AAAA,IACd,MAAM,IAAI;AAAA,IACV,WAAW,IAAI;AAAA,IACf,WAAW,YAAY,IAAI,SAAS;AAAA,IACpC,WAAW,YAAY,IAAI,SAAS;AAAA,EACtC;AAAA;AAGK,SAAS,WAAW,CAAC,KAAuC;AAAA,EACjE,OAAO,IAAI,IAAI,OAAO;AAAA;AAgBjB,SAAS,WAAW,CAAC,KAAkC;AAAA,EAC5D,OAAO;AAAA,IACL,IAAI,IAAI;AAAA,IACR,MAAM,IAAI;AAAA,IACV,aAAa,IAAI;AAAA,IACjB,MAAM,IAAI;AAAA,IACV,WAAW,IAAI;AAAA,IACf,UAAU,IAAI;AAAA,IACd,WAAW,IAAI;AAAA,IACf,WAAW,YAAY,IAAI,SAAS;AAAA,IACpC,WAAW,YAAY,IAAI,SAAS;AAAA,EACtC;AAAA;AAGK,SAAS,eAAe,CAAC,KAA+C;AAAA,EAC7E,OAAO,IAAI,IAAI,WAAW;AAAA;AAiBrB,SAAS,UAAU,CAAC,KAAgC;AAAA,EACzD,OAAO;AAAA,IACL,IAAI,IAAI;AAAA,IACR,MAAM,IAAI;AAAA,IACV,UAAU,mBAAmB,IAAI,QAAQ;AAAA,IACzC,cAAc,IAAI,gBAAgB;AAAA,IAClC,SAAS,IAAI;AAAA,IACb,UAAU,IAAI;AAAA,IACd,UAAU,IAAI;AAAA,IACd,WAAW,IAAI;AAAA,IACf,WAAW,YAAY,IAAI,SAAS;AAAA,IACpC,WAAW,YAAY,IAAI,SAAS;AAAA,EACtC;AAAA;AAGK,SAAS,cAAc,CAAC,KAA6C;AAAA,EAC1E,OAAO,IAAI,IAAI,UAAU;AAAA;AAkBpB,SAAS,oBAAoB,CAAC,KAAoD;AAAA,EACvF,OAAO;AAAA,IACL,SAAS,IAAI;AAAA,IACb,UAAU,IAAI,YAAY;AAAA,IAC1B,WAAW,IAAI,aAAa;AAAA,IAC5B,SAAS,IAAI;AAAA,IACb,OAAO,IAAI,SAAS;AAAA,IACpB,QAAQ,IAAI,UAAU;AAAA,EACxB;AAAA;AAAA,IApKI;AAAA;AAAA,mBAAoC,OAAO,OAAO,eAAe;AAAA;;;;;;;;;;;;AC9DvE;AAAA;AAgCA,MAAM,iBAAiB;AAAA,EACb;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,sBAA2C;AAAA,EAEnD,WAAW,CAAC,MAMT;AAAA,IACD,KAAK,SAAS,KAAK;AAAA,IACnB,KAAK,WAAW,KAAK,aAAa;AAAA,IAClC,KAAK,cAAc,KAAK;AAAA,IACxB,KAAK,iBAAiB,KAAK;AAAA,IAO3B,IAAI,KAAK,eAAe,KAAK,oBAAoB,QAAQ;AAAA,MACvD,KAAK,sBAAsB;AAAA,IAC7B;AAAA,IAGA,MAAM,aAAa,IAAI;AAAA,IACvB,WAAW,QAAQ,iBAAiB,CAAC,QAAQ;AAAA,MAC3C,IAAI,KAAK;AAAA,QAAa,IAAI,QAAQ,IAAI,kBAAkB,KAAK,WAAW;AAAA,MACxE,IAAI,KAAK;AAAA,QAAgB,IAAI,QAAQ,IAAI,qBAAqB,KAAK,cAAc;AAAA,MACjF,OAAO;AAAA,KACR;AAAA,IAED,KAAK,MAAM,IAAI,SAAS;AAAA,MACtB,UAAU;AAAA,QACR,QAAQ,KAAK;AAAA,MACf;AAAA,MACA,WAAW,KAAK;AAAA,MAChB;AAAA,IACF,CAAC;AAAA;AAAA,EAQK,WAAW,CAAC,OAAuB;AAAA,IACzC,IAAI,SAAS,OAAO,UAAU,UAAU;AAAA,MACtC,MAAM,MAAM;AAAA,MAEZ,IAAI,IAAI,eAAe,KAAK;AAAA,QAC1B,MAAM,IAAI;AAAA,MACZ;AAAA,MACA,IAAI,IAAI,eAAe,KAAK;AAAA,QAC1B,MAAM,IAAI,SAAS,KAAK,IAAI,WAAW,IAAI,QAAQ,eAAe;AAAA,MACpE;AAAA,MAGA,MAAM,cAAc,IAAI,WAAW,IAAI,QAAQ,IAAI,YAAY;AAAA,MAC/D,IACE,WAAW,SAAS,WAAW,MAAM,WAAW,SAAS,SAAS,KAAK,WAAW,SAAS,UAAU,MACrG,WAAW,SAAS,gBAAgB,GACpC;AAAA,QACA,MAAM,IAAI,sBAAsB,IAAI,WAAW,IAAI,QAAQ,SAAS;AAAA,MACtE;AAAA,MAEA,IAAI,IAAI,YAAY;AAAA,QAClB,MAAM,IAAI,SAAS,IAAI,YAAY,IAAI,WAAW,IAAI,QAAQ,eAAe;AAAA,MAC/E;AAAA,MAGA,IACE,IAAI,SAAS,wBACb,IAAI,SAAS,cACb,IAAI,aAAa,aACjB,IAAI,eAAe,WACnB;AAAA,QACA,MAAM,kBAAkB,IAAI,cAAc,IAAI,WAAW;AAAA,QACzD,MAAM,IAAI,cACR,kBACA,iBACA,gFACF;AAAA,MACF;AAAA,IACF;AAAA,IAGA,IAAI,iBAAiB,aAAa,OAAO,MAAM,YAAY,UAAU;AAAA,MACnE,IAAI,MAAM,QAAQ,SAAS,OAAO,KAAK,MAAM,QAAQ,SAAS,SAAS,KAAK,MAAM,QAAQ,SAAS,cAAc,GAAG;AAAA,QAClH,MAAM,IAAI,cACR,iBACA,4CACA,qFACF;AAAA,MACF;AAAA,IACF;AAAA,IAGA,IAAI,iBAAiB,OAAO;AAAA,MAC1B,MAAM,IAAI,cACR,kBACA,MAAM,SACN,+CACF;AAAA,IACF;AAAA,IAEA,MAAM,IAAI,cACR,iBACA,gCACA,+CACF;AAAA;AAAA,OAMY,QAAU,CAAC,MAAc,SAAmC;AAAA,IAExE,MAAM,aAAa,SAAS;AAAA,IAC5B,IAAI,eAAuC,CAAC;AAAA,IAC5C,IAAI,sBAAsB,SAAS;AAAA,MACjC,WAAW,QAAQ,CAAC,OAAO,QAAQ;AAAA,QACjC,aAAa,OAAO;AAAA,OACrB;AAAA,IACH,EAAO,SAAI,YAAY;AAAA,MACrB,eAAe;AAAA,IACjB;AAAA,IAGA,MAAM,iBAAyC,CAAC;AAAA,IAChD,IAAI,KAAK;AAAA,MAAa,eAAe,oBAAoB,KAAK;AAAA,IAC9D,IAAI,KAAK;AAAA,MAAgB,eAAe,uBAAuB,KAAK;AAAA,IAEpE,MAAM,WAAW,MAAM,MAAM,GAAG,KAAK,WAAW,QAAQ;AAAA,SACnD;AAAA,MACH,SAAS;AAAA,QACP,aAAa,KAAK;AAAA,QAClB,gBAAgB;AAAA,WACb;AAAA,WACA;AAAA,MACL;AAAA,IACF,CAAC;AAAA,IAED,IAAI,CAAC,SAAS,IAAI;AAAA,MAChB,IAAI,SAAS,WAAW,KAAK;AAAA,QAC3B,MAAM,IAAI;AAAA,MACZ;AAAA,MACA,IAAI,SAAS,WAAW,KAAK;AAAA,QAC3B,MAAM,IAAI,SAAS,KAAK,MAAM,SAAS,KAAK,KAAK,eAAe;AAAA,MAClE;AAAA,MACA,MAAM,QAAQ,MAAM,SAAS,KAAK;AAAA,MAElC,MAAM,aAAa,MAAM,YAAY;AAAA,MACrC,IACE,WAAW,SAAS,WAAW,MAAM,WAAW,SAAS,SAAS,KAAK,WAAW,SAAS,UAAU,MACrG,WAAW,SAAS,gBAAgB,GACpC;AAAA,QACA,MAAM,IAAI,sBAAsB,KAAK;AAAA,MACvC;AAAA,MACA,MAAM,IAAI,SAAS,SAAS,QAAQ,KAAK;AAAA,IAC3C;AAAA,IAEA,OAAO,SAAS,KAAK;AAAA;AAAA,OAOjB,WAAU,CAAC,SAA0H;AAAA,IACzI,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,KAAK,IAAI,OAAO,WAAW;AAAA,QAChD,OAAO,SAAS;AAAA,QAChB,QAAQ,SAAS;AAAA,QACjB,MAAM,SAAS;AAAA,QACf,QAAQ,SAAS;AAAA,MACnB,CAAC;AAAA,MACD,OAAO;AAAA,QACL,MAAM,YAAY,SAAS,OAAO,IAAI;AAAA,QACtC,OAAO,SAAS,OAAO;AAAA,MACzB;AAAA,MACA,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAAA,OAIpB,SAAQ,CAAC,IAA4B;AAAA,IACzC,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,KAAK,IAAI,OAAO,SAAS;AAAA,QAC9C,IAAI,SAAS,IAAI,EAAE;AAAA,MACrB,CAAC;AAAA,MACD,OAAO,QAAQ,QAAQ;AAAA,MACvB,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAAA,OAIpB,YAAW,CAAC,MAAwC;AAAA,IACxD,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,KAAK,IAAI,OAAO,YAAY;AAAA,QACjD,MAAM,KAAK;AAAA,QACX,MAAM,KAAK;AAAA,QACX,aAAa,KAAK,eAAe;AAAA,QACjC,cAAc,KAAK;AAAA,QACnB,OAAO,KAAK,SAAS;AAAA,QACrB,UAAU,KAAK,YAAY;AAAA,QAC3B,gBAAgB,KAAK,kBAAkB;AAAA,QACvC,cAAc,KAAK,gBAAgB;AAAA,QACnC,iBAAiB,KAAK,mBAAmB;AAAA,QACzC,QAAQ,KAAK,UAAU;AAAA,QACvB,UAAU,KAAK,YAAY;AAAA,QAC3B,UAAU,KAAK,YAAY;AAAA,QAC3B,MAAM,KAAK,QAAQ;AAAA,MACrB,CAAC;AAAA,MACD,OAAO,QAAQ,QAAQ;AAAA,MACvB,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAAA,OAIpB,YAAW,CAAC,IAAY,MAAwC;AAAA,IACpE,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,KAAK,IAAI,OAAO,YAAY;AAAA,QACjD,IAAI,SAAS,IAAI,EAAE;AAAA,QACnB,MAAM;AAAA,UACJ,MAAM,KAAK,QAAQ;AAAA,UACnB,aAAa,KAAK,eAAe;AAAA,UACjC,cAAc,KAAK,gBAAgB;AAAA,UACnC,OAAO,KAAK,SAAS;AAAA,UACrB,UAAU,KAAK,YAAY;AAAA,UAC3B,gBAAgB,KAAK,kBAAkB;AAAA,UACvC,cAAc,KAAK,gBAAgB;AAAA,UACnC,iBAAiB,KAAK,mBAAmB;AAAA,UACzC,QAAQ,KAAK,UAAU;AAAA,UACvB,UAAU,KAAK,YAAY;AAAA,UAC3B,UAAU,KAAK,YAAY;AAAA,UAC3B,MAAM,KAAK,QAAQ;AAAA,QACrB;AAAA,MACF,CAAC;AAAA,MACD,OAAO,QAAQ,QAAQ;AAAA,MACvB,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAAA,OAIpB,YAAW,CAAC,IAA2B;AAAA,IAC3C,IAAI;AAAA,MACF,MAAM,KAAK,IAAI,OAAO,YAAY;AAAA,QAChC,IAAI,SAAS,IAAI,EAAE;AAAA,MACrB,CAAC;AAAA,MACD,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAAA,OAQpB,eAAc,CAAC,SAA8F;AAAA,IACjH,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,KAAK,IAAI,WAAW,eAAe;AAAA,QACxD,iBAAiB;AAAA,MACnB,CAAC;AAAA,MAED,MAAM,aAAa,gBAAgB,SAAS,UAAU;AAAA,MAEtD,MAAM,SAAS,SAAS,UAAU;AAAA,MAClC,MAAM,QAAQ,SAAS,SAAS,WAAW;AAAA,MAC3C,OAAO;AAAA,QACL,MAAM,WAAW,MAAM,QAAQ,SAAS,KAAK;AAAA,QAC7C,OAAO,SAAS;AAAA,MAClB;AAAA,MACA,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAAA,OAIpB,aAAY,CAAC,IAAgC;AAAA,IACjD,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,KAAK,IAAI,WAAW,aAAa;AAAA,QACtD,MAAM;AAAA,MACR,CAAC;AAAA,MACD,OAAO,YAAY,QAAQ;AAAA,MAC3B,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAAA,OAQpB,cAAa,CAAC,SAA4G;AAAA,IAC9H,IAAI;AAAA,MAOF,MAAM,WAAW,MAAM,KAAK,IAAI,gBAAgB,cAAc;AAAA,QAC5D,UAAU,SAAS;AAAA,QACnB,iBAAiB;AAAA,MACnB,CAAC;AAAA,MAKD,MAAM,UAAU,eAAe,SAAS,OAAO;AAAA,MAC/C,MAAM,QAAgB,SAAS;AAAA,MAE/B,MAAM,SAAS,SAAS,UAAU;AAAA,MAClC,MAAM,QAAQ,SAAS,SAAS,QAAQ;AAAA,MACxC,OAAO;AAAA,QACL,MAAM,QAAQ,MAAM,QAAQ,SAAS,KAAK;AAAA,QAC1C;AAAA,MACF;AAAA,MACA,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAAA,OAIpB,YAAW,CAAC,IAA+B;AAAA,IAC/C,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,KAAK,IAAI,gBAAgB,YAAY;AAAA,QAC1D;AAAA,MACF,CAAC;AAAA,MACD,OAAO,WAAW,QAAQ;AAAA,MAC1B,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAAA,OAIpB,iBAAgB,GAAsI;AAAA,IAC1J,IAAI;AAAA,MACF,MAAM,OAAO,KAAK;AAAA,MAClB,IAAI,CAAC;AAAA,QAAM,OAAO,EAAE,QAAQ,CAAC,EAAE;AAAA,MAC/B,MAAM,KAAK,gBAAgB,mBAAmB,IAAI;AAAA,MAClD,OAAO,MAAM,KAAK,QAAkI,yBAAyB,IAAI;AAAA,MACjL,MAAM;AAAA,MACN,OAAO,EAAE,QAAQ,CAAC,EAAE;AAAA;AAAA;AAAA,EAIxB,qBAAqB,GAAuB;AAAA,IAC1C,OAAO,KAAK;AAAA;AAAA,EAGd,eAAe,GAAuB;AAAA,IACpC,OAAO,KAAK;AAAA;AAAA,OAOR,cAAa,GAAkB;AAAA,IAInC,MAAM,+BACJ,CAAC,KAAK,eAAe,KAAK,wBAAwB;AAAA,IACpD,IAAI,KAAK,kBAAkB,CAAC;AAAA,MAA8B;AAAA,IAE1D,IAAI,CAAC,KAAK,gBAAgB;AAAA,MACxB,IAAI,OAAO,MAAM,mBAAmB,KAAK,QAAQ,KAAK,QAAQ,EAAE,MAAM,MAAM,CAAC,CAAC;AAAA,MAC9E,IAAI,KAAK,WAAW,GAAG;AAAA,QAErB,MAAM,IAAI,QAAQ,OAAK,WAAW,GAAG,IAAI,CAAC;AAAA,QAC1C,OAAO,MAAM,mBAAmB,KAAK,QAAQ,KAAK,QAAQ,EAAE,MAAM,MAAM,CAAC,CAAC;AAAA,MAC5E;AAAA,MACA,IAAI,KAAK,SAAS,KAAK,KAAK,IAAI;AAAA,QAC9B,KAAK,iBAAiB,KAAK,GAAG;AAAA,MAChC;AAAA,IACF;AAAA,IAIA,IAAI,KAAK,wBAAwB,UAAU,KAAK,gBAAgB;AAAA,MAC9D,IAAI;AAAA,QACF,MAAM,WAAW,MAAM,KAAK,IAAI,WAAW,eAAe,EAAE,iBAAiB,MAAM,CAAC;AAAA,QACpF,MAAM,aAAa,gBAAgB,SAAS,UAAU;AAAA,QACtD,IAAI,WAAW,WAAW,KAAK,WAAW,IAAI;AAAA,UAE5C,KAAK,cAAc,WAAW,GAAG;AAAA,UACjC,KAAK,sBAAsB;AAAA,QAC7B,EAAO,SAAI,WAAW,SAAS,GAAG;AAAA,UAChC,MAAM,YAAY,WAAW,KAAK,CAAC,OAAkB,GAAG,SAAS;AAAA,UACjE,IAAI,WAAW;AAAA,YAEb,KAAK,cAAc,UAAU;AAAA,YAC7B,KAAK,sBAAsB;AAAA,UAC7B,EAAO;AAAA,YAGL,MAAM,QAAQ,WAAW,MAAM;AAAA,YAC/B,IAAI,OAAO;AAAA,cACT,KAAK,cAAc,KAAK,eAAe,MAAM;AAAA,cAC7C,KAAK,sBAAsB;AAAA,YAC7B;AAAA;AAAA,QAEJ;AAAA,QACA,MAAM;AAAA,IAGV;AAAA;AAAA,EAOF,sBAAsB,GAAwB;AAAA,IAC5C,OAAO,KAAK;AAAA;AAAA,EAUd,2BAA2B,GAAW;AAAA,IACpC,IAAI,CAAC,KAAK,eAAe,KAAK,wBAAwB,QAAQ;AAAA,MAC5D,MAAM,IAAI,cACR,sBACA,4BACA,wGACF;AAAA,IACF;AAAA,IAEA,IAAI,KAAK,wBAAwB,aAAa;AAAA,MAC5C,MAAM,IAAI,cACR,uBACA,2GACA,iHACF;AAAA,IACF;AAAA,IAEA,OAAO,KAAK;AAAA;AAAA,OAGR,aAAY,CAAC,IAAyC;AAAA,IAC1D,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,KAAK,IAAI,gBAAgB,aAAa;AAAA,QAC3D;AAAA,MACF,CAAC;AAAA,MACD,OAAO,qBAAqB,QAAQ;AAAA,MACpC,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAAA,OAWpB,eAAc,CAAC,MAWC;AAAA,IAEpB,KAAK,4BAA4B;AAAA,IA8BjC,MAAM,OAAO,wBAAwB,IAAI;AAAA,IAEzC,IAAI;AAAA,MACF,MAAM,UAAU,MAAM,KAAK,QAAkB,kBAAkB;AAAA,QAC7D,QAAQ;AAAA,QACR,MAAM,KAAK,UAAU,IAAI;AAAA,MAC3B,CAAC;AAAA,MACD,OAAO;AAAA,MACP,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAAA,OAIpB,eAAc,CAAC,IAAY,MAMgB;AAAA,IAG/C,MAAM,cAAc,KAAK,4BAA4B;AAAA,IAErD,IAAI;AAAA,MACF,MAAM,WAAW,MAAM,KAAK,IAAI,gBAAgB,eAAe;AAAA,QAC7D;AAAA,QACA,MAAM;AAAA,UACJ,MAAM,KAAK;AAAA,UACX,QAAQ,KAAK;AAAA,UACb,UAAU,KAAK;AAAA,UACf,WAAW,KAAK;AAAA,UAChB,SAAS,KAAK;AAAA,QAChB;AAAA,MACF,CAAC;AAAA,MACD,OAAO,KAAK,WAAW,QAAQ,GAAG,YAAY;AAAA,MAC9C,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAAA,OAIpB,eAAc,CAAC,IAA8C;AAAA,IAGjE,MAAM,cAAc,KAAK,4BAA4B;AAAA,IAErD,IAAI;AAAA,MACF,MAAM,KAAK,IAAI,gBAAgB,eAAe,EAAE,GAAG,CAAC;AAAA,MACpD,OAAO,EAAE,YAAY;AAAA,MACrB,OAAO,OAAO;AAAA,MACd,KAAK,YAAY,KAAK;AAAA;AAAA;AAG5B;AAKA,eAAsB,YAAY,GAA8B;AAAA,EAC9D,IAAI,CAAC,WAAW;AAAA,IACd,MAAM,SAAS,UAAU;AAAA,IACzB,IAAI,CAAC,QAAQ;AAAA,MACX,MAAM,IAAI;AAAA,IACZ;AAAA,IAEA,MAAM,SAAS,WAAW;AAAA,IAC1B,YAAY,IAAI,iBAAiB;AAAA,MAC/B;AAAA,MACA,WAAW,OAAO;AAAA,MAClB,aAAa,OAAO;AAAA,MACpB,gBAAgB,OAAO;AAAA,MACvB,iBAAiB,OAAO;AAAA,IAC1B,CAAC;AAAA,IAGD,MAAM,UAAU,cAAc,EAAE,MAAM,CAAC,QAAiB;AAAA,MAEtD,IAAI,QAAQ,IAAI,gBAAgB;AAAA,QAC9B,MAAM,UAAU,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,QAC/D,QAAQ,OAAO,MAAM,yCAAyC;AAAA,CAAW;AAAA,MAC3E;AAAA,KACD;AAAA,EACH;AAAA,EAEA,OAAO;AAAA;AAGF,SAAS,cAAc,GAAS;AAAA,EACrC,YAAY;AAAA;AAGd,eAAsB,cAAc,CAAC,QAAgB,UAAoC;AAAA,EAEvF,IAAI;AAAA,IACF,MAAM,WAAW,MAAM,MAAM,GAAG,0BAA0B;AAAA,MACxD,SAAS,EAAE,aAAa,OAAO;AAAA,IACjC,CAAC;AAAA,IACD,OAAO,SAAS;AAAA,IAChB,MAAM;AAAA,IACN,OAAO;AAAA;AAAA;AAQX,eAAsB,kBAAkB,CAAC,QAAgB,UAA2D;AAAA,EAClH,IAAI;AAAA,IACF,MAAM,WAAW,MAAM,MAAM,GAAG,8BAA8B;AAAA,MAC5D,SAAS,EAAE,aAAa,OAAO;AAAA,IACjC,CAAC;AAAA,IACD,IAAI,CAAC,SAAS;AAAA,MAAI,OAAO,CAAC;AAAA,IAC1B,MAAM,OAAO,MAAM,SAAS,KAAK;AAAA,IACjC,OAAO,KAAK,QAAQ,CAAC;AAAA,IACrB,MAAM;AAAA,IACN,OAAO,CAAC;AAAA;AAAA;AAQZ,eAAsB,eAAe,CAAC,QAAgB,UAAkB,OAA6E;AAAA,EACnJ,IAAI;AAAA,IACF,MAAM,WAAW,MAAM,MAAM,GAAG,2BAA2B;AAAA,MACzD,SAAS,EAAE,aAAa,QAAQ,qBAAqB,MAAM;AAAA,IAC7D,CAAC;AAAA,IACD,IAAI,CAAC,SAAS;AAAA,MAAI,OAAO,CAAC;AAAA,IAC1B,MAAM,OAAO,MAAM,SAAS,KAAK;AAAA,IACjC,OAAO,KAAK,cAAc,CAAC;AAAA,IAC3B,MAAM;AAAA,IACN,OAAO,CAAC;AAAA;AAAA;AAAA,IA7ER,YAAqC;AAAA;AAAA,EAplBzC;AAAA,EACA;AAAA,EAIA;AAAA;;;ACRA;AACA;;;ACFA;AACA,uBAAS,6BAAY;AACrB,iBAAS;AAcT,IAAI,eAAsC;AAC1C,IAAI,oBAAoB;AAMjB,SAAS,aAAa,CAAC,SAAuB;AAAA,EACnD,oBAAoB;AAAA,EACpB,eAAe;AAAA;AAWV,SAAS,iBAAiB,CAAC,aAAqB,mBAAmC;AAAA,EACxF,IAAI,iBAAiB;AAAA,IAAM,OAAO;AAAA,EAElC,IAAI,eAAe;AAAA,EACnB,IAAI,qBAAqB;AAAA,EAEzB,IAAI;AAAA,IAEF,MAAM,iBAAiB;AAAA,MACrB,MAAK,QAAQ,IAAI,GAAG,WAAW,UAAU,gBAAgB,UAAU;AAAA,MACnE,MAAK,QAAQ,IAAI,GAAG,gBAAgB,WAAW,UAAU,gBAAgB,UAAU;AAAA,IACrF;AAAA,IACA,WAAW,KAAK,gBAAgB;AAAA,MAC9B,IAAI,YAAW,CAAC,GAAG;AAAA,QACjB,MAAM,UAAU,cAAa,GAAG,OAAO;AAAA,QAGvC,MAAM,WAAW,0CAA0C,KAAK,OAAO;AAAA,QACvE,MAAM,WAAW,kDAAkD,KAAK,OAAO;AAAA,QAG/E,IAAI,cAAc,KAAK,OAAO,KAAK,CAAC,YAAY,CAAC,UAAU;AAAA,UACzD,MAAM,IAAI,MACR,+EACA,+CACF;AAAA,QACF;AAAA,QACA,IAAI,WAAW;AAAA,UAAI,eAAe,SAAS,GAAG,KAAK;AAAA,QACnD,IAAI,WAAW;AAAA,UAAI,qBAAqB,SAAS,GAAG,KAAK;AAAA,QACzD;AAAA,MACF;AAAA,IACF;AAAA,IACA,OAAO,KAAK;AAAA,IAKZ,IAAI,eAAe,SAAS,IAAI,QAAQ,WAAW,6BAA6B,GAAG;AAAA,MACjF,MAAM;AAAA,IACR;AAAA;AAAA,EAGF,eAAe,EAAE,YAAY,cAAc,mBAAmB;AAAA,EAC9D,OAAO;AAAA;AAOF,SAAS,WAAW,CAAC,SAAuC;AAAA,EACjE,IAAI,CAAC;AAAA,IAAS,OAAO;AAAA,EAGrB,MAAM,aAAa,QAAQ,SAAS,QAAQ,OAAO,KAAK,IAAI;AAAA,EAE5D,MAAM,UAAU,QAAQ,KAAK;AAAA,EAE7B,OAAO,QAAQ,YAAY,QAAQ,QAAQ,IAAI;AAAA;AAAA;AAG1C,MAAM,gBAAgB;AAAA,EACP;AAAA,EAApB,WAAW,CAAS,QAAsB;AAAA,IAAtB;AAAA;AAAA,EAEpB,MAAM,CAAC,MAAqB;AAAA,IAC1B,IAAI,KAAK,WAAW,QAAQ;AAAA,MAE1B,IAAI,WAAW;AAAA,MACf,IACE,sBAAsB,WACtB,SAAS,QACT,OAAO,SAAS,YAChB,CAAC,MAAM,QAAQ,IAAI,KACnB,gBAAiB,MACjB;AAAA,QACA,WAAW;AAAA,aACL;AAAA,UACJ,SAAS,kBAAkB,iBAAiB;AAAA,QAC9C;AAAA,MACF;AAAA,MACA,QAAQ,IAAI,KAAK,UAAU,UAAU,MAAM,CAAC,CAAC;AAAA,IAC/C,EAAO;AAAA,MACL,KAAK,YAAY,IAAI;AAAA;AAAA;AAAA,EAIjB,WAAW,CAAC,MAAqB;AAAA,IACvC,IAAI,MAAM,QAAQ,IAAI,GAAG;AAAA,MACvB,KAAK,YAAY,IAAI;AAAA,IACvB,EAAO,SAAI,QAAQ,OAAO,SAAS,UAAU;AAAA,MAC3C,KAAK,aAAa,IAA+B;AAAA,IACnD,EAAO;AAAA,MACL,QAAQ,IAAI,IAAI;AAAA;AAAA;AAAA,EAIZ,WAAW,CAAC,MAAuB;AAAA,IACzC,IAAI,KAAK,WAAW,GAAG;AAAA,MACrB,QAAQ,IAAI,MAAM,KAAK,YAAY,CAAC;AAAA,MACpC;AAAA,IACF;AAAA,IAGA,MAAM,YAAY,KAAK;AAAA,IACvB,IAAI,CAAC,aAAa,OAAO,cAAc,UAAU;AAAA,MAC/C,KAAK,QAAQ,UAAQ;AAAA,QAAE,QAAQ,IAAI,KAAK,OAAO,IAAI,GAAG;AAAA,OAAI;AAAA,MAC1D;AAAA,IACF;AAAA,IAEA,MAAM,OAAO,OAAO,KAAK,SAAS;AAAA,IAGlC,MAAM,kBAAkB,CAAC,QAAyB;AAAA,MAChD,IAAI,QAAQ,QAAQ,QAAQ;AAAA,QAAW,OAAO;AAAA,MAC9C,IAAI,OAAO,QAAQ;AAAA,QAAU,OAAO,KAAK,UAAU,GAAG;AAAA,MACtD,IAAI,OAAO,QAAQ;AAAA,QAAU,OAAO;AAAA,MACpC,IAAI,OAAO,QAAQ,YAAY,OAAO,QAAQ,aAAa,OAAO,QAAQ,UAAU;AAAA,QAClF,OAAO,IAAI,SAAS;AAAA,MACtB;AAAA,MACA,OAAO,KAAK,UAAU,GAAG;AAAA;AAAA,IAI3B,MAAM,SAAiC,CAAC;AAAA,IACxC,KAAK,QAAQ,SAAO;AAAA,MAClB,OAAO,OAAO,KAAK,IACjB,IAAI,QACJ,GAAG,KAAK,IAAI,UAAQ,gBAAiB,KAAiC,IAAI,EAAE,MAAM,CACpF;AAAA,KACD;AAAA,IAGD,MAAM,SAAS,KAAK,IAAI,SAAO,MAAM,KAAK,IAAI,YAAY,EAAE,OAAO,OAAO,QAAQ,EAAE,CAAC,CAAC,EAAE,KAAK,IAAI;AAAA,IACjG,QAAQ,IAAI,MAAM;AAAA,IAClB,QAAQ,IAAI,KAAK,IAAI,SAAO,IAAI,OAAO,OAAO,QAAQ,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC;AAAA,IAGrE,KAAK,QAAQ,UAAQ;AAAA,MACnB,MAAM,MAAM,KAAK,IAAI,SAAO;AAAA,QAC1B,MAAM,QAAQ,gBAAiB,KAAiC,IAAI;AAAA,QACpE,MAAM,QAAQ,OAAO,QAAQ;AAAA,QAC7B,OAAO,MAAM,OAAO,KAAK,EAAE,MAAM,GAAG,KAAK;AAAA,OAC1C,EAAE,KAAK,IAAI;AAAA,MACZ,QAAQ,IAAI,GAAG;AAAA,KAChB;AAAA,IAED,QAAQ,IAAI,MAAM,KAAK;AAAA,EAAK,OAAO,KAAK,MAAM,aAAa,CAAC;AAAA;AAAA,EAGtD,YAAY,CAAC,MAAqC;AAAA,IACxD,MAAM,eAAe,KAAK,IAAI,GAAG,OAAO,KAAK,IAAI,EAAE,IAAI,OAAK,EAAE,MAAM,CAAC;AAAA,IAErE,OAAO,QAAQ,IAAI,EAAE,QAAQ,EAAE,KAAK,WAAW;AAAA,MAC7C,MAAM,eAAe,MAAM,KAAK,IAAI,OAAO,YAAY,CAAC;AAAA,MACxD,IAAI;AAAA,MAEJ,IAAI,UAAU,QAAQ,UAAU,WAAW;AAAA,QACzC,iBAAiB;AAAA,MACnB,EAAO,SAAI,OAAO,UAAU,UAAU;AAAA,QACpC,iBAAiB,KAAK,UAAU,OAAO,MAAM,CAAC;AAAA,MAChD,EAAO,SAAI,OAAO,UAAU,UAAU;AAAA,QACpC,iBAAiB;AAAA,MACnB,EAAO,SAAI,OAAO,UAAU,YAAY,OAAO,UAAU,aAAa,OAAO,UAAU,UAAU;AAAA,QAC/F,iBAAiB,MAAM,SAAS;AAAA,MAClC,EAAO;AAAA,QACL,iBAAiB,KAAK,UAAU,KAAK;AAAA;AAAA,MAGvC,QAAQ,IAAI,GAAG,iBAAiB,gBAAgB;AAAA,KACjD;AAAA;AAAA,EAGH,OAAO,CAAC,SAAuB;AAAA,IAC7B,IAAI,KAAK,WAAW,QAAQ;AAAA,MAC1B,QAAQ,IAAI,KAAK,UAAU,EAAE,SAAS,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC;AAAA,IACjE,EAAO;AAAA,MACL,QAAQ,IAAI,MAAM,MAAM,KAAI,SAAS,CAAC;AAAA;AAAA;AAAA,EAI1C,KAAK,CAAC,SAAiB,MAAe,iBAAgC;AAAA,IACpE,IAAI,KAAK,WAAW,QAAQ;AAAA,MAC1B,MAAM,SAAkC,EAAE,SAAS,OAAO,OAAO,QAAQ;AAAA,MACzE,IAAI;AAAA,QAAM,OAAO,OAAO;AAAA,MACxB,IAAI;AAAA,QAAiB,OAAO,kBAAkB;AAAA,MAC9C,QAAQ,IAAI,KAAK,UAAU,QAAQ,MAAM,CAAC,CAAC;AAAA,IAC7C,EAAO;AAAA,MACL,QAAQ,IAAI,MAAM,IAAI,KAAI,SAAS,CAAC;AAAA;AAAA;AAAA,EAIxC,IAAI,CAAC,SAAuB;AAAA,IAC1B,IAAI,KAAK,WAAW,QAAQ;AAAA,MAC1B,QAAQ,IAAI,MAAM,KAAK,KAAI,SAAS,CAAC;AAAA,IACvC;AAAA;AAAA,EAGF,IAAI,CAAC,SAAuB;AAAA,IAC1B,IAAI,KAAK,WAAW,QAAQ;AAAA,MAC1B,QAAQ,IAAI,KAAK,UAAU,EAAE,SAAS,QAAQ,GAAG,MAAM,CAAC,CAAC;AAAA,IAC3D,EAAO;AAAA,MACL,QAAQ,IAAI,MAAM,OAAO,KAAI,SAAS,CAAC;AAAA;AAAA;AAG7C;AASO,SAAS,aAAa,CAAC,MAAc,QAA0B;AAAA,EACpE,IAAI,QAAQ;AAAA,IAEV,MAAM,OAAO,MAAc;AAAA,MAAG;AAAA;AAAA,IAC9B,OAAO;AAAA,MACL,OAAO;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AAAA,EAGA,MAAM,QAAQ,YAA8B;AAAA,IAC1C,QAAQ,SAAS,QAAQ,MAAa;AAAA,IACtC,OAAO,IAAI,IAAI,EAAE,MAAM;AAAA;AAAA,EAGzB,OAAO,EAAE,MAAM;AAAA;;;ADvQjB;AASO,IAAM,UAAU;",
|
|
15
|
+
"debugId": "9DF01821680776F564756E2164756E21",
|
|
16
16
|
"names": []
|
|
17
17
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mutagent/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.263",
|
|
4
4
|
"description": "Bun-native CLI for the MutagenT AI platform - auth, provider config, and lifecycle-tool installer for AI-native workflows",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"verify:fix": "bun run check:workspace-resolution && bun run lint:fix && bun run type-check && bun run build"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@mutagent/sdk": "0.3.
|
|
40
|
+
"@mutagent/sdk": "0.3.29",
|
|
41
41
|
"chalk": "^5.3.0",
|
|
42
42
|
"commander": "^12.1.0",
|
|
43
43
|
"cosmiconfig": "^9.0.0",
|