From f24bf4a2d44531c31e7d78d73c309ebdb8066235 Mon Sep 17 00:00:00 2001 From: Prompt Stack Date: Mon, 3 Aug 2026 18:46:21 -0400 Subject: [PATCH 1/7] feat: install stack operator skills automatically Resolve and require each stack's primary operator, install it independently of optional companion workflows, and sync non-destructive native wrappers into detected Codex and Claude hosts. Surface invocation guidance and keep wrapper metadata portable. --- README.md | 16 ++ .../unit/installer-state-preservation.test.js | 20 +++ .../unit/resolver-related-skills.test.js | 133 +++++++++++++++- packages/core/src/resolver.js | 20 ++- .../unit/install-related-skills.test.js | 38 ++++- .../unit/instructions-command.test.js | 3 +- .../unit/related-skills-visibility.test.js | 27 ++++ src/__tests__/unit/skills-sync.test.js | 8 +- src/commands/install.js | 146 +++++++++++++----- src/commands/instructions.js | 4 +- src/commands/list.js | 6 +- src/commands/related-skills.js | 39 +++-- src/commands/skills.js | 2 +- src/commands/which.js | 10 +- 14 files changed, 397 insertions(+), 75 deletions(-) diff --git a/README.md b/README.md index acafd38..8754758 100644 --- a/README.md +++ b/README.md @@ -117,6 +117,22 @@ rudi integrate all # Add the router to all detected agents This modifies the agent's MCP configuration to include one managed RUDI router; stack discovery and secret injection stay inside RUDI. +Every registry stack declares a primary operator skill. A normal stack install +installs that skill automatically and creates a native wrapper for detected +Codex and Claude hosts without overwriting an existing wrapper. Additional +companion workflows remain optional: + +```bash +rudi install stack:video-editor # operator skill included +rudi install stack:video-editor --with-related-skills # include companions +rudi install stack:video-editor --no-related-skills # operator only +``` + +In Claude Code, invoke the operator as `/skill-name`. In Codex, use `/skills` +to select it or mention it as `$skill-name`. The operator guides the host +through the stack's MCP tools; users do not need to know the individual tool +names. + Each native host has its own skill directory. After installing RUDI skills, sync editable native wrappers when you want them to appear in the host's skill/slash UI: diff --git a/packages/core/src/__tests__/unit/installer-state-preservation.test.js b/packages/core/src/__tests__/unit/installer-state-preservation.test.js index 56c1366..e5c5606 100644 --- a/packages/core/src/__tests__/unit/installer-state-preservation.test.js +++ b/packages/core/src/__tests__/unit/installer-state-preservation.test.js @@ -67,7 +67,10 @@ test('updatePackage migrates install-local stack state unless preservation is ex const rudiHome = path.join(root, '.rudi'); const registryRoot = path.join(root, 'registry'); const stackSource = path.join(registryRoot, 'catalog/stacks/state-demo'); + const skillSource = path.join(registryRoot, 'catalog/skills/state-demo.md'); fs.mkdirSync(stackSource, { recursive: true }); + fs.mkdirSync(path.dirname(skillSource), { recursive: true }); + fs.writeFileSync(skillSource, '# State Demo Operator\n'); fs.writeFileSync(path.join(registryRoot, 'index.json'), JSON.stringify({ schemaVersion: '2', packages: { @@ -81,6 +84,19 @@ test('updatePackage migrates install-local stack state unless preservation is ex runtime: 'node', provides: { tools: ['state_demo'] }, mcp: { transport: 'stdio', command: 'node', args: ['src/index.js'] }, + related: { + operatorSkill: 'skill:state-demo', + skills: ['skill:state-demo'], + }, + }, + 'skill:state-demo': { + id: 'skill:state-demo', + kind: 'skill', + name: 'State Demo Operator', + version: '1.0.0', + delivery: 'remote', + install: { source: 'catalog', path: 'catalog/skills/state-demo.md' }, + requires: { stacks: ['stack:state-demo'] }, }, }, }, null, 2)); @@ -94,6 +110,10 @@ test('updatePackage migrates install-local stack state unless preservation is ex runtime: 'node', provides: { tools: ['state_demo'] }, mcp: { transport: 'stdio', command: 'node', args: ['src/index.js'] }, + related: { + operatorSkill: 'skill:state-demo', + skills: ['skill:state-demo'], + }, }, null, 2)); try { diff --git a/packages/core/src/__tests__/unit/resolver-related-skills.test.js b/packages/core/src/__tests__/unit/resolver-related-skills.test.js index 1ec92d2..1abd148 100644 --- a/packages/core/src/__tests__/unit/resolver-related-skills.test.js +++ b/packages/core/src/__tests__/unit/resolver-related-skills.test.js @@ -31,7 +31,10 @@ test('resolvePackage surfaces related skills without adding them to dependency i runtime: 'node', provides: { tools: ['video_render'] }, mcp: { transport: 'stdio', command: 'node', args: ['src/index.js'] }, - related: { skills: ['skill:shortform-your-words-script'] }, + related: { + operatorSkill: 'skill:shortform-your-words-script', + skills: ['skill:shortform-your-words-script'], + }, }, 'skill:shortform-your-words-script': { id: 'skill:shortform-your-words-script', @@ -49,6 +52,7 @@ test('resolvePackage surfaces related skills without adding them to dependency i name: 'Video Editor', version: '1.0.0', related: { + operatorSkill: 'skill:shortform-your-words-script', skills: ['skill:shortform-your-words-script'] } }); @@ -63,6 +67,7 @@ test('resolvePackage surfaces related skills without adding them to dependency i kind: skill.kind, name: skill.name, installed: skill.installed, + isOperator: skill.isOperator, })), [ { @@ -70,6 +75,7 @@ test('resolvePackage surfaces related skills without adding them to dependency i kind: 'skill', name: 'Shortform Your Words Script', installed: false, + isOperator: true, }, ] ); @@ -78,6 +84,131 @@ test('resolvePackage surfaces related skills without adding them to dependency i fs.rmSync(root, { recursive: true, force: true }); }); +test('resolvePackage rejects a stack whose primary operator skill is missing', async () => { + const root = fs.mkdtempSync(path.join(os.tmpdir(), 'rudi-missing-operator-skill-')); + const registryRoot = path.join(root, 'registry'); + const rudiHome = path.join(root, '.rudi'); + + process.env.RUDI_HOME = rudiHome; + process.env.USE_LOCAL_REGISTRY = 'true'; + process.env.RUDI_REGISTRY_ROOT = registryRoot; + + writeJson(path.join(registryRoot, 'index.json'), { + schemaVersion: '2', + packages: { + 'stack:demo': { + id: 'stack:demo', + kind: 'stack', + name: 'Demo', + version: '1.0.0', + delivery: 'remote', + install: { source: 'catalog', path: 'catalog/stacks/demo' }, + runtime: 'node', + provides: { tools: ['demo_run'] }, + mcp: { transport: 'stdio', command: 'node', args: ['src/index.js'] }, + related: { skills: [] }, + }, + }, + }); + + const { resolvePackage } = await import('../../resolver.js'); + + await assert.rejects( + resolvePackage('stack:demo'), + /stack:demo requires related\.operatorSkill/ + ); + + fs.rmSync(root, { recursive: true, force: true }); +}); + +test('resolvePackage rejects an operator skill omitted from related.skills', async () => { + const root = fs.mkdtempSync(path.join(os.tmpdir(), 'rudi-unrelated-operator-skill-')); + const registryRoot = path.join(root, 'registry'); + const rudiHome = path.join(root, '.rudi'); + + process.env.RUDI_HOME = rudiHome; + process.env.USE_LOCAL_REGISTRY = 'true'; + process.env.RUDI_REGISTRY_ROOT = registryRoot; + + writeJson(path.join(registryRoot, 'index.json'), { + schemaVersion: '2', + packages: { + 'stack:demo': { + id: 'stack:demo', + kind: 'stack', + name: 'Demo', + version: '1.0.0', + delivery: 'remote', + install: { source: 'catalog', path: 'catalog/stacks/demo' }, + runtime: 'node', + provides: { tools: ['demo_run'] }, + mcp: { transport: 'stdio', command: 'node', args: ['src/index.js'] }, + related: { + operatorSkill: 'skill:demo', + skills: [], + }, + }, + 'skill:demo': { + id: 'skill:demo', + kind: 'skill', + name: 'Demo Operator', + version: '1.0.0', + delivery: 'remote', + install: { source: 'catalog', path: 'catalog/skills/demo.md' }, + }, + }, + }); + + const { resolvePackage } = await import('../../resolver.js'); + + await assert.rejects( + resolvePackage('stack:demo'), + /related\.operatorSkill must appear in related\.skills/ + ); + + fs.rmSync(root, { recursive: true, force: true }); +}); + +test('resolvePackage rejects an unknown primary operator skill package', async () => { + const root = fs.mkdtempSync(path.join(os.tmpdir(), 'rudi-unknown-operator-skill-')); + const registryRoot = path.join(root, 'registry'); + const rudiHome = path.join(root, '.rudi'); + + process.env.RUDI_HOME = rudiHome; + process.env.USE_LOCAL_REGISTRY = 'true'; + process.env.RUDI_REGISTRY_ROOT = registryRoot; + + writeJson(path.join(registryRoot, 'index.json'), { + schemaVersion: '2', + packages: { + 'stack:demo': { + id: 'stack:demo', + kind: 'stack', + name: 'Demo', + version: '1.0.0', + delivery: 'remote', + install: { source: 'catalog', path: 'catalog/stacks/demo' }, + runtime: 'node', + provides: { tools: ['demo_run'] }, + mcp: { transport: 'stdio', command: 'node', args: ['src/index.js'] }, + related: { + operatorSkill: 'skill:missing', + skills: ['skill:missing'], + }, + }, + }, + }); + + const { resolvePackage } = await import('../../resolver.js'); + + await assert.rejects( + resolvePackage('stack:demo'), + /operator skill package not found: skill:missing/ + ); + + fs.rmSync(root, { recursive: true, force: true }); +}); + test('resolvePackage installs workflow-required skills as dependencies', async () => { const root = fs.mkdtempSync(path.join(os.tmpdir(), 'rudi-workflow-skills-')); const registryRoot = path.join(root, 'registry'); diff --git a/packages/core/src/resolver.js b/packages/core/src/resolver.js index bbaa58a..2febb4f 100644 --- a/packages/core/src/resolver.js +++ b/packages/core/src/resolver.js @@ -106,6 +106,18 @@ function normalizeSkillPackageId(id) { async function resolveRelatedSkills(pkg) { const relatedSkillIds = pkg.related?.skills || []; + const operatorSkillId = normalizeSkillPackageId(pkg.related?.operatorSkill); + if (pkg.kind === 'stack' && !operatorSkillId) { + throw new Error(`${pkg.id || 'Stack package'} requires related.operatorSkill`); + } + const normalizedRelatedSkillIds = relatedSkillIds + .map((id) => normalizeSkillPackageId(id)) + .filter(Boolean); + if (operatorSkillId && !normalizedRelatedSkillIds.includes(operatorSkillId)) { + throw new Error( + `${pkg.id || 'Stack package'} related.operatorSkill must appear in related.skills` + ); + } const relatedSkills = []; const seen = new Set(); @@ -115,7 +127,12 @@ async function resolveRelatedSkills(pkg) { seen.add(skillId); const skillPkg = await getPackage(skillId); - if (!skillPkg) continue; + if (!skillPkg) { + if (skillId === operatorSkillId) { + throw new Error(`operator skill package not found: ${skillId}`); + } + continue; + } relatedSkills.push({ id: skillId, @@ -123,6 +140,7 @@ async function resolveRelatedSkills(pkg) { name: skillPkg.name, version: skillPkg.version, installed: isPackageInstalled(skillId), + isOperator: skillId === operatorSkillId, dependencies: [] }); } diff --git a/src/__tests__/unit/install-related-skills.test.js b/src/__tests__/unit/install-related-skills.test.js index b6373f8..d698ba4 100644 --- a/src/__tests__/unit/install-related-skills.test.js +++ b/src/__tests__/unit/install-related-skills.test.js @@ -5,6 +5,7 @@ import { activateInstalledStack, buildRelatedSkillInstallPlan, getRelatedSkillInstallMode, + selectRelatedSkillsForInstall, syncRelatedSkillWrappers, } from '../../commands/install.js'; @@ -17,12 +18,14 @@ const resolvedStack = { kind: 'skill', name: 'Shortform Your Words Script', installed: false, + isOperator: true, }, { id: 'skill:shortform-render-qa', kind: 'skill', name: 'Shortform Render QA', - installed: true, + installed: false, + isOperator: false, }, ], }; @@ -35,18 +38,39 @@ test('getRelatedSkillInstallMode maps explicit related-skill flags', () => { assert.equal(getRelatedSkillInstallMode({}), 'offer'); }); -test('buildRelatedSkillInstallPlan only installs missing related skills when explicitly requested', () => { +test('buildRelatedSkillInstallPlan always installs the operator and gates companion skills by mode', () => { const include = buildRelatedSkillInstallPlan(resolvedStack, { 'with-related-skills': true }); - assert.deepEqual(include.missing.map((skill) => skill.id), ['skill:shortform-your-words-script']); - assert.deepEqual(include.toInstall.map((skill) => skill.id), ['skill:shortform-your-words-script']); + assert.equal(include.operatorSkill.id, 'skill:shortform-your-words-script'); + assert.deepEqual(include.missingCompanions.map((skill) => skill.id), ['skill:shortform-render-qa']); + assert.deepEqual(include.toInstall.map((skill) => skill.id), [ + 'skill:shortform-your-words-script', + 'skill:shortform-render-qa', + ]); const skip = buildRelatedSkillInstallPlan(resolvedStack, { 'no-related-skills': true }); - assert.deepEqual(skip.missing.map((skill) => skill.id), ['skill:shortform-your-words-script']); - assert.deepEqual(skip.toInstall, []); + assert.deepEqual(skip.toInstall.map((skill) => skill.id), ['skill:shortform-your-words-script']); const offer = buildRelatedSkillInstallPlan(resolvedStack, {}); assert.equal(offer.mode, 'offer'); - assert.deepEqual(offer.toInstall, []); + assert.deepEqual(offer.toInstall.map((skill) => skill.id), ['skill:shortform-your-words-script']); +}); + +test('selectRelatedSkillsForInstall keeps the operator mandatory and companions optional', () => { + const offer = buildRelatedSkillInstallPlan(resolvedStack, {}); + assert.deepEqual( + selectRelatedSkillsForInstall(offer, false).map((skill) => skill.id), + ['skill:shortform-your-words-script'] + ); + assert.deepEqual( + selectRelatedSkillsForInstall(offer, true).map((skill) => skill.id), + ['skill:shortform-your-words-script', 'skill:shortform-render-qa'] + ); + + const skip = buildRelatedSkillInstallPlan(resolvedStack, { 'no-related-skills': true }); + assert.deepEqual( + selectRelatedSkillsForInstall(skip, true).map((skill) => skill.id), + ['skill:shortform-your-words-script'] + ); }); test('activateInstalledStack indexes immediately when configured and defers when secrets are missing', async () => { diff --git a/src/__tests__/unit/instructions-command.test.js b/src/__tests__/unit/instructions-command.test.js index 4094ecb..1e955b5 100644 --- a/src/__tests__/unit/instructions-command.test.js +++ b/src/__tests__/unit/instructions-command.test.js @@ -29,7 +29,8 @@ test('buildRudiInstructionBlock emits a bounded discover-first block', () => { assert.match(block, /~\/\.rudi\/skills/); assert.match(block, /single RUDI MCP router/); assert.match(block, /rudi list stacks --json/); - assert.match(block, /Stack manifests may declare related skills/); + assert.match(block, /Every stack declares a primary operator skill/); + assert.match(block, /operator is installed automatically/); assert.match(block, /--with-related-skills/); assert.match(block, /rudi integrate codex/); assert.doesNotMatch(block, /rudi mcp --list/); diff --git a/src/__tests__/unit/related-skills-visibility.test.js b/src/__tests__/unit/related-skills-visibility.test.js index ab37eee..f917386 100644 --- a/src/__tests__/unit/related-skills-visibility.test.js +++ b/src/__tests__/unit/related-skills-visibility.test.js @@ -2,10 +2,28 @@ import { test } from 'node:test'; import assert from 'node:assert/strict'; import { + getOperatorSkillId, getRelatedSkillIds, + formatOperatorSkillLine, formatRelatedSkillsLine, } from '../../commands/related-skills.js'; +test('getOperatorSkillId normalizes the primary operator skill', () => { + assert.equal( + getOperatorSkillId({ related: { operatorSkill: 'video-editor' } }), + 'skill:video-editor' + ); + assert.equal(getOperatorSkillId({}), null); +}); + +test('formatOperatorSkillLine identifies the primary invokable workflow', () => { + assert.equal( + formatOperatorSkillLine({ related: { operatorSkill: 'skill:video-editor' } }), + 'Operator skill: skill:video-editor' + ); + assert.equal(formatOperatorSkillLine({}), null); +}); + test('getRelatedSkillIds normalizes related skill ids from stack metadata', () => { assert.deepEqual( getRelatedSkillIds({ @@ -26,5 +44,14 @@ test('formatRelatedSkillsLine returns a display line only when related skills ex }), 'Related skills: skill:shortform-your-words-script' ); + assert.equal( + formatRelatedSkillsLine({ + related: { + operatorSkill: 'skill:video-editor', + skills: ['skill:video-editor', 'skill:render-qa'], + }, + }), + 'Related skills: skill:render-qa' + ); assert.equal(formatRelatedSkillsLine({}), null); }); diff --git a/src/__tests__/unit/skills-sync.test.js b/src/__tests__/unit/skills-sync.test.js index d3ecb70..4fd77f8 100644 --- a/src/__tests__/unit/skills-sync.test.js +++ b/src/__tests__/unit/skills-sync.test.js @@ -37,7 +37,7 @@ test('buildCodexSkillFiles normalizes RUDI skill metadata for Codex', () => { ); assert.equal(files.skillName, 'grill-with-docs'); - assert.match(files.skillMd, /^name: "?Grill With Docs"?$/m); + assert.match(files.skillMd, /^name: "?grill-with-docs"?$/m); assert.match(files.skillMd, /^description: "Stress-test a plan against the existing domain model"$/m); assert.match(files.skillMd, /Ask questions one at a time\./); assert.match(files.openaiYaml, /display_name: "Grill With Docs"/); @@ -93,7 +93,7 @@ test('syncCodexSkills creates native Codex skill wrappers for RUDI skills', asyn assert.equal(result.results[0].action, 'created'); assert.equal(fs.existsSync(skillPath), true); assert.equal(fs.existsSync(openaiPath), true); - assert.match(fs.readFileSync(skillPath, 'utf-8'), /name: "?Grill With Docs"?/); + assert.match(fs.readFileSync(skillPath, 'utf-8'), /name: "?grill-with-docs"?/); } finally { fs.rmSync(root, { recursive: true, force: true }); } @@ -169,7 +169,7 @@ test('syncClaudeSkills creates native Claude skill wrappers for RUDI skills', as assert.equal(result.results[0].action, 'created'); assert.equal(fs.existsSync(skillPath), true); assert.equal(fs.existsSync(openaiPath), false); - assert.match(fs.readFileSync(skillPath, 'utf-8'), /name: "?Grill With Docs"?/); + assert.match(fs.readFileSync(skillPath, 'utf-8'), /name: "?grill-with-docs"?/); } finally { fs.rmSync(root, { recursive: true, force: true }); } @@ -303,7 +303,7 @@ test('buildClaudeSkillFiles emits a Claude SKILL.md without Codex metadata', () ); assert.equal(files.skillName, 'grill-with-docs'); - assert.match(files.skillMd, /^name: "?Grill With Docs"?$/m); + assert.match(files.skillMd, /^name: "?grill-with-docs"?$/m); assert.match(files.skillMd, /Ask questions one at a time\./); assert.equal(Object.hasOwn(files, 'openaiYaml'), false); }); diff --git a/src/commands/install.js b/src/commands/install.js index 8e0d107..d427c6b 100644 --- a/src/commands/install.js +++ b/src/commands/install.js @@ -225,16 +225,41 @@ export function buildRelatedSkillInstallPlan(resolved, flags = {}) { const relatedSkills = Array.isArray(resolved?.relatedSkills) ? resolved.relatedSkills : []; - const missing = relatedSkills.filter((skill) => !skill.installed); + const operatorSkill = relatedSkills.find((skill) => skill.isOperator) || null; + const companionSkills = relatedSkills.filter((skill) => !skill.isOperator); + const missingOperator = operatorSkill && !operatorSkill.installed + ? [operatorSkill] + : []; + const missingCompanions = companionSkills.filter((skill) => !skill.installed); + const missing = [...missingOperator, ...missingCompanions]; return { mode, relatedSkills, + operatorSkill, + companionSkills, + missingOperator, + missingCompanions, missing, - toInstall: mode === 'include' ? missing : [], + toInstall: [ + ...missingOperator, + ...(mode === 'include' ? missingCompanions : []), + ], }; } +export function selectRelatedSkillsForInstall(plan, includeCompanions = false) { + if (!plan) return []; + const selected = [...(plan.missingOperator || [])]; + if ( + plan.mode === 'include' || + (plan.mode === 'offer' && includeCompanions) + ) { + selected.push(...(plan.missingCompanions || [])); + } + return selected; +} + export async function activateInstalledStack(stackId, options = {}, dependencies = {}) { const missingSecrets = Array.isArray(options.missingSecrets) ? [...new Set(options.missingSecrets.filter(Boolean))] @@ -309,28 +334,44 @@ export async function syncRelatedSkillWrappers( function printRelatedSkillSummary(plan) { if (!plan || plan.relatedSkills.length === 0) return; - console.log(`\nRelated skills:`); - for (const skill of plan.relatedSkills) { + console.log(`\nOperator skill:`); + if (plan.operatorSkill) { + const status = plan.operatorSkill.installed ? '(installed)' : '(will install with stack)'; + console.log(` - ${plan.operatorSkill.id} ${status}`); + } else { + console.log(` - missing from registry metadata`); + } + + if (plan.companionSkills.length === 0) return; + + console.log(`\nCompanion skills:`); + for (const skill of plan.companionSkills) { const status = skill.installed ? '(installed)' : '(available)'; console.log(` - ${skill.id} ${status}`); } - if (plan.missing.length === 0) { - console.log(` All related skills are already installed.`); + if (plan.missingCompanions.length === 0) { + console.log(` All companion skills are already installed.`); } else if (plan.mode === 'include') { - console.log(` Missing related skills will be installed after the stack.`); + console.log(` Missing companion skills will be installed after the stack.`); } else if (plan.mode === 'skip') { - console.log(` Skipping related skills because --no-related-skills was set.`); + console.log(` Skipping companion skills because --no-related-skills was set.`); } else { - console.log(` Related skills are editable workflow playbooks installed into ~/.rudi/skills.`); + console.log(` Companion skills are editable workflow playbooks installed into ~/.rudi/skills.`); } } async function promptForRelatedSkills(plan) { if (!plan || plan.missing.length === 0) return []; - if (plan.mode === 'include') return plan.toInstall; - if (plan.mode === 'skip') return []; - if (!process.stdin.isTTY || !process.stdout.isTTY) return []; + if (plan.mode === 'include' || plan.mode === 'skip') { + return selectRelatedSkillsForInstall(plan); + } + if (plan.missingCompanions.length === 0) { + return selectRelatedSkillsForInstall(plan); + } + if (!process.stdin.isTTY || !process.stdout.isTTY) { + return selectRelatedSkillsForInstall(plan); + } const { createInterface } = await import('node:readline/promises'); const readline = createInterface({ @@ -339,9 +380,11 @@ async function promptForRelatedSkills(plan) { }); try { - const label = plan.missing.length === 1 ? plan.missing[0].id : `${plan.missing.length} related skills`; + const label = plan.missingCompanions.length === 1 + ? plan.missingCompanions[0].id + : `${plan.missingCompanions.length} companion skills`; const answer = await readline.question(`\nInstall ${label} now? [y/N] `); - return /^(y|yes)$/i.test(answer.trim()) ? plan.missing : []; + return selectRelatedSkillsForInstall(plan, /^(y|yes)$/i.test(answer.trim())); } finally { readline.close(); } @@ -376,6 +419,45 @@ async function installRelatedSkills(skills, options = {}) { return results; } +async function installAndSyncStackSkills(plan, options = {}) { + const { + allowScripts = false, + withShims = false, + installedAgents = getInstalledAgents(), + } = options; + const selectedSkills = await promptForRelatedSkills(plan); + const installResults = selectedSkills.length > 0 + ? await installRelatedSkills(selectedSkills, { allowScripts, withShims }) + : []; + + if (installResults.length > 0) { + console.log(`\n Installed skills:`); + for (const result of installResults) { + if (result.success) { + console.log(` - ${result.id} installed`); + } else { + console.log(` - ${result.id} failed: ${result.error}`); + } + } + } + + const wrapperSync = await syncRelatedSkillWrappers( + plan.relatedSkills, + installResults, + installedAgents + ); + for (const target of wrapperSync.targets) { + if (wrapperSync.errors[target]) { + console.log(` - ${target} native skill sync failed: ${wrapperSync.errors[target]}`); + console.log(` Retry with: rudi skills sync ${target}`); + } else { + console.log(` - ${target} native skill wrapper synced`); + } + } + + return { selectedSkills, installResults, wrapperSync }; +} + /** * Find a stack entry point from its command * @returns {{ entryArg: string|null, entryPath: string|null, error?: string }} @@ -615,6 +697,11 @@ export async function cmdInstall(args, flags) { } if (resolved.installed && !force) { + if (resolved.kind === 'stack' && relatedSkillPlan.missing.length > 0) { + console.log(`\nStack already installed. Installing missing operator or companion skills.`); + await installAndSyncStackSkills(relatedSkillPlan, { allowScripts, withShims }); + return; + } console.log(`\nAlready installed. Use --force to reinstall.`); return; } @@ -779,35 +866,10 @@ export async function cmdInstall(args, flags) { } } - const selectedRelatedSkills = await promptForRelatedSkills(relatedSkillPlan); - const relatedSkillResults = selectedRelatedSkills.length > 0 - ? await installRelatedSkills(selectedRelatedSkills, { allowScripts, withShims }) - : []; - - if (relatedSkillResults.length > 0) { - console.log(`\n Related skills:`); - for (const relatedResult of relatedSkillResults) { - if (relatedResult.success) { - console.log(` - ${relatedResult.id} installed`); - } else { - console.log(` - ${relatedResult.id} failed: ${relatedResult.error}`); - } - } - } - - const wrapperSync = await syncRelatedSkillWrappers( - relatedSkillPlan.relatedSkills, - relatedSkillResults, - getInstalledAgents() + const { installResults: relatedSkillResults } = await installAndSyncStackSkills( + relatedSkillPlan, + { allowScripts, withShims } ); - for (const target of wrapperSync.targets) { - if (wrapperSync.errors[target]) { - console.log(` - ${target} native skill sync failed: ${wrapperSync.errors[target]}`); - console.log(` Retry with: rudi skills sync ${target}`); - } else { - console.log(` - ${target} native skill wrapper synced`); - } - } // Check secrets status const { found, missing } = await checkSecrets(manifest); diff --git a/src/commands/instructions.js b/src/commands/instructions.js index bd78e6d..d2554ac 100644 --- a/src/commands/instructions.js +++ b/src/commands/instructions.js @@ -75,8 +75,8 @@ export function buildRudiInstructionBlock(agent = 'generic') { '- Router binary: `~/.rudi/bins/rudi-router`.', '- Tool index cache: `~/.rudi/cache/tool-index.json`.', '- Installed stacks: `rudi list stacks --json`.', - '- Stack manifests may declare related skills; inspect package details with `rudi which ` when workflow behavior matters.', - '- Install a stack with its missing related skills: `rudi install --with-related-skills`.', + '- Every stack declares a primary operator skill; inspect it and any optional companions with `rudi which `.', + '- The operator is installed automatically with the stack. Add all optional companions with `rudi install --with-related-skills`.', '- Rebuild router cache: `rudi index --json`.', '- Daemon status: `rudi daemon status --json`.', '', diff --git a/src/commands/list.js b/src/commands/list.js index 8618d49..3d3eeb6 100644 --- a/src/commands/list.js +++ b/src/commands/list.js @@ -12,7 +12,7 @@ import { listInstalled } from '@learnrudi/core'; import { detectAllMcpServers, getInstalledAgents, getMcpServerSummary, AGENT_CONFIGS } from '@learnrudi/mcp'; -import { formatRelatedSkillsLine } from './related-skills.js'; +import { formatOperatorSkillLine, formatRelatedSkillsLine } from './related-skills.js'; function pluralizeKind(kind) { if (!kind) return 'packages'; @@ -229,6 +229,10 @@ export async function cmdList(args, flags) { if (pkg.tags && pkg.tags.length > 0) { console.log(` Tags: ${pkg.tags.join(', ')}`); } + const operatorSkillLine = formatOperatorSkillLine(pkg); + if (operatorSkillLine) { + console.log(` ${operatorSkillLine}`); + } const relatedSkillsLine = formatRelatedSkillsLine(pkg); if (relatedSkillsLine) { console.log(` ${relatedSkillsLine}`); diff --git a/src/commands/related-skills.js b/src/commands/related-skills.js index 37d9733..f07c808 100644 --- a/src/commands/related-skills.js +++ b/src/commands/related-skills.js @@ -1,20 +1,34 @@ +function normalizeSkillId(value) { + if (typeof value !== 'string') return null; + const trimmed = value.trim(); + if (!trimmed) return null; + return trimmed.startsWith('skill:') + ? trimmed + : trimmed.startsWith('prompt:') + ? trimmed.replace(/^prompt:/, 'skill:') + : trimmed.includes(':') + ? null + : `skill:${trimmed}`; +} + +export function getOperatorSkillId(pkg) { + return normalizeSkillId(pkg?.related?.operatorSkill); +} + +export function formatOperatorSkillLine(pkg, options = {}) { + const { label = 'Operator skill' } = options; + const id = getOperatorSkillId(pkg); + if (!id) return null; + return `${label}: ${id}`; +} + export function getRelatedSkillIds(pkg) { const skills = Array.isArray(pkg?.related?.skills) ? pkg.related.skills : []; const ids = []; const seen = new Set(); for (const value of skills) { - if (typeof value !== 'string') continue; - const trimmed = value.trim(); - if (!trimmed) continue; - - const id = trimmed.startsWith('skill:') - ? trimmed - : trimmed.startsWith('prompt:') - ? trimmed.replace(/^prompt:/, 'skill:') - : trimmed.includes(':') - ? null - : `skill:${trimmed}`; + const id = normalizeSkillId(value); if (!id || seen.has(id)) continue; seen.add(id); @@ -26,7 +40,8 @@ export function getRelatedSkillIds(pkg) { export function formatRelatedSkillsLine(pkg, options = {}) { const { label = 'Related skills' } = options; - const ids = getRelatedSkillIds(pkg); + const operatorSkill = getOperatorSkillId(pkg); + const ids = getRelatedSkillIds(pkg).filter((id) => id !== operatorSkill); if (ids.length === 0) return null; return `${label}: ${ids.join(', ')}`; } diff --git a/src/commands/skills.js b/src/commands/skills.js index 508e278..29bd782 100644 --- a/src/commands/skills.js +++ b/src/commands/skills.js @@ -185,7 +185,7 @@ export function buildClaudeSkillFiles(pkg, sourceContent) { const skillMd = [ '---', - `name: ${yamlString(displayName)}`, + `name: ${yamlString(skillName)}`, `description: ${yamlString(description)}`, '---', '', diff --git a/src/commands/which.js b/src/commands/which.js index 7fa91d2..6586b6f 100644 --- a/src/commands/which.js +++ b/src/commands/which.js @@ -11,7 +11,7 @@ import * as fs from 'fs/promises'; import * as path from 'path'; import { listInstalled } from '@learnrudi/core'; import { PATHS } from '@learnrudi/env'; -import { formatRelatedSkillsLine, getRelatedSkillIds } from './related-skills.js'; +import { formatOperatorSkillLine, formatRelatedSkillsLine } from './related-skills.js'; import { runCommand as defaultRunCommand } from '../utils/subprocess.js'; export async function cmdWhich(args, flags) { @@ -69,6 +69,10 @@ export async function cmdWhich(args, flags) { if (stack.description) { console.log(`About: ${stack.description}`); } + const operatorSkillLine = formatOperatorSkillLine(stack); + if (operatorSkillLine) { + console.log(operatorSkillLine); + } const relatedSkillsLine = formatRelatedSkillsLine(stack); if (relatedSkillsLine) { console.log(relatedSkillsLine); @@ -105,9 +109,9 @@ export async function cmdWhich(args, flags) { console.log('Commands:'); console.log(` rudi run ${stack.id} Test the stack`); console.log(` rudi secrets ${stack.id} Configure secrets`); - if (getRelatedSkillIds(stack).length > 0) { + if (relatedSkillsLine) { console.log(` rudi install ${stack.id} --with-related-skills`); - console.log(` Install editable related skills`); + console.log(` Install optional companion skills`); } if (runtimeInfo.entry) { console.log(''); From b9e17c982b2719a0984628babff06995bad4e390 Mon Sep 17 00:00:00 2001 From: Prompt Stack Date: Mon, 3 Aug 2026 18:46:32 -0400 Subject: [PATCH 2/7] chore: rebuild CLI bundle for operator skills --- dist/index.cjs | 941 +++++++++++++++++++++++++++++-------------------- 1 file changed, 562 insertions(+), 379 deletions(-) diff --git a/dist/index.cjs b/dist/index.cjs index 00359a0..1fb797b 100755 --- a/dist/index.cjs +++ b/dist/index.cjs @@ -32,7 +32,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge mod )); -// packages/env/src/index.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/env/src/index.js function getNodeRuntimeRoot() { return import_path.default.join(PATHS.runtimes, "node"); } @@ -387,7 +387,7 @@ function getInstalledPackages(kind) { } var import_path, import_os, import_fs, RUDI_HOME, CLAUDE_HOME, PATHS, PACKAGE_KINDS; var init_src = __esm({ - "packages/env/src/index.js"() { + "../../../../Users/hoff/dev/RUDI/apps/cli/packages/env/src/index.js"() { import_path = __toESM(require("path"), 1); import_os = __toESM(require("os"), 1); import_fs = __toESM(require("fs"), 1); @@ -440,7 +440,7 @@ var init_src = __esm({ } }); -// node_modules/.pnpm/@learnrudi+env@1.0.0/node_modules/@learnrudi/env/src/index.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/@learnrudi+env@1.0.0/node_modules/@learnrudi/env/src/index.js function getPlatformArch2() { const platform = import_os2.default.platform(); const arch = import_os2.default.arch(); @@ -449,7 +449,7 @@ function getPlatformArch2() { } var import_path2, import_os2, RUDI_HOME2, PATHS2; var init_src2 = __esm({ - "node_modules/.pnpm/@learnrudi+env@1.0.0/node_modules/@learnrudi/env/src/index.js"() { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/@learnrudi+env@1.0.0/node_modules/@learnrudi/env/src/index.js"() { import_path2 = __toESM(require("path"), 1); import_os2 = __toESM(require("os"), 1); RUDI_HOME2 = import_path2.default.join(import_os2.default.homedir(), ".rudi"); @@ -490,7 +490,7 @@ var init_src2 = __esm({ } }); -// packages/registry-client/src/registry-contract.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/registry-client/src/registry-contract.js function asObject(value, label) { if (!value || typeof value !== "object" || Array.isArray(value)) { throw new RegistryContractError(`${label} must be an object`); @@ -541,6 +541,96 @@ function normalizeSecrets(requires) { }) }; } +function isCalendarDate(value) { + if (typeof value !== "string" || !/^\d{4}-\d{2}-\d{2}$/.test(value)) return false; + const parsed = /* @__PURE__ */ new Date(`${value}T00:00:00.000Z`); + return !Number.isNaN(parsed.getTime()) && parsed.toISOString().slice(0, 10) === value; +} +function normalizePackageLifecycle(value, packageId) { + if (value === void 0) return void 0; + const lifecycle = asObject(value, `Registry package ${packageId} lifecycle`); + const lifecycleKeys = /* @__PURE__ */ new Set(["maturity", "support", "deprecation"]); + const unknownLifecycleKey = Object.keys(lifecycle).find((key) => !lifecycleKeys.has(key)); + if (unknownLifecycleKey) { + throw new RegistryContractError( + `Registry package ${packageId} lifecycle contains unsupported field: ${unknownLifecycleKey}`, + { packageId } + ); + } + if (!PACKAGE_MATURITY.has(lifecycle.maturity)) { + throw new RegistryContractError( + `Registry package ${packageId} lifecycle.maturity is invalid`, + { packageId } + ); + } + if (!PACKAGE_SUPPORT.has(lifecycle.support)) { + throw new RegistryContractError( + `Registry package ${packageId} lifecycle.support is invalid`, + { packageId } + ); + } + let deprecation; + if (lifecycle.deprecation !== void 0) { + deprecation = asObject( + lifecycle.deprecation, + `Registry package ${packageId} lifecycle.deprecation` + ); + const deprecationKeys = /* @__PURE__ */ new Set([ + "announcedAt", + "message", + "replacementId", + "removalAfter" + ]); + const unknownDeprecationKey = Object.keys(deprecation).find((key) => !deprecationKeys.has(key)); + if (unknownDeprecationKey) { + throw new RegistryContractError( + `Registry package ${packageId} lifecycle.deprecation contains unsupported field: ${unknownDeprecationKey}`, + { packageId } + ); + } + if (!isCalendarDate(deprecation.announcedAt)) { + throw new RegistryContractError( + `Registry package ${packageId} lifecycle.deprecation.announcedAt is invalid`, + { packageId } + ); + } + if (typeof deprecation.message !== "string" || deprecation.message.trim() === "") { + throw new RegistryContractError( + `Registry package ${packageId} lifecycle.deprecation.message is required`, + { packageId } + ); + } + if (deprecation.replacementId !== void 0 && !PACKAGE_ID_PATTERN.test(deprecation.replacementId)) { + throw new RegistryContractError( + `Registry package ${packageId} lifecycle.deprecation.replacementId is invalid`, + { packageId } + ); + } + if (deprecation.removalAfter !== void 0 && !isCalendarDate(deprecation.removalAfter)) { + throw new RegistryContractError( + `Registry package ${packageId} lifecycle.deprecation.removalAfter is invalid`, + { packageId } + ); + } + if (deprecation.removalAfter !== void 0 && deprecation.removalAfter < deprecation.announcedAt) { + throw new RegistryContractError( + `Registry package ${packageId} lifecycle.deprecation.removalAfter precedes announcedAt`, + { packageId } + ); + } + } + if (lifecycle.support === "unsupported" && deprecation === void 0) { + throw new RegistryContractError( + `Registry package ${packageId} with unsupported lifecycle support requires deprecation guidance`, + { packageId } + ); + } + return { + maturity: lifecycle.maturity, + support: lifecycle.support, + ...deprecation ? { deprecation: { ...deprecation } } : {} + }; +} function legacyInstallType(source) { if (source === "download") return "binary"; if (source === "npm" || source === "pip" || source === "system") return source; @@ -563,6 +653,7 @@ function normalizeRegistryPackage(value, kindHint) { path: pkg.path || install.path, description: pkg.description || meta.description, category: pkg.category || meta.category, + ...pkg.lifecycle === void 0 ? {} : { lifecycle: normalizePackageLifecycle(pkg.lifecycle, pkg.id) }, tags: pkg.tags || meta.tags, icon: pkg.icon || meta.icon, author: pkg.author || meta.author, @@ -694,9 +785,9 @@ function getRegistryPackage(value, id, kinds) { } return null; } -var PACKAGE_KINDS2, RegistryContractError; +var PACKAGE_KINDS2, RegistryContractError, PACKAGE_ID_PATTERN, PACKAGE_MATURITY, PACKAGE_SUPPORT; var init_registry_contract = __esm({ - "packages/registry-client/src/registry-contract.js"() { + "../../../../Users/hoff/dev/RUDI/apps/cli/packages/registry-client/src/registry-contract.js"() { PACKAGE_KINDS2 = /* @__PURE__ */ new Set([ "stack", "skill", @@ -713,10 +804,13 @@ var init_registry_contract = __esm({ this.details = details; } }; + PACKAGE_ID_PATTERN = /^(runtime|binary|agent|stack|skill|prompt):[a-z0-9][a-z0-9-_]*$/; + PACKAGE_MATURITY = /* @__PURE__ */ new Set(["experimental", "stable"]); + PACKAGE_SUPPORT = /* @__PURE__ */ new Set(["supported", "maintenance", "unsupported"]); } }); -// packages/registry-client/src/index.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/registry-client/src/index.js function assertCommandArg(value, label) { if (typeof value !== "string" || value.length === 0 || value.includes("\0")) { throw new Error(`Invalid command ${label}`); @@ -1773,7 +1867,7 @@ async function verifyHash(filePath, expectedHash) { } var import_fs2, import_path3, import_crypto, import_child_process, DEFAULT_REGISTRY_URL, RUNTIMES_DOWNLOAD_BASE, CACHE_TTL, PACKAGE_KINDS3, GITHUB_RAW_BASE, RUNTIMES_RELEASE_VERSION; var init_src3 = __esm({ - "packages/registry-client/src/index.js"() { + "../../../../Users/hoff/dev/RUDI/apps/cli/packages/registry-client/src/index.js"() { import_fs2 = __toESM(require("fs"), 1); import_path3 = __toESM(require("path"), 1); import_crypto = __toESM(require("crypto"), 1); @@ -1790,7 +1884,7 @@ var init_src3 = __esm({ } }); -// packages/core/src/resolver.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/resolver.js async function getInstallableRegistryPackage(id) { const pkg = await getPackage(id); if (!pkg) return null; @@ -1864,6 +1958,16 @@ function normalizeSkillPackageId(id) { } async function resolveRelatedSkills(pkg) { const relatedSkillIds = pkg.related?.skills || []; + const operatorSkillId = normalizeSkillPackageId(pkg.related?.operatorSkill); + if (pkg.kind === "stack" && !operatorSkillId) { + throw new Error(`${pkg.id || "Stack package"} requires related.operatorSkill`); + } + const normalizedRelatedSkillIds = relatedSkillIds.map((id) => normalizeSkillPackageId(id)).filter(Boolean); + if (operatorSkillId && !normalizedRelatedSkillIds.includes(operatorSkillId)) { + throw new Error( + `${pkg.id || "Stack package"} related.operatorSkill must appear in related.skills` + ); + } const relatedSkills = []; const seen = /* @__PURE__ */ new Set(); for (const id of relatedSkillIds) { @@ -1871,13 +1975,19 @@ async function resolveRelatedSkills(pkg) { if (!skillId || seen.has(skillId)) continue; seen.add(skillId); const skillPkg = await getPackage(skillId); - if (!skillPkg) continue; + if (!skillPkg) { + if (skillId === operatorSkillId) { + throw new Error(`operator skill package not found: ${skillId}`); + } + continue; + } relatedSkills.push({ id: skillId, kind: "skill", name: skillPkg.name, version: skillPkg.version, installed: isPackageInstalled(skillId), + isOperator: skillId === operatorSkillId, dependencies: [] }); } @@ -2072,16 +2182,16 @@ function compareVersions(a, b) { } var SINGLE_FILE_KINDS; var init_resolver = __esm({ - "packages/core/src/resolver.js"() { + "../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/resolver.js"() { init_src3(); init_src(); SINGLE_FILE_KINDS = /* @__PURE__ */ new Set(["skill", "prompt", "workflow"]); } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/identity.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/identity.js var require_identity = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/identity.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/identity.js"(exports2) { "use strict"; var ALIAS = /* @__PURE__ */ Symbol.for("yaml.alias"); var DOC = /* @__PURE__ */ Symbol.for("yaml.document"); @@ -2136,9 +2246,9 @@ var require_identity = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/visit.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/visit.js var require_visit = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/visit.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/visit.js"(exports2) { "use strict"; var identity = require_identity(); var BREAK = /* @__PURE__ */ Symbol("break visit"); @@ -2294,9 +2404,9 @@ var require_visit = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/directives.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/directives.js var require_directives = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/directives.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/directives.js"(exports2) { "use strict"; var identity = require_identity(); var visit = require_visit(); @@ -2465,9 +2575,9 @@ var require_directives = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/anchors.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/anchors.js var require_anchors = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/anchors.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/anchors.js"(exports2) { "use strict"; var identity = require_identity(); var visit = require_visit(); @@ -2535,9 +2645,9 @@ var require_anchors = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/applyReviver.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/applyReviver.js var require_applyReviver = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/applyReviver.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/applyReviver.js"(exports2) { "use strict"; function applyReviver(reviver, obj, key, val) { if (val && typeof val === "object") { @@ -2585,9 +2695,9 @@ var require_applyReviver = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/toJS.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/toJS.js var require_toJS = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/toJS.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/toJS.js"(exports2) { "use strict"; var identity = require_identity(); function toJS(value, arg, ctx) { @@ -2615,9 +2725,9 @@ var require_toJS = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Node.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Node.js var require_Node = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Node.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Node.js"(exports2) { "use strict"; var applyReviver = require_applyReviver(); var identity = require_identity(); @@ -2656,9 +2766,9 @@ var require_Node = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Alias.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Alias.js var require_Alias = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Alias.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Alias.js"(exports2) { "use strict"; var anchors = require_anchors(); var visit = require_visit(); @@ -2770,9 +2880,9 @@ var require_Alias = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Scalar.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Scalar.js var require_Scalar = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Scalar.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Scalar.js"(exports2) { "use strict"; var identity = require_identity(); var Node = require_Node(); @@ -2800,9 +2910,9 @@ var require_Scalar = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/createNode.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/createNode.js var require_createNode = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/createNode.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/createNode.js"(exports2) { "use strict"; var Alias = require_Alias(); var identity = require_identity(); @@ -2875,9 +2985,9 @@ var require_createNode = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Collection.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Collection.js var require_Collection = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Collection.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Collection.js"(exports2) { "use strict"; var createNode = require_createNode(); var identity = require_identity(); @@ -3018,9 +3128,9 @@ var require_Collection = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyComment.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyComment.js var require_stringifyComment = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyComment.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyComment.js"(exports2) { "use strict"; var stringifyComment = (str) => str.replace(/^(?!$)(?: $)?/gm, "#"); function indentComment(comment, indent) { @@ -3035,9 +3145,9 @@ var require_stringifyComment = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/foldFlowLines.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/foldFlowLines.js var require_foldFlowLines = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/foldFlowLines.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/foldFlowLines.js"(exports2) { "use strict"; var FOLD_FLOW = "flow"; var FOLD_BLOCK = "block"; @@ -3171,9 +3281,9 @@ ${indent}${text.slice(fold + 1, end2)}`; } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyString.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyString.js var require_stringifyString = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyString.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyString.js"(exports2) { "use strict"; var Scalar = require_Scalar(); var foldFlowLines = require_foldFlowLines(); @@ -3454,9 +3564,9 @@ ${indent}`); } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringify.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringify.js var require_stringify = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringify.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringify.js"(exports2) { "use strict"; var anchors = require_anchors(); var identity = require_identity(); @@ -3577,9 +3687,9 @@ ${ctx.indent}${str}`; } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyPair.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyPair.js var require_stringifyPair = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyPair.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyPair.js"(exports2) { "use strict"; var identity = require_identity(); var Scalar = require_Scalar(); @@ -3710,9 +3820,9 @@ ${ctx.indent}`; } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/log.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/log.js var require_log = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/log.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/log.js"(exports2) { "use strict"; var node_process = require("process"); function debug(logLevel, ...messages) { @@ -3732,9 +3842,9 @@ var require_log = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/merge.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/merge.js var require_merge = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/merge.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/merge.js"(exports2) { "use strict"; var identity = require_identity(); var Scalar = require_Scalar(); @@ -3789,9 +3899,9 @@ var require_merge = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/addPairToJSMap.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/addPairToJSMap.js var require_addPairToJSMap = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/addPairToJSMap.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/addPairToJSMap.js"(exports2) { "use strict"; var log = require_log(); var merge = require_merge(); @@ -3853,9 +3963,9 @@ var require_addPairToJSMap = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Pair.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Pair.js var require_Pair = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Pair.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Pair.js"(exports2) { "use strict"; var createNode = require_createNode(); var stringifyPair = require_stringifyPair(); @@ -3893,9 +4003,9 @@ var require_Pair = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyCollection.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyCollection.js var require_stringifyCollection = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyCollection.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyCollection.js"(exports2) { "use strict"; var identity = require_identity(); var stringify = require_stringify(); @@ -4037,9 +4147,9 @@ ${indent}${end}`; } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/YAMLMap.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/YAMLMap.js var require_YAMLMap = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/YAMLMap.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/YAMLMap.js"(exports2) { "use strict"; var stringifyCollection = require_stringifyCollection(); var addPairToJSMap = require_addPairToJSMap(); @@ -4181,9 +4291,9 @@ var require_YAMLMap = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/map.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/map.js var require_map = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/map.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/map.js"(exports2) { "use strict"; var identity = require_identity(); var YAMLMap = require_YAMLMap(); @@ -4203,9 +4313,9 @@ var require_map = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/YAMLSeq.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/YAMLSeq.js var require_YAMLSeq = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/YAMLSeq.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/YAMLSeq.js"(exports2) { "use strict"; var createNode = require_createNode(); var stringifyCollection = require_stringifyCollection(); @@ -4319,9 +4429,9 @@ var require_YAMLSeq = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/seq.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/seq.js var require_seq = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/seq.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/seq.js"(exports2) { "use strict"; var identity = require_identity(); var YAMLSeq = require_YAMLSeq(); @@ -4341,9 +4451,9 @@ var require_seq = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/string.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/string.js var require_string = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/string.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/string.js"(exports2) { "use strict"; var stringifyString = require_stringifyString(); var string = { @@ -4360,9 +4470,9 @@ var require_string = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/null.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/null.js var require_null = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/null.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/null.js"(exports2) { "use strict"; var Scalar = require_Scalar(); var nullTag = { @@ -4378,9 +4488,9 @@ var require_null = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/bool.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/bool.js var require_bool = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/bool.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/bool.js"(exports2) { "use strict"; var Scalar = require_Scalar(); var boolTag = { @@ -4402,9 +4512,9 @@ var require_bool = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyNumber.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyNumber.js var require_stringifyNumber = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyNumber.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyNumber.js"(exports2) { "use strict"; function stringifyNumber({ format, minFractionDigits, tag, value }) { if (typeof value === "bigint") @@ -4429,9 +4539,9 @@ var require_stringifyNumber = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/float.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/float.js var require_float = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/float.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/float.js"(exports2) { "use strict"; var Scalar = require_Scalar(); var stringifyNumber = require_stringifyNumber(); @@ -4475,9 +4585,9 @@ var require_float = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/int.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/int.js var require_int = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/int.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/int.js"(exports2) { "use strict"; var stringifyNumber = require_stringifyNumber(); var intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value); @@ -4520,9 +4630,9 @@ var require_int = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/schema.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/schema.js var require_schema = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/schema.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/schema.js"(exports2) { "use strict"; var map = require_map(); var _null = require_null(); @@ -4548,9 +4658,9 @@ var require_schema = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/json/schema.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/json/schema.js var require_schema2 = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/json/schema.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/json/schema.js"(exports2) { "use strict"; var Scalar = require_Scalar(); var map = require_map(); @@ -4615,9 +4725,9 @@ var require_schema2 = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/binary.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/binary.js var require_binary = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/binary.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/binary.js"(exports2) { "use strict"; var node_buffer = require("buffer"); var Scalar = require_Scalar(); @@ -4681,9 +4791,9 @@ var require_binary = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/pairs.js var require_pairs = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/pairs.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/pairs.js"(exports2) { "use strict"; var identity = require_identity(); var Pair = require_Pair(); @@ -4759,9 +4869,9 @@ ${cn.comment}` : item.comment; } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/omap.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/omap.js var require_omap = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/omap.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/omap.js"(exports2) { "use strict"; var identity = require_identity(); var toJS = require_toJS(); @@ -4837,9 +4947,9 @@ var require_omap = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/bool.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/bool.js var require_bool2 = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/bool.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/bool.js"(exports2) { "use strict"; var Scalar = require_Scalar(); function boolStringify({ value, source }, ctx) { @@ -4869,9 +4979,9 @@ var require_bool2 = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/float.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/float.js var require_float2 = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/float.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/float.js"(exports2) { "use strict"; var Scalar = require_Scalar(); var stringifyNumber = require_stringifyNumber(); @@ -4918,9 +5028,9 @@ var require_float2 = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/int.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/int.js var require_int2 = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/int.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/int.js"(exports2) { "use strict"; var stringifyNumber = require_stringifyNumber(); var intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value); @@ -4997,9 +5107,9 @@ var require_int2 = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/set.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/set.js var require_set = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/set.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/set.js"(exports2) { "use strict"; var identity = require_identity(); var Pair = require_Pair(); @@ -5086,9 +5196,9 @@ var require_set = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js var require_timestamp = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js"(exports2) { "use strict"; var stringifyNumber = require_stringifyNumber(); function parseSexagesimal(str, asBigInt) { @@ -5174,9 +5284,9 @@ var require_timestamp = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/schema.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/schema.js var require_schema3 = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/schema.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/schema.js"(exports2) { "use strict"; var map = require_map(); var _null = require_null(); @@ -5218,9 +5328,9 @@ var require_schema3 = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/tags.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/tags.js var require_tags = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/tags.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/tags.js"(exports2) { "use strict"; var map = require_map(); var _null = require_null(); @@ -5312,9 +5422,9 @@ var require_tags = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/Schema.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/Schema.js var require_Schema = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/Schema.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/Schema.js"(exports2) { "use strict"; var identity = require_identity(); var map = require_map(); @@ -5344,9 +5454,9 @@ var require_Schema = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyDocument.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyDocument.js var require_stringifyDocument = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyDocument.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyDocument.js"(exports2) { "use strict"; var identity = require_identity(); var stringify = require_stringify(); @@ -5424,9 +5534,9 @@ var require_stringifyDocument = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/Document.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/Document.js var require_Document = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/Document.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/Document.js"(exports2) { "use strict"; var Alias = require_Alias(); var Collection = require_Collection(); @@ -5733,9 +5843,9 @@ var require_Document = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/errors.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/errors.js var require_errors = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/errors.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/errors.js"(exports2) { "use strict"; var YAMLError = class extends Error { constructor(name, pos, code, message) { @@ -5798,9 +5908,9 @@ ${pointer} } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-props.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-props.js var require_resolve_props = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-props.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-props.js"(exports2) { "use strict"; function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIndent, startOnNewline }) { let spaceBefore = false; @@ -5932,9 +6042,9 @@ var require_resolve_props = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-contains-newline.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-contains-newline.js var require_util_contains_newline = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-contains-newline.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-contains-newline.js"(exports2) { "use strict"; function containsNewline(key) { if (!key) @@ -5974,9 +6084,9 @@ var require_util_contains_newline = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-flow-indent-check.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-flow-indent-check.js var require_util_flow_indent_check = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-flow-indent-check.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-flow-indent-check.js"(exports2) { "use strict"; var utilContainsNewline = require_util_contains_newline(); function flowIndentCheck(indent, fc, onError) { @@ -5992,9 +6102,9 @@ var require_util_flow_indent_check = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-map-includes.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-map-includes.js var require_util_map_includes = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-map-includes.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-map-includes.js"(exports2) { "use strict"; var identity = require_identity(); function mapIncludes(ctx, items, search) { @@ -6008,9 +6118,9 @@ var require_util_map_includes = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-map.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-map.js var require_resolve_block_map = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-map.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-map.js"(exports2) { "use strict"; var Pair = require_Pair(); var YAMLMap = require_YAMLMap(); @@ -6116,9 +6226,9 @@ var require_resolve_block_map = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-seq.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-seq.js var require_resolve_block_seq = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-seq.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-seq.js"(exports2) { "use strict"; var YAMLSeq = require_YAMLSeq(); var resolveProps = require_resolve_props(); @@ -6167,9 +6277,9 @@ var require_resolve_block_seq = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-end.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-end.js var require_resolve_end = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-end.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-end.js"(exports2) { "use strict"; function resolveEnd(end, offset, reqSpace, onError) { let comment = ""; @@ -6210,9 +6320,9 @@ var require_resolve_end = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-flow-collection.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-flow-collection.js var require_resolve_flow_collection = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-flow-collection.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-flow-collection.js"(exports2) { "use strict"; var identity = require_identity(); var Pair = require_Pair(); @@ -6404,9 +6514,9 @@ var require_resolve_flow_collection = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-collection.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-collection.js var require_compose_collection = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-collection.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-collection.js"(exports2) { "use strict"; var identity = require_identity(); var Scalar = require_Scalar(); @@ -6469,9 +6579,9 @@ var require_compose_collection = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-scalar.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-scalar.js var require_resolve_block_scalar = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-scalar.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-scalar.js"(exports2) { "use strict"; var Scalar = require_Scalar(); function resolveBlockScalar(ctx, scalar, onError) { @@ -6652,9 +6762,9 @@ var require_resolve_block_scalar = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-flow-scalar.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-flow-scalar.js var require_resolve_flow_scalar = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-flow-scalar.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-flow-scalar.js"(exports2) { "use strict"; var Scalar = require_Scalar(); var resolveEnd = require_resolve_end(); @@ -6871,9 +6981,9 @@ var require_resolve_flow_scalar = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-scalar.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-scalar.js var require_compose_scalar = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-scalar.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-scalar.js"(exports2) { "use strict"; var identity = require_identity(); var Scalar = require_Scalar(); @@ -6952,9 +7062,9 @@ var require_compose_scalar = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-empty-scalar-position.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-empty-scalar-position.js var require_util_empty_scalar_position = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-empty-scalar-position.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-empty-scalar-position.js"(exports2) { "use strict"; function emptyScalarPosition(offset, before, pos) { if (before) { @@ -6982,9 +7092,9 @@ var require_util_empty_scalar_position = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-node.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-node.js var require_compose_node = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-node.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-node.js"(exports2) { "use strict"; var Alias = require_Alias(); var identity = require_identity(); @@ -7083,9 +7193,9 @@ var require_compose_node = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-doc.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-doc.js var require_compose_doc = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-doc.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-doc.js"(exports2) { "use strict"; var Document = require_Document(); var composeNode = require_compose_node(); @@ -7126,9 +7236,9 @@ var require_compose_doc = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/composer.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/composer.js var require_composer = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/composer.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/composer.js"(exports2) { "use strict"; var node_process = require("process"); var directives = require_directives(); @@ -7332,9 +7442,9 @@ ${end.comment}` : end.comment; } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst-scalar.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst-scalar.js var require_cst_scalar = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst-scalar.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst-scalar.js"(exports2) { "use strict"; var resolveBlockScalar = require_resolve_block_scalar(); var resolveFlowScalar = require_resolve_flow_scalar(); @@ -7517,9 +7627,9 @@ var require_cst_scalar = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst-stringify.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst-stringify.js var require_cst_stringify = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst-stringify.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst-stringify.js"(exports2) { "use strict"; var stringify = (cst) => "type" in cst ? stringifyToken(cst) : stringifyItem(cst); function stringifyToken(token) { @@ -7578,9 +7688,9 @@ var require_cst_stringify = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst-visit.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst-visit.js var require_cst_visit = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst-visit.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst-visit.js"(exports2) { "use strict"; var BREAK = /* @__PURE__ */ Symbol("break visit"); var SKIP = /* @__PURE__ */ Symbol("skip children"); @@ -7640,9 +7750,9 @@ var require_cst_visit = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst.js var require_cst = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst.js"(exports2) { "use strict"; var cstScalar = require_cst_scalar(); var cstStringify = require_cst_stringify(); @@ -7742,9 +7852,9 @@ var require_cst = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/lexer.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/lexer.js var require_lexer = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/lexer.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/lexer.js"(exports2) { "use strict"; var cst = require_cst(); function isEmpty(ch) { @@ -8321,9 +8431,9 @@ var require_lexer = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/line-counter.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/line-counter.js var require_line_counter = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/line-counter.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/line-counter.js"(exports2) { "use strict"; var LineCounter = class { constructor() { @@ -8352,9 +8462,9 @@ var require_line_counter = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/parser.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/parser.js var require_parser = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/parser.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/parser.js"(exports2) { "use strict"; var node_process = require("process"); var cst = require_cst(); @@ -9219,9 +9329,9 @@ var require_parser = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/public-api.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/public-api.js var require_public_api = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/public-api.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/public-api.js"(exports2) { "use strict"; var composer = require_composer(); var Document = require_Document(); @@ -9316,9 +9426,9 @@ var require_public_api = __commonJS({ } }); -// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/index.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/index.js var require_dist = __commonJS({ - "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/index.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/index.js"(exports2) { "use strict"; var composer = require_composer(); var Document = require_Document(); @@ -9368,7 +9478,7 @@ var require_dist = __commonJS({ } }); -// packages/core/src/lockfile.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/lockfile.js async function writeLockfile(resolved) { const lockPath = getLockfilePath(resolved.id); const lockDir = import_path4.default.dirname(lockPath); @@ -9486,7 +9596,7 @@ async function cleanOrphanedLockfiles() { } var import_fs3, import_path4, import_yaml; var init_lockfile = __esm({ - "packages/core/src/lockfile.js"() { + "../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/lockfile.js"() { import_fs3 = __toESM(require("fs"), 1); import_path4 = __toESM(require("path"), 1); import_yaml = __toESM(require_dist(), 1); @@ -9494,7 +9604,7 @@ var init_lockfile = __esm({ } }); -// packages/core/src/shims.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/shims.js var shims_exports = {}; __export(shims_exports, { createShimsForTool: () => createShimsForTool, @@ -9684,14 +9794,14 @@ function validateShim(bin) { } var import_fs4, import_path5; var init_shims = __esm({ - "packages/core/src/shims.js"() { + "../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/shims.js"() { import_fs4 = __toESM(require("fs"), 1); import_path5 = __toESM(require("path"), 1); init_src(); } }); -// packages/core/src/installer.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/installer.js function getInstallPathForPackage(pkg) { if (!pkg || typeof pkg.id !== "string") { throw new Error("Package metadata requires an id"); @@ -11212,7 +11322,7 @@ async function installPythonRequirements(pythonPath, onProgress) { } var import_fs5, import_os3, import_path6, import_child_process2, import_promises, import_fs6, SINGLE_FILE_KINDS2, WORKFLOW_EXTENSIONS, DEFAULT_STACK_STATE_PATHS, NPM_PACKAGE_PATTERN, PIP_PACKAGE_PATTERN, SHELL_CONTROL_PATTERN; var init_installer = __esm({ - "packages/core/src/installer.js"() { + "../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/installer.js"() { import_fs5 = __toESM(require("fs"), 1); import_os3 = __toESM(require("os"), 1); import_path6 = __toESM(require("path"), 1); @@ -11233,7 +11343,7 @@ var init_installer = __esm({ } }); -// packages/core/src/deps.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/deps.js function checkRuntime(runtime) { const name = runtime.replace(/^runtime:/, ""); const rudiPath = import_path7.default.join(PATHS.runtimes, name); @@ -11445,7 +11555,7 @@ async function getAllDepsFromRegistry() { } var import_fs7, import_path7, import_child_process3; var init_deps = __esm({ - "packages/core/src/deps.js"() { + "../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/deps.js"() { import_fs7 = __toESM(require("fs"), 1); import_path7 = __toESM(require("path"), 1); import_child_process3 = require("child_process"); @@ -11454,7 +11564,7 @@ var init_deps = __esm({ } }); -// packages/core/src/rudi-config.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/rudi-config.js function createRudiConfig() { const now = (/* @__PURE__ */ new Date()).toISOString(); return { @@ -11692,7 +11802,7 @@ function updateSecretStatus(secretName, configured, provider) { } var fs7, path8, RUDI_JSON_PATH, RUDI_JSON_TMP, RUDI_JSON_LOCK, CONFIG_MODE, LOCK_TIMEOUT_MS; var init_rudi_config = __esm({ - "packages/core/src/rudi-config.js"() { + "../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/rudi-config.js"() { fs7 = __toESM(require("fs"), 1); path8 = __toESM(require("path"), 1); init_src(); @@ -11704,7 +11814,7 @@ var init_rudi_config = __esm({ } }); -// packages/core/src/tool-index.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/tool-index.js function loadSecrets() { try { const content = fs8.readFileSync(SECRETS_PATH, "utf-8"); @@ -12002,7 +12112,7 @@ async function indexAllStacks(options = {}) { } var import_child_process4, fs8, path9, readline, TOOL_INDEX_PATH, TOOL_INDEX_TMP, SECRETS_PATH, REQUEST_TIMEOUT_MS, PROTOCOL_VERSION; var init_tool_index = __esm({ - "packages/core/src/tool-index.js"() { + "../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/tool-index.js"() { import_child_process4 = require("child_process"); fs8 = __toESM(require("fs"), 1); path9 = __toESM(require("path"), 1); @@ -12017,7 +12127,7 @@ var init_tool_index = __esm({ } }); -// packages/core/src/system-registry.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/system-registry.js async function registerSystemBinary(name, options = {}) { const { searchPaths = getDefaultSearchPaths(), @@ -12151,7 +12261,7 @@ function getSystemBinaryInfo(name) { } var import_fs8, import_path8, import_child_process5; var init_system_registry = __esm({ - "packages/core/src/system-registry.js"() { + "../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/system-registry.js"() { import_fs8 = __toESM(require("fs"), 1); import_path8 = __toESM(require("path"), 1); import_child_process5 = require("child_process"); @@ -12160,7 +12270,7 @@ var init_system_registry = __esm({ } }); -// packages/secrets/src/index.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/secrets/src/index.js function isSecretsObject(value) { return value !== null && typeof value === "object" && !Array.isArray(value); } @@ -12258,7 +12368,7 @@ function getStorageInfo() { } var fs10, path11, SECRETS_FILE; var init_src4 = __esm({ - "packages/secrets/src/index.js"() { + "../../../../Users/hoff/dev/RUDI/apps/cli/packages/secrets/src/index.js"() { fs10 = __toESM(require("fs"), 1); path11 = __toESM(require("path"), 1); init_src(); @@ -12266,7 +12376,7 @@ var init_src4 = __esm({ } }); -// packages/core/src/stack-lifecycle.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/stack-lifecycle.js function checkInstalled(stackId, stackConfig) { try { if (stackConfig.installed !== true) { @@ -12566,7 +12676,7 @@ async function checkStackLifecycle(stackId, stackConfig, opts = {}) { } var import_node_fs, import_node_path; var init_stack_lifecycle = __esm({ - "packages/core/src/stack-lifecycle.js"() { + "../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/stack-lifecycle.js"() { import_node_fs = __toESM(require("node:fs"), 1); import_node_path = __toESM(require("node:path"), 1); init_src4(); @@ -12574,7 +12684,7 @@ var init_stack_lifecycle = __esm({ } }); -// packages/core/src/index.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/index.js var src_exports = {}; __export(src_exports, { CLAUDE_HOME: () => CLAUDE_HOME, @@ -12674,7 +12784,7 @@ __export(src_exports, { writeToolIndex: () => writeToolIndex }); var init_src5 = __esm({ - "packages/core/src/index.js"() { + "../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/index.js"() { init_src(); init_src3(); init_resolver(); @@ -12689,9 +12799,9 @@ var init_src5 = __esm({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/code.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/code.js var require_code = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/code.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/code.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.regexpCode = exports2.getEsmExportName = exports2.getProperty = exports2.safeStringify = exports2.stringify = exports2.strConcat = exports2.addCodeArg = exports2.str = exports2._ = exports2.nil = exports2._Code = exports2.Name = exports2.IDENTIFIER = exports2._CodeOrName = void 0; @@ -12843,9 +12953,9 @@ var require_code = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/scope.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/scope.js var require_scope = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/scope.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/scope.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.ValueScope = exports2.ValueScopeName = exports2.Scope = exports2.varKinds = exports2.UsedValueState = void 0; @@ -12988,9 +13098,9 @@ var require_scope = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/index.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/index.js var require_codegen = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/index.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.or = exports2.and = exports2.not = exports2.CodeGen = exports2.operators = exports2.varKinds = exports2.ValueScopeName = exports2.ValueScope = exports2.Scope = exports2.Name = exports2.regexpCode = exports2.stringify = exports2.getProperty = exports2.nil = exports2.strConcat = exports2.str = exports2._ = void 0; @@ -13708,9 +13818,9 @@ var require_codegen = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/util.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/util.js var require_util = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/util.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/util.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.checkStrictMode = exports2.getErrorPath = exports2.Type = exports2.useFunc = exports2.setEvaluated = exports2.evaluatedPropsToName = exports2.mergeEvaluated = exports2.eachItem = exports2.unescapeJsonPointer = exports2.escapeJsonPointer = exports2.escapeFragment = exports2.unescapeFragment = exports2.schemaRefOrVal = exports2.schemaHasRulesButRef = exports2.schemaHasRules = exports2.checkUnknownRules = exports2.alwaysValidSchema = exports2.toHash = void 0; @@ -13875,9 +13985,9 @@ var require_util = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/names.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/names.js var require_names = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/names.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/names.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -13914,9 +14024,9 @@ var require_names = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/errors.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/errors.js var require_errors2 = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/errors.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/errors.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.extendErrors = exports2.resetErrorsCount = exports2.reportExtraError = exports2.reportError = exports2.keyword$DataError = exports2.keywordError = void 0; @@ -14036,9 +14146,9 @@ var require_errors2 = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/boolSchema.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/boolSchema.js var require_boolSchema = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/boolSchema.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/boolSchema.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.boolOrEmptySchema = exports2.topBoolOrEmptySchema = void 0; @@ -14087,9 +14197,9 @@ var require_boolSchema = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/rules.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/rules.js var require_rules = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/rules.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/rules.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getRules = exports2.isJSONType = void 0; @@ -14118,9 +14228,9 @@ var require_rules = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/applicability.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/applicability.js var require_applicability = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/applicability.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/applicability.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.shouldUseRule = exports2.shouldUseGroup = exports2.schemaHasRulesForType = void 0; @@ -14141,9 +14251,9 @@ var require_applicability = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/dataType.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/dataType.js var require_dataType = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/dataType.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/dataType.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.reportTypeError = exports2.checkDataTypes = exports2.checkDataType = exports2.coerceAndCheckDataType = exports2.getJSONTypes = exports2.getSchemaTypes = exports2.DataType = void 0; @@ -14325,9 +14435,9 @@ var require_dataType = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/defaults.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/defaults.js var require_defaults = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/defaults.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/defaults.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.assignDefaults = void 0; @@ -14362,9 +14472,9 @@ var require_defaults = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/code.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/code.js var require_code2 = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/code.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/code.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.validateUnion = exports2.validateArray = exports2.usePattern = exports2.callValidateCode = exports2.schemaProperties = exports2.allSchemaProperties = exports2.noPropertyInData = exports2.propertyInData = exports2.isOwnProperty = exports2.hasPropFunc = exports2.reportMissingProp = exports2.checkMissingProp = exports2.checkReportMissingProp = void 0; @@ -14495,9 +14605,9 @@ var require_code2 = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/keyword.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/keyword.js var require_keyword = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/keyword.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/keyword.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.validateKeywordUsage = exports2.validSchemaType = exports2.funcKeywordCode = exports2.macroKeywordCode = void 0; @@ -14613,9 +14723,9 @@ var require_keyword = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/subschema.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/subschema.js var require_subschema = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/subschema.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/subschema.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.extendSubschemaMode = exports2.extendSubschemaData = exports2.getSubschema = void 0; @@ -14696,9 +14806,9 @@ var require_subschema = __commonJS({ } }); -// node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js var require_fast_deep_equal = __commonJS({ - "node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js"(exports2, module2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js"(exports2, module2) { "use strict"; module2.exports = function equal(a, b) { if (a === b) return true; @@ -14731,9 +14841,9 @@ var require_fast_deep_equal = __commonJS({ } }); -// node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js var require_json_schema_traverse = __commonJS({ - "node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js"(exports2, module2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js"(exports2, module2) { "use strict"; var traverse = module2.exports = function(schema, opts, cb) { if (typeof opts == "function") { @@ -14819,9 +14929,9 @@ var require_json_schema_traverse = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/resolve.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/resolve.js var require_resolve = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/resolve.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/resolve.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getSchemaRefs = exports2.resolveUrl = exports2.normalizeId = exports2._getFullPath = exports2.getFullPath = exports2.inlineRef = void 0; @@ -14975,9 +15085,9 @@ var require_resolve = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/index.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/index.js var require_validate = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/index.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getData = exports2.KeywordCxt = exports2.validateFunctionCode = void 0; @@ -15483,9 +15593,9 @@ var require_validate = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/validation_error.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/validation_error.js var require_validation_error = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/validation_error.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/validation_error.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var ValidationError = class extends Error { @@ -15499,9 +15609,9 @@ var require_validation_error = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/ref_error.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/ref_error.js var require_ref_error = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/ref_error.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/ref_error.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var resolve_1 = require_resolve(); @@ -15516,9 +15626,9 @@ var require_ref_error = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/index.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/index.js var require_compile = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/index.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.resolveSchema = exports2.getCompilingSchema = exports2.resolveRef = exports2.compileSchema = exports2.SchemaEnv = void 0; @@ -15740,9 +15850,9 @@ var require_compile = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/data.json +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/data.json var require_data = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/data.json"(exports2, module2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/data.json"(exports2, module2) { module2.exports = { $id: "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#", description: "Meta-schema for $data reference (JSON AnySchema extension proposal)", @@ -15759,9 +15869,9 @@ var require_data = __commonJS({ } }); -// node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js var require_utils = __commonJS({ - "node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js"(exports2, module2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js"(exports2, module2) { "use strict"; var isUUID = RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu); var isIPv4 = RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u); @@ -16016,9 +16126,9 @@ var require_utils = __commonJS({ } }); -// node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/schemes.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/schemes.js var require_schemes = __commonJS({ - "node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/schemes.js"(exports2, module2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/schemes.js"(exports2, module2) { "use strict"; var { isUUID } = require_utils(); var URN_REG = /([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu; @@ -16226,9 +16336,9 @@ var require_schemes = __commonJS({ } }); -// node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/index.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/index.js var require_fast_uri = __commonJS({ - "node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/index.js"(exports2, module2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/index.js"(exports2, module2) { "use strict"; var { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizeComponentEncoding, isIPv4, nonSimpleDomain } = require_utils(); var { SCHEMES, getSchemeHandler } = require_schemes(); @@ -16481,9 +16591,9 @@ var require_fast_uri = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/uri.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/uri.js var require_uri = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/uri.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/uri.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var uri = require_fast_uri(); @@ -16492,9 +16602,9 @@ var require_uri = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/core.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/core.js var require_core = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/core.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/core.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.CodeGen = exports2.Name = exports2.nil = exports2.stringify = exports2.str = exports2._ = exports2.KeywordCxt = void 0; @@ -17103,9 +17213,9 @@ var require_core = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/id.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/id.js var require_id = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/id.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/id.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var def = { @@ -17118,9 +17228,9 @@ var require_id = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/ref.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/ref.js var require_ref = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/ref.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/ref.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.callRef = exports2.getValidate = void 0; @@ -17240,9 +17350,9 @@ var require_ref = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/index.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/index.js var require_core2 = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/index.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var id_1 = require_id(); @@ -17261,9 +17371,9 @@ var require_core2 = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitNumber.js var require_limitNumber = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitNumber.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitNumber.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -17293,9 +17403,9 @@ var require_limitNumber = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/multipleOf.js var require_multipleOf = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/multipleOf.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/multipleOf.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -17321,9 +17431,9 @@ var require_multipleOf = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/ucs2length.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/ucs2length.js var require_ucs2length = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/ucs2length.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/ucs2length.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); function ucs2length(str) { @@ -17347,9 +17457,9 @@ var require_ucs2length = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitLength.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitLength.js var require_limitLength = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitLength.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitLength.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -17379,9 +17489,9 @@ var require_limitLength = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/pattern.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/pattern.js var require_pattern = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/pattern.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/pattern.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var code_1 = require_code2(); @@ -17407,9 +17517,9 @@ var require_pattern = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitProperties.js var require_limitProperties = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitProperties.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitProperties.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -17436,9 +17546,9 @@ var require_limitProperties = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/required.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/required.js var require_required = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/required.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/required.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var code_1 = require_code2(); @@ -17518,9 +17628,9 @@ var require_required = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitItems.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitItems.js var require_limitItems = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitItems.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitItems.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -17547,9 +17657,9 @@ var require_limitItems = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/equal.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/equal.js var require_equal = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/equal.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/equal.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var equal = require_fast_deep_equal(); @@ -17558,9 +17668,9 @@ var require_equal = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js var require_uniqueItems = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var dataType_1 = require_dataType(); @@ -17625,9 +17735,9 @@ var require_uniqueItems = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/const.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/const.js var require_const = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/const.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/const.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -17654,9 +17764,9 @@ var require_const = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/enum.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/enum.js var require_enum = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/enum.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/enum.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -17703,9 +17813,9 @@ var require_enum = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/index.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/index.js var require_validation = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/index.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var limitNumber_1 = require_limitNumber(); @@ -17741,9 +17851,9 @@ var require_validation = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js var require_additionalItems = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.validateAdditionalItems = void 0; @@ -17794,9 +17904,9 @@ var require_additionalItems = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items.js var require_items = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.validateTuple = void 0; @@ -17851,9 +17961,9 @@ var require_items = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js var require_prefixItems = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var items_1 = require_items(); @@ -17868,9 +17978,9 @@ var require_prefixItems = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items2020.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items2020.js var require_items2020 = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items2020.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items2020.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -17903,9 +18013,9 @@ var require_items2020 = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/contains.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/contains.js var require_contains = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/contains.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/contains.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -17997,9 +18107,9 @@ var require_contains = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/dependencies.js var require_dependencies = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/dependencies.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/dependencies.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.validateSchemaDeps = exports2.validatePropertyDeps = exports2.error = void 0; @@ -18091,9 +18201,9 @@ var require_dependencies = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js var require_propertyNames = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -18134,9 +18244,9 @@ var require_propertyNames = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js var require_additionalProperties = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var code_1 = require_code2(); @@ -18240,9 +18350,9 @@ var require_additionalProperties = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/properties.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/properties.js var require_properties = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/properties.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/properties.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var validate_1 = require_validate(); @@ -18298,9 +18408,9 @@ var require_properties = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js var require_patternProperties = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var code_1 = require_code2(); @@ -18372,9 +18482,9 @@ var require_patternProperties = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/not.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/not.js var require_not = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/not.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/not.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var util_1 = require_util(); @@ -18403,9 +18513,9 @@ var require_not = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/anyOf.js var require_anyOf = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/anyOf.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/anyOf.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var code_1 = require_code2(); @@ -18420,9 +18530,9 @@ var require_anyOf = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/oneOf.js var require_oneOf = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/oneOf.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/oneOf.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -18478,9 +18588,9 @@ var require_oneOf = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/allOf.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/allOf.js var require_allOf = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/allOf.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/allOf.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var util_1 = require_util(); @@ -18505,9 +18615,9 @@ var require_allOf = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/if.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/if.js var require_if = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/if.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/if.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -18574,9 +18684,9 @@ var require_if = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/thenElse.js var require_thenElse = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/thenElse.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/thenElse.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var util_1 = require_util(); @@ -18592,9 +18702,9 @@ var require_thenElse = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/index.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/index.js var require_applicator = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/index.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var additionalItems_1 = require_additionalItems(); @@ -18640,9 +18750,9 @@ var require_applicator = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/format.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/format.js var require_format = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/format.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/format.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -18730,9 +18840,9 @@ var require_format = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/index.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/index.js var require_format2 = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/index.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var format_1 = require_format(); @@ -18741,9 +18851,9 @@ var require_format2 = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/metadata.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/metadata.js var require_metadata = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/metadata.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/metadata.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.contentVocabulary = exports2.metadataVocabulary = void 0; @@ -18764,9 +18874,9 @@ var require_metadata = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/draft7.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/draft7.js var require_draft7 = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/draft7.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/draft7.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var core_1 = require_core2(); @@ -18786,9 +18896,9 @@ var require_draft7 = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/types.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/types.js var require_types = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/types.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/types.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.DiscrError = void 0; @@ -18800,9 +18910,9 @@ var require_types = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/index.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/index.js var require_discriminator = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/index.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -18905,9 +19015,9 @@ var require_discriminator = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/json-schema-draft-07.json +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/json-schema-draft-07.json var require_json_schema_draft_07 = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/json-schema-draft-07.json"(exports2, module2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/json-schema-draft-07.json"(exports2, module2) { module2.exports = { $schema: "http://json-schema.org/draft-07/schema#", $id: "http://json-schema.org/draft-07/schema#", @@ -19062,9 +19172,9 @@ var require_json_schema_draft_07 = __commonJS({ } }); -// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/ajv.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/ajv.js var require_ajv = __commonJS({ - "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/ajv.js"(exports2, module2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/ajv.js"(exports2, module2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.MissingRefError = exports2.ValidationError = exports2.CodeGen = exports2.Name = exports2.nil = exports2.stringify = exports2.str = exports2._ = exports2.KeywordCxt = exports2.Ajv = void 0; @@ -19132,9 +19242,9 @@ var require_ajv = __commonJS({ } }); -// node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/formats.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/formats.js var require_formats = __commonJS({ - "node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/formats.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/formats.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.formatNames = exports2.fastFormats = exports2.fullFormats = void 0; @@ -19335,9 +19445,9 @@ var require_formats = __commonJS({ } }); -// node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/limit.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/limit.js var require_limit = __commonJS({ - "node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/limit.js"(exports2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/limit.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.formatLimitDefinition = void 0; @@ -19407,9 +19517,9 @@ var require_limit = __commonJS({ } }); -// node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/index.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/index.js var require_dist2 = __commonJS({ - "node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/index.js"(exports2, module2) { + "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/index.js"(exports2, module2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var formats_1 = require_formats(); @@ -19449,7 +19559,7 @@ var require_dist2 = __commonJS({ } }); -// packages/utils/src/args.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/utils/src/args.js function parseArgs(argv) { const flags = {}; const args = []; @@ -19497,7 +19607,7 @@ function parseArgs(argv) { return { command, args, flags, passthrough }; } -// packages/utils/src/help.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/utils/src/help.js function printVersion(version) { console.log(`rudi v${version}`); } @@ -20176,7 +20286,7 @@ var path16 = __toESM(require("path"), 1); init_src5(); init_src4(); -// packages/mcp/src/agents.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/mcp/src/agents.js var import_fs9 = __toESM(require("fs"), 1); var import_path9 = __toESM(require("path"), 1); var import_os4 = __toESM(require("os"), 1); @@ -20412,7 +20522,7 @@ function getMcpServerSummary() { return summary; } -// packages/mcp/src/registry.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/mcp/src/registry.js var fs13 = __toESM(require("fs/promises"), 1); var path14 = __toESM(require("path"), 1); var os5 = __toESM(require("os"), 1); @@ -20657,15 +20767,27 @@ init_src(); init_src5(); // src/commands/related-skills.js +function normalizeSkillId(value) { + if (typeof value !== "string") return null; + const trimmed = value.trim(); + if (!trimmed) return null; + return trimmed.startsWith("skill:") ? trimmed : trimmed.startsWith("prompt:") ? trimmed.replace(/^prompt:/, "skill:") : trimmed.includes(":") ? null : `skill:${trimmed}`; +} +function getOperatorSkillId(pkg) { + return normalizeSkillId(pkg?.related?.operatorSkill); +} +function formatOperatorSkillLine(pkg, options = {}) { + const { label = "Operator skill" } = options; + const id = getOperatorSkillId(pkg); + if (!id) return null; + return `${label}: ${id}`; +} function getRelatedSkillIds(pkg) { const skills = Array.isArray(pkg?.related?.skills) ? pkg.related.skills : []; const ids = []; const seen = /* @__PURE__ */ new Set(); for (const value of skills) { - if (typeof value !== "string") continue; - const trimmed = value.trim(); - if (!trimmed) continue; - const id = trimmed.startsWith("skill:") ? trimmed : trimmed.startsWith("prompt:") ? trimmed.replace(/^prompt:/, "skill:") : trimmed.includes(":") ? null : `skill:${trimmed}`; + const id = normalizeSkillId(value); if (!id || seen.has(id)) continue; seen.add(id); ids.push(id); @@ -20674,7 +20796,8 @@ function getRelatedSkillIds(pkg) { } function formatRelatedSkillsLine(pkg, options = {}) { const { label = "Related skills" } = options; - const ids = getRelatedSkillIds(pkg); + const operatorSkill = getOperatorSkillId(pkg); + const ids = getRelatedSkillIds(pkg).filter((id) => id !== operatorSkill); if (ids.length === 0) return null; return `${label}: ${ids.join(", ")}`; } @@ -20864,6 +20987,10 @@ ${headingForKind2(pkgKind)} (${pkgs.length}):`); if (pkg.tags && pkg.tags.length > 0) { console.log(` Tags: ${pkg.tags.join(", ")}`); } + const operatorSkillLine = formatOperatorSkillLine(pkg); + if (operatorSkillLine) { + console.log(` ${operatorSkillLine}`); + } const relatedSkillsLine = formatRelatedSkillsLine(pkg); if (relatedSkillsLine) { console.log(` ${relatedSkillsLine}`); @@ -21009,7 +21136,7 @@ function buildClaudeSkillFiles(pkg, sourceContent) { const body = parsed.body || `Use the installed RUDI skill \`skill:${skillName}\` as the source of truth.`; const skillMd = [ "---", - `name: ${yamlString(displayName)}`, + `name: ${yamlString(skillName)}`, `description: ${yamlString(description)}`, "---", "", @@ -21401,14 +21528,33 @@ function getRelatedSkillInstallMode(flags = {}) { function buildRelatedSkillInstallPlan(resolved, flags = {}) { const mode = getRelatedSkillInstallMode(flags); const relatedSkills = Array.isArray(resolved?.relatedSkills) ? resolved.relatedSkills : []; - const missing = relatedSkills.filter((skill) => !skill.installed); + const operatorSkill = relatedSkills.find((skill) => skill.isOperator) || null; + const companionSkills = relatedSkills.filter((skill) => !skill.isOperator); + const missingOperator = operatorSkill && !operatorSkill.installed ? [operatorSkill] : []; + const missingCompanions = companionSkills.filter((skill) => !skill.installed); + const missing = [...missingOperator, ...missingCompanions]; return { mode, relatedSkills, + operatorSkill, + companionSkills, + missingOperator, + missingCompanions, missing, - toInstall: mode === "include" ? missing : [] + toInstall: [ + ...missingOperator, + ...mode === "include" ? missingCompanions : [] + ] }; } +function selectRelatedSkillsForInstall(plan, includeCompanions = false) { + if (!plan) return []; + const selected = [...plan.missingOperator || []]; + if (plan.mode === "include" || plan.mode === "offer" && includeCompanions) { + selected.push(...plan.missingCompanions || []); + } + return selected; +} async function activateInstalledStack(stackId, options = {}, dependencies = {}) { const missingSecrets = Array.isArray(options.missingSecrets) ? [...new Set(options.missingSecrets.filter(Boolean))] : []; if (missingSecrets.length > 0) { @@ -21467,36 +21613,51 @@ async function syncRelatedSkillWrappers(relatedSkills, installResults, installed function printRelatedSkillSummary(plan) { if (!plan || plan.relatedSkills.length === 0) return; console.log(` -Related skills:`); - for (const skill of plan.relatedSkills) { +Operator skill:`); + if (plan.operatorSkill) { + const status = plan.operatorSkill.installed ? "(installed)" : "(will install with stack)"; + console.log(` - ${plan.operatorSkill.id} ${status}`); + } else { + console.log(` - missing from registry metadata`); + } + if (plan.companionSkills.length === 0) return; + console.log(` +Companion skills:`); + for (const skill of plan.companionSkills) { const status = skill.installed ? "(installed)" : "(available)"; console.log(` - ${skill.id} ${status}`); } - if (plan.missing.length === 0) { - console.log(` All related skills are already installed.`); + if (plan.missingCompanions.length === 0) { + console.log(` All companion skills are already installed.`); } else if (plan.mode === "include") { - console.log(` Missing related skills will be installed after the stack.`); + console.log(` Missing companion skills will be installed after the stack.`); } else if (plan.mode === "skip") { - console.log(` Skipping related skills because --no-related-skills was set.`); + console.log(` Skipping companion skills because --no-related-skills was set.`); } else { - console.log(` Related skills are editable workflow playbooks installed into ~/.rudi/skills.`); + console.log(` Companion skills are editable workflow playbooks installed into ~/.rudi/skills.`); } } async function promptForRelatedSkills(plan) { if (!plan || plan.missing.length === 0) return []; - if (plan.mode === "include") return plan.toInstall; - if (plan.mode === "skip") return []; - if (!process.stdin.isTTY || !process.stdout.isTTY) return []; + if (plan.mode === "include" || plan.mode === "skip") { + return selectRelatedSkillsForInstall(plan); + } + if (plan.missingCompanions.length === 0) { + return selectRelatedSkillsForInstall(plan); + } + if (!process.stdin.isTTY || !process.stdout.isTTY) { + return selectRelatedSkillsForInstall(plan); + } const { createInterface: createInterface2 } = await import("node:readline/promises"); const readline3 = createInterface2({ input: process.stdin, output: process.stdout }); try { - const label = plan.missing.length === 1 ? plan.missing[0].id : `${plan.missing.length} related skills`; + const label = plan.missingCompanions.length === 1 ? plan.missingCompanions[0].id : `${plan.missingCompanions.length} companion skills`; const answer = await readline3.question(` Install ${label} now? [y/N] `); - return /^(y|yes)$/i.test(answer.trim()) ? plan.missing : []; + return selectRelatedSkillsForInstall(plan, /^(y|yes)$/i.test(answer.trim())); } finally { readline3.close(); } @@ -21526,6 +21687,40 @@ async function installRelatedSkills(skills, options = {}) { } return results; } +async function installAndSyncStackSkills(plan, options = {}) { + const { + allowScripts = false, + withShims = false, + installedAgents = getInstalledAgents() + } = options; + const selectedSkills = await promptForRelatedSkills(plan); + const installResults = selectedSkills.length > 0 ? await installRelatedSkills(selectedSkills, { allowScripts, withShims }) : []; + if (installResults.length > 0) { + console.log(` + Installed skills:`); + for (const result of installResults) { + if (result.success) { + console.log(` - ${result.id} installed`); + } else { + console.log(` - ${result.id} failed: ${result.error}`); + } + } + } + const wrapperSync = await syncRelatedSkillWrappers( + plan.relatedSkills, + installResults, + installedAgents + ); + for (const target of wrapperSync.targets) { + if (wrapperSync.errors[target]) { + console.log(` - ${target} native skill sync failed: ${wrapperSync.errors[target]}`); + console.log(` Retry with: rudi skills sync ${target}`); + } else { + console.log(` - ${target} native skill wrapper synced`); + } + } + return { selectedSkills, installResults, wrapperSync }; +} function getStackEntryPoint(stackPath, manifest) { const command = getStackCommand(manifest); if (!command || command.length === 0) { @@ -21711,6 +21906,12 @@ Package: ${resolved.name} (${resolved.id})`); console.log(`Description: ${resolved.description}`); } if (resolved.installed && !force) { + if (resolved.kind === "stack" && relatedSkillPlan.missing.length > 0) { + console.log(` +Stack already installed. Installing missing operator or companion skills.`); + await installAndSyncStackSkills(relatedSkillPlan, { allowScripts, withShims }); + return; + } console.log(` Already installed. Use --force to reinstall.`); return; @@ -21856,32 +22057,10 @@ ${depResult.error}`); console.log(` - ${id}`); } } - const selectedRelatedSkills = await promptForRelatedSkills(relatedSkillPlan); - const relatedSkillResults = selectedRelatedSkills.length > 0 ? await installRelatedSkills(selectedRelatedSkills, { allowScripts, withShims }) : []; - if (relatedSkillResults.length > 0) { - console.log(` - Related skills:`); - for (const relatedResult of relatedSkillResults) { - if (relatedResult.success) { - console.log(` - ${relatedResult.id} installed`); - } else { - console.log(` - ${relatedResult.id} failed: ${relatedResult.error}`); - } - } - } - const wrapperSync = await syncRelatedSkillWrappers( - relatedSkillPlan.relatedSkills, - relatedSkillResults, - getInstalledAgents() + const { installResults: relatedSkillResults } = await installAndSyncStackSkills( + relatedSkillPlan, + { allowScripts, withShims } ); - for (const target of wrapperSync.targets) { - if (wrapperSync.errors[target]) { - console.log(` - ${target} native skill sync failed: ${wrapperSync.errors[target]}`); - console.log(` Retry with: rudi skills sync ${target}`); - } else { - console.log(` - ${target} native skill wrapper synced`); - } - } const { found, missing } = await checkSecrets(manifest); const envExampleKeys = await parseEnvExample(result.path); for (const key of envExampleKeys) { @@ -21975,13 +22154,13 @@ Next steps:`); // src/commands/run.js init_src5(); -// packages/runner/src/spawn.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/runner/src/spawn.js var import_child_process6 = require("child_process"); var import_path11 = __toESM(require("path"), 1); var import_fs11 = __toESM(require("fs"), 1); init_src(); -// packages/runner/src/secrets.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/runner/src/secrets.js init_src4(); function loadSecrets3() { return loadSecrets2(); @@ -22031,7 +22210,7 @@ function redactSecrets(text, secrets) { return result; } -// packages/runner/src/spawn.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/runner/src/spawn.js function existingDirectory2(dirPath) { return typeof dirPath === "string" && import_fs11.default.existsSync(dirPath) && import_fs11.default.statSync(dirPath).isDirectory(); } @@ -22197,7 +22376,7 @@ function resolveRelativePath(value, basePath) { return value; } -// packages/manifest/src/stack.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/manifest/src/stack.js var import_yaml2 = __toESM(require_dist(), 1); var import_fs12 = __toESM(require("fs"), 1); var import_path12 = __toESM(require("path"), 1); @@ -22328,16 +22507,16 @@ function findStackManifest(dir) { return null; } -// packages/manifest/src/skill.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/manifest/src/skill.js var import_yaml3 = __toESM(require_dist(), 1); -// packages/manifest/src/prompt.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/manifest/src/prompt.js var import_yaml4 = __toESM(require_dist(), 1); -// packages/manifest/src/runtime.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/manifest/src/runtime.js var import_yaml5 = __toESM(require_dist(), 1); -// packages/manifest/src/validate.js +// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/manifest/src/validate.js var import_ajv = __toESM(require_ajv(), 1); var import_ajv_formats = __toESM(require_dist2(), 1); var ajv = new import_ajv.default({ allErrors: true, strict: false }); @@ -23914,8 +24093,8 @@ function buildRudiInstructionBlock(agent = "generic") { "- Router binary: `~/.rudi/bins/rudi-router`.", "- Tool index cache: `~/.rudi/cache/tool-index.json`.", "- Installed stacks: `rudi list stacks --json`.", - "- Stack manifests may declare related skills; inspect package details with `rudi which ` when workflow behavior matters.", - "- Install a stack with its missing related skills: `rudi install --with-related-skills`.", + "- Every stack declares a primary operator skill; inspect it and any optional companions with `rudi which `.", + "- The operator is installed automatically with the stack. Add all optional companions with `rudi install --with-related-skills`.", "- Rebuild router cache: `rudi index --json`.", "- Daemon status: `rudi daemon status --json`.", "", @@ -24598,6 +24777,10 @@ Installed stacks:`); if (stack.description) { console.log(`About: ${stack.description}`); } + const operatorSkillLine = formatOperatorSkillLine(stack); + if (operatorSkillLine) { + console.log(operatorSkillLine); + } const relatedSkillsLine = formatRelatedSkillsLine(stack); if (relatedSkillsLine) { console.log(relatedSkillsLine); @@ -24627,9 +24810,9 @@ Installed stacks:`); console.log("Commands:"); console.log(` rudi run ${stack.id} Test the stack`); console.log(` rudi secrets ${stack.id} Configure secrets`); - if (getRelatedSkillIds(stack).length > 0) { + if (relatedSkillsLine) { console.log(` rudi install ${stack.id} --with-related-skills`); - console.log(` Install editable related skills`); + console.log(` Install optional companion skills`); } if (runtimeInfo.entry) { console.log(""); From cd3cc162e30b9d775ca8d5fdf4cb5fa4bccfb2b4 Mon Sep 17 00:00:00 2001 From: Prompt Stack Date: Tue, 4 Aug 2026 19:51:30 -0400 Subject: [PATCH 3/7] feat: validate registry package lifecycle metadata Normalize lifecycle fields at the registry boundary and reject malformed maturity, support, deprecation dates, and replacement package IDs. --- .../__tests__/unit/registry-contract.test.js | 36 ++++++ .../registry-client/src/registry-contract.js | 111 ++++++++++++++++++ 2 files changed, 147 insertions(+) diff --git a/packages/registry-client/src/__tests__/unit/registry-contract.test.js b/packages/registry-client/src/__tests__/unit/registry-contract.test.js index afc7cac..1badcbc 100644 --- a/packages/registry-client/src/__tests__/unit/registry-contract.test.js +++ b/packages/registry-client/src/__tests__/unit/registry-contract.test.js @@ -48,6 +48,16 @@ const v2Index = { description: 'Demo package', category: 'testing', }, + lifecycle: { + maturity: 'stable', + support: 'maintenance', + deprecation: { + announcedAt: '2026-08-02', + message: 'Use stack:replacement for new installs.', + replacementId: 'stack:replacement', + removalAfter: '2026-11-01', + }, + }, }, }, }; @@ -80,13 +90,39 @@ test('registry contract: enumerates canonical v2 packages', () => { description: v2Packages[0].description, category: v2Packages[0].category, command: v2Packages[0].command, + lifecycle: v2Packages[0].lifecycle, }, { description: 'Demo package', category: 'testing', command: ['node', 'src/index.js'], + lifecycle: { + maturity: 'stable', + support: 'maintenance', + deprecation: { + announcedAt: '2026-08-02', + message: 'Use stack:replacement for new installs.', + replacementId: 'stack:replacement', + removalAfter: '2026-11-01', + }, + }, }); }); +test('registry contract: rejects invalid lifecycle metadata at the client boundary', () => { + assert.throws( + () => listRegistryPackages({ + ...v2Index, + packages: { + 'stack:demo': { + ...v2Index.packages['stack:demo'], + lifecycle: { maturity: 'beta', support: 'supported' }, + }, + }, + }, 'stack'), + /Registry package stack:demo lifecycle.maturity is invalid/ + ); +}); + test('registry contract: rejects unsupported explicit schema versions', () => { assert.throws( () => detectRegistrySchema({ schemaVersion: '3', packages: {} }), diff --git a/packages/registry-client/src/registry-contract.js b/packages/registry-client/src/registry-contract.js index ae5f4c0..3f17a15 100644 --- a/packages/registry-client/src/registry-contract.js +++ b/packages/registry-client/src/registry-contract.js @@ -71,6 +71,114 @@ function normalizeSecrets(requires) { }; } +const PACKAGE_ID_PATTERN = /^(runtime|binary|agent|stack|skill|prompt):[a-z0-9][a-z0-9-_]*$/; +const PACKAGE_MATURITY = new Set(['experimental', 'stable']); +const PACKAGE_SUPPORT = new Set(['supported', 'maintenance', 'unsupported']); + +function isCalendarDate(value) { + if (typeof value !== 'string' || !/^\d{4}-\d{2}-\d{2}$/.test(value)) return false; + const parsed = new Date(`${value}T00:00:00.000Z`); + return !Number.isNaN(parsed.getTime()) && parsed.toISOString().slice(0, 10) === value; +} + +function normalizePackageLifecycle(value, packageId) { + if (value === undefined) return undefined; + const lifecycle = asObject(value, `Registry package ${packageId} lifecycle`); + const lifecycleKeys = new Set(['maturity', 'support', 'deprecation']); + const unknownLifecycleKey = Object.keys(lifecycle).find((key) => !lifecycleKeys.has(key)); + if (unknownLifecycleKey) { + throw new RegistryContractError( + `Registry package ${packageId} lifecycle contains unsupported field: ${unknownLifecycleKey}`, + { packageId } + ); + } + if (!PACKAGE_MATURITY.has(lifecycle.maturity)) { + throw new RegistryContractError( + `Registry package ${packageId} lifecycle.maturity is invalid`, + { packageId } + ); + } + if (!PACKAGE_SUPPORT.has(lifecycle.support)) { + throw new RegistryContractError( + `Registry package ${packageId} lifecycle.support is invalid`, + { packageId } + ); + } + + let deprecation; + if (lifecycle.deprecation !== undefined) { + deprecation = asObject( + lifecycle.deprecation, + `Registry package ${packageId} lifecycle.deprecation` + ); + const deprecationKeys = new Set([ + 'announcedAt', + 'message', + 'replacementId', + 'removalAfter', + ]); + const unknownDeprecationKey = Object.keys(deprecation) + .find((key) => !deprecationKeys.has(key)); + if (unknownDeprecationKey) { + throw new RegistryContractError( + `Registry package ${packageId} lifecycle.deprecation contains unsupported field: ${unknownDeprecationKey}`, + { packageId } + ); + } + if (!isCalendarDate(deprecation.announcedAt)) { + throw new RegistryContractError( + `Registry package ${packageId} lifecycle.deprecation.announcedAt is invalid`, + { packageId } + ); + } + if (typeof deprecation.message !== 'string' || deprecation.message.trim() === '') { + throw new RegistryContractError( + `Registry package ${packageId} lifecycle.deprecation.message is required`, + { packageId } + ); + } + if ( + deprecation.replacementId !== undefined && + !PACKAGE_ID_PATTERN.test(deprecation.replacementId) + ) { + throw new RegistryContractError( + `Registry package ${packageId} lifecycle.deprecation.replacementId is invalid`, + { packageId } + ); + } + if ( + deprecation.removalAfter !== undefined && + !isCalendarDate(deprecation.removalAfter) + ) { + throw new RegistryContractError( + `Registry package ${packageId} lifecycle.deprecation.removalAfter is invalid`, + { packageId } + ); + } + if ( + deprecation.removalAfter !== undefined && + deprecation.removalAfter < deprecation.announcedAt + ) { + throw new RegistryContractError( + `Registry package ${packageId} lifecycle.deprecation.removalAfter precedes announcedAt`, + { packageId } + ); + } + } + if (lifecycle.support === 'unsupported' && deprecation === undefined) { + throw new RegistryContractError( + `Registry package ${packageId} with unsupported lifecycle support requires deprecation guidance`, + { packageId } + ); + } + + return { + maturity: lifecycle.maturity, + support: lifecycle.support, + ...(deprecation ? { deprecation: { ...deprecation } } : {}), + }; +} + function legacyInstallType(source) { if (source === 'download') return 'binary'; if (source === 'npm' || source === 'pip' || source === 'system') return source; @@ -103,6 +211,9 @@ export function normalizeRegistryPackage(value, kindHint) { path: pkg.path || install.path, description: pkg.description || meta.description, category: pkg.category || meta.category, + ...(pkg.lifecycle === undefined + ? {} + : { lifecycle: normalizePackageLifecycle(pkg.lifecycle, pkg.id) }), tags: pkg.tags || meta.tags, icon: pkg.icon || meta.icon, author: pkg.author || meta.author, From b23ce7fe684176a62355c4cd5f835d378712fdf6 Mon Sep 17 00:00:00 2001 From: Prompt Stack Date: Tue, 4 Aug 2026 19:51:36 -0400 Subject: [PATCH 4/7] feat: show package lifecycle guidance in CLI output Render maturity, support, deprecation, replacement, and removal details consistently in search, list, and info views. --- src/__tests__/unit/package-lifecycle.test.js | 29 ++++++++++++++++++++ src/commands/info.js | 2 ++ src/commands/list.js | 3 ++ src/commands/package-lifecycle.js | 23 ++++++++++++++++ src/commands/search.js | 3 ++ 5 files changed, 60 insertions(+) create mode 100644 src/__tests__/unit/package-lifecycle.test.js create mode 100644 src/commands/package-lifecycle.js diff --git a/src/__tests__/unit/package-lifecycle.test.js b/src/__tests__/unit/package-lifecycle.test.js new file mode 100644 index 0000000..05dfd81 --- /dev/null +++ b/src/__tests__/unit/package-lifecycle.test.js @@ -0,0 +1,29 @@ +import assert from 'node:assert/strict'; +import test from 'node:test'; + +import { formatPackageLifecycleLines } from '../../commands/package-lifecycle.js'; + +test('package lifecycle formatter exposes maturity, support, and deprecation guidance', () => { + assert.deepEqual(formatPackageLifecycleLines({ + id: 'stack:demo', + lifecycle: { + maturity: 'stable', + support: 'maintenance', + deprecation: { + announcedAt: '2026-08-02', + message: 'Use the replacement for new installs.', + replacementId: 'stack:replacement', + removalAfter: '2026-11-01', + }, + }, + }), [ + 'Lifecycle: stable · maintenance', + 'Deprecated since 2026-08-02: Use the replacement for new installs.', + 'Replacement: stack:replacement', + 'Removal after: 2026-11-01', + ]); +}); + +test('package lifecycle formatter treats omitted metadata as unclassified', () => { + assert.deepEqual(formatPackageLifecycleLines({ id: 'stack:demo' }), []); +}); diff --git a/src/commands/info.js b/src/commands/info.js index 378bc2a..4469eb4 100644 --- a/src/commands/info.js +++ b/src/commands/info.js @@ -14,6 +14,7 @@ import fs from 'fs'; import path from 'path'; import { getPackagePath, parsePackageId, PATHS } from '@learnrudi/env'; import { getShimOwner, validateShim } from '@learnrudi/core'; +import { printPackageLifecycle } from './package-lifecycle.js'; export async function cmdInfo(args, flags) { const pkgId = args[0]; @@ -58,6 +59,7 @@ export async function cmdInfo(args, flags) { const installType = manifest?.installType || (manifest?.npmPackage ? 'npm' : manifest?.pipPackage ? 'pip' : kind); console.log(` Install Type: ${installType}`); + printPackageLifecycle(manifest, ' '); // Source if (manifest?.source) { diff --git a/src/commands/list.js b/src/commands/list.js index 3d3eeb6..7950c26 100644 --- a/src/commands/list.js +++ b/src/commands/list.js @@ -13,6 +13,7 @@ import { listInstalled } from '@learnrudi/core'; import { detectAllMcpServers, getInstalledAgents, getMcpServerSummary, AGENT_CONFIGS } from '@learnrudi/mcp'; import { formatOperatorSkillLine, formatRelatedSkillsLine } from './related-skills.js'; +import { printPackageLifecycle } from './package-lifecycle.js'; function pluralizeKind(kind) { if (!kind) return 'packages'; @@ -183,6 +184,7 @@ export async function cmdList(args, flags) { if (pkg.description) { console.log(` ${pkg.description}`); } + printPackageLifecycle(pkg, ' '); if (pkg.requires && pkg.requires.stacks && pkg.requires.stacks.length > 0) { console.log(` Requires: ${pkg.requires.stacks.join(', ')}`); } @@ -223,6 +225,7 @@ export async function cmdList(args, flags) { if (pkg.description) { console.log(` ${pkg.description}`); } + printPackageLifecycle(pkg, ' '); if (pkg.category) { console.log(` Category: ${pkg.category}`); } diff --git a/src/commands/package-lifecycle.js b/src/commands/package-lifecycle.js new file mode 100644 index 0000000..3756db6 --- /dev/null +++ b/src/commands/package-lifecycle.js @@ -0,0 +1,23 @@ +export function formatPackageLifecycleLines(pkg) { + const lifecycle = pkg?.lifecycle; + if (!lifecycle) return []; + + const lines = [`Lifecycle: ${lifecycle.maturity} · ${lifecycle.support}`]; + const deprecation = lifecycle.deprecation; + if (!deprecation) return lines; + + lines.push(`Deprecated since ${deprecation.announcedAt}: ${deprecation.message}`); + if (deprecation.replacementId) { + lines.push(`Replacement: ${deprecation.replacementId}`); + } + if (deprecation.removalAfter) { + lines.push(`Removal after: ${deprecation.removalAfter}`); + } + return lines; +} + +export function printPackageLifecycle(pkg, indent = '') { + for (const line of formatPackageLifecycleLines(pkg)) { + console.log(`${indent}${line}`); + } +} diff --git a/src/commands/search.js b/src/commands/search.js index ed34ccb..0f21a95 100644 --- a/src/commands/search.js +++ b/src/commands/search.js @@ -3,6 +3,7 @@ */ import { fetchIndex, searchPackages, listPackages } from '@learnrudi/core'; +import { printPackageLifecycle } from './package-lifecycle.js'; function pluralizeKind(kind) { if (!kind) return 'packages'; @@ -103,6 +104,7 @@ export async function cmdSearch(args, flags) { if (pkg.version) { console.log(` v${pkg.version}`); } + printPackageLifecycle(pkg, ' '); console.log(); } } @@ -170,6 +172,7 @@ async function listAllPackages(flags) { const runtime = pkg.runtime ? ` [${pkg.runtime.replace('runtime:', '')}]` : ''; console.log(` ${id}${runtime}`); console.log(` ${pkg.description || 'No description'}`); + printPackageLifecycle(pkg, ' '); } } From 7e01809d3e305f2b5d790a44248ec75cee78393d Mon Sep 17 00:00:00 2001 From: Prompt Stack Date: Tue, 4 Aug 2026 19:51:40 -0400 Subject: [PATCH 5/7] docs: replace static stack inventory with discovery guidance --- README.md | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 8754758..0a7d772 100644 --- a/README.md +++ b/README.md @@ -345,16 +345,17 @@ Each package installs to its own directory. Shims are thin wrappers that set up ## Available Stacks -| Stack | Description | Required Secrets | -|-------|-------------|------------------| -| slack | Channels, messages, reactions | `SLACK_BOT_TOKEN` | -| google-workspace | Gmail, Sheets, Docs, Drive | `GOOGLE_CLIENT_ID`, `GOOGLE_CLIENT_SECRET` | -| notion-workspace | Pages, databases, search | `NOTION_API_KEY` | -| github | Issues, PRs, repos, actions | `GITHUB_TOKEN` | -| postgres | SQL queries | `DATABASE_URL` | -| stripe | Payments, subscriptions | `STRIPE_SECRET_KEY` | -| openai | DALL-E, Whisper, TTS | `OPENAI_API_KEY` | -| google-ai | Gemini, Imagen | `GOOGLE_AI_API_KEY` | +The registry inventory changes independently of the CLI. Discover the current +catalog instead of relying on a checked-in list: + +```bash +rudi search --all --stacks +``` + +When a registry package declares lifecycle metadata, package search, listings, +and `rudi info` show its maturity, support posture, and any deprecation, +replacement, or removal guidance. Packages without lifecycle metadata are +unclassified; the CLI does not infer support from version numbers. ## Available Binaries From f944a46474731884c1cffd75fe65507880f974a6 Mon Sep 17 00:00:00 2001 From: Prompt Stack Date: Tue, 4 Aug 2026 19:52:07 -0400 Subject: [PATCH 6/7] build: refresh CLI distribution for package lifecycle metadata --- dist/index.cjs | 685 ++++++++++++++++++++++++++----------------------- 1 file changed, 357 insertions(+), 328 deletions(-) diff --git a/dist/index.cjs b/dist/index.cjs index 1fb797b..c28797c 100755 --- a/dist/index.cjs +++ b/dist/index.cjs @@ -32,7 +32,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge mod )); -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/env/src/index.js +// packages/env/src/index.js function getNodeRuntimeRoot() { return import_path.default.join(PATHS.runtimes, "node"); } @@ -387,7 +387,7 @@ function getInstalledPackages(kind) { } var import_path, import_os, import_fs, RUDI_HOME, CLAUDE_HOME, PATHS, PACKAGE_KINDS; var init_src = __esm({ - "../../../../Users/hoff/dev/RUDI/apps/cli/packages/env/src/index.js"() { + "packages/env/src/index.js"() { import_path = __toESM(require("path"), 1); import_os = __toESM(require("os"), 1); import_fs = __toESM(require("fs"), 1); @@ -440,7 +440,7 @@ var init_src = __esm({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/@learnrudi+env@1.0.0/node_modules/@learnrudi/env/src/index.js +// node_modules/.pnpm/@learnrudi+env@1.0.0/node_modules/@learnrudi/env/src/index.js function getPlatformArch2() { const platform = import_os2.default.platform(); const arch = import_os2.default.arch(); @@ -449,7 +449,7 @@ function getPlatformArch2() { } var import_path2, import_os2, RUDI_HOME2, PATHS2; var init_src2 = __esm({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/@learnrudi+env@1.0.0/node_modules/@learnrudi/env/src/index.js"() { + "node_modules/.pnpm/@learnrudi+env@1.0.0/node_modules/@learnrudi/env/src/index.js"() { import_path2 = __toESM(require("path"), 1); import_os2 = __toESM(require("os"), 1); RUDI_HOME2 = import_path2.default.join(import_os2.default.homedir(), ".rudi"); @@ -490,7 +490,7 @@ var init_src2 = __esm({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/registry-client/src/registry-contract.js +// packages/registry-client/src/registry-contract.js function asObject(value, label) { if (!value || typeof value !== "object" || Array.isArray(value)) { throw new RegistryContractError(`${label} must be an object`); @@ -787,7 +787,7 @@ function getRegistryPackage(value, id, kinds) { } var PACKAGE_KINDS2, RegistryContractError, PACKAGE_ID_PATTERN, PACKAGE_MATURITY, PACKAGE_SUPPORT; var init_registry_contract = __esm({ - "../../../../Users/hoff/dev/RUDI/apps/cli/packages/registry-client/src/registry-contract.js"() { + "packages/registry-client/src/registry-contract.js"() { PACKAGE_KINDS2 = /* @__PURE__ */ new Set([ "stack", "skill", @@ -810,7 +810,7 @@ var init_registry_contract = __esm({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/registry-client/src/index.js +// packages/registry-client/src/index.js function assertCommandArg(value, label) { if (typeof value !== "string" || value.length === 0 || value.includes("\0")) { throw new Error(`Invalid command ${label}`); @@ -1867,7 +1867,7 @@ async function verifyHash(filePath, expectedHash) { } var import_fs2, import_path3, import_crypto, import_child_process, DEFAULT_REGISTRY_URL, RUNTIMES_DOWNLOAD_BASE, CACHE_TTL, PACKAGE_KINDS3, GITHUB_RAW_BASE, RUNTIMES_RELEASE_VERSION; var init_src3 = __esm({ - "../../../../Users/hoff/dev/RUDI/apps/cli/packages/registry-client/src/index.js"() { + "packages/registry-client/src/index.js"() { import_fs2 = __toESM(require("fs"), 1); import_path3 = __toESM(require("path"), 1); import_crypto = __toESM(require("crypto"), 1); @@ -1884,7 +1884,7 @@ var init_src3 = __esm({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/resolver.js +// packages/core/src/resolver.js async function getInstallableRegistryPackage(id) { const pkg = await getPackage(id); if (!pkg) return null; @@ -2182,16 +2182,16 @@ function compareVersions(a, b) { } var SINGLE_FILE_KINDS; var init_resolver = __esm({ - "../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/resolver.js"() { + "packages/core/src/resolver.js"() { init_src3(); init_src(); SINGLE_FILE_KINDS = /* @__PURE__ */ new Set(["skill", "prompt", "workflow"]); } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/identity.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/identity.js var require_identity = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/identity.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/identity.js"(exports2) { "use strict"; var ALIAS = /* @__PURE__ */ Symbol.for("yaml.alias"); var DOC = /* @__PURE__ */ Symbol.for("yaml.document"); @@ -2246,9 +2246,9 @@ var require_identity = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/visit.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/visit.js var require_visit = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/visit.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/visit.js"(exports2) { "use strict"; var identity = require_identity(); var BREAK = /* @__PURE__ */ Symbol("break visit"); @@ -2404,9 +2404,9 @@ var require_visit = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/directives.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/directives.js var require_directives = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/directives.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/directives.js"(exports2) { "use strict"; var identity = require_identity(); var visit = require_visit(); @@ -2575,9 +2575,9 @@ var require_directives = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/anchors.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/anchors.js var require_anchors = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/anchors.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/anchors.js"(exports2) { "use strict"; var identity = require_identity(); var visit = require_visit(); @@ -2645,9 +2645,9 @@ var require_anchors = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/applyReviver.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/applyReviver.js var require_applyReviver = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/applyReviver.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/applyReviver.js"(exports2) { "use strict"; function applyReviver(reviver, obj, key, val) { if (val && typeof val === "object") { @@ -2695,9 +2695,9 @@ var require_applyReviver = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/toJS.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/toJS.js var require_toJS = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/toJS.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/toJS.js"(exports2) { "use strict"; var identity = require_identity(); function toJS(value, arg, ctx) { @@ -2725,9 +2725,9 @@ var require_toJS = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Node.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Node.js var require_Node = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Node.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Node.js"(exports2) { "use strict"; var applyReviver = require_applyReviver(); var identity = require_identity(); @@ -2766,9 +2766,9 @@ var require_Node = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Alias.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Alias.js var require_Alias = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Alias.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Alias.js"(exports2) { "use strict"; var anchors = require_anchors(); var visit = require_visit(); @@ -2880,9 +2880,9 @@ var require_Alias = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Scalar.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Scalar.js var require_Scalar = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Scalar.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Scalar.js"(exports2) { "use strict"; var identity = require_identity(); var Node = require_Node(); @@ -2910,9 +2910,9 @@ var require_Scalar = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/createNode.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/createNode.js var require_createNode = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/createNode.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/createNode.js"(exports2) { "use strict"; var Alias = require_Alias(); var identity = require_identity(); @@ -2985,9 +2985,9 @@ var require_createNode = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Collection.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Collection.js var require_Collection = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Collection.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Collection.js"(exports2) { "use strict"; var createNode = require_createNode(); var identity = require_identity(); @@ -3128,9 +3128,9 @@ var require_Collection = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyComment.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyComment.js var require_stringifyComment = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyComment.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyComment.js"(exports2) { "use strict"; var stringifyComment = (str) => str.replace(/^(?!$)(?: $)?/gm, "#"); function indentComment(comment, indent) { @@ -3145,9 +3145,9 @@ var require_stringifyComment = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/foldFlowLines.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/foldFlowLines.js var require_foldFlowLines = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/foldFlowLines.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/foldFlowLines.js"(exports2) { "use strict"; var FOLD_FLOW = "flow"; var FOLD_BLOCK = "block"; @@ -3281,9 +3281,9 @@ ${indent}${text.slice(fold + 1, end2)}`; } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyString.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyString.js var require_stringifyString = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyString.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyString.js"(exports2) { "use strict"; var Scalar = require_Scalar(); var foldFlowLines = require_foldFlowLines(); @@ -3564,9 +3564,9 @@ ${indent}`); } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringify.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringify.js var require_stringify = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringify.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringify.js"(exports2) { "use strict"; var anchors = require_anchors(); var identity = require_identity(); @@ -3687,9 +3687,9 @@ ${ctx.indent}${str}`; } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyPair.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyPair.js var require_stringifyPair = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyPair.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyPair.js"(exports2) { "use strict"; var identity = require_identity(); var Scalar = require_Scalar(); @@ -3820,9 +3820,9 @@ ${ctx.indent}`; } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/log.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/log.js var require_log = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/log.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/log.js"(exports2) { "use strict"; var node_process = require("process"); function debug(logLevel, ...messages) { @@ -3842,9 +3842,9 @@ var require_log = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/merge.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/merge.js var require_merge = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/merge.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/merge.js"(exports2) { "use strict"; var identity = require_identity(); var Scalar = require_Scalar(); @@ -3899,9 +3899,9 @@ var require_merge = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/addPairToJSMap.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/addPairToJSMap.js var require_addPairToJSMap = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/addPairToJSMap.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/addPairToJSMap.js"(exports2) { "use strict"; var log = require_log(); var merge = require_merge(); @@ -3963,9 +3963,9 @@ var require_addPairToJSMap = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Pair.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Pair.js var require_Pair = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Pair.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/Pair.js"(exports2) { "use strict"; var createNode = require_createNode(); var stringifyPair = require_stringifyPair(); @@ -4003,9 +4003,9 @@ var require_Pair = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyCollection.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyCollection.js var require_stringifyCollection = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyCollection.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyCollection.js"(exports2) { "use strict"; var identity = require_identity(); var stringify = require_stringify(); @@ -4147,9 +4147,9 @@ ${indent}${end}`; } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/YAMLMap.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/YAMLMap.js var require_YAMLMap = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/YAMLMap.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/YAMLMap.js"(exports2) { "use strict"; var stringifyCollection = require_stringifyCollection(); var addPairToJSMap = require_addPairToJSMap(); @@ -4291,9 +4291,9 @@ var require_YAMLMap = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/map.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/map.js var require_map = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/map.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/map.js"(exports2) { "use strict"; var identity = require_identity(); var YAMLMap = require_YAMLMap(); @@ -4313,9 +4313,9 @@ var require_map = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/YAMLSeq.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/YAMLSeq.js var require_YAMLSeq = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/YAMLSeq.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/nodes/YAMLSeq.js"(exports2) { "use strict"; var createNode = require_createNode(); var stringifyCollection = require_stringifyCollection(); @@ -4429,9 +4429,9 @@ var require_YAMLSeq = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/seq.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/seq.js var require_seq = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/seq.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/seq.js"(exports2) { "use strict"; var identity = require_identity(); var YAMLSeq = require_YAMLSeq(); @@ -4451,9 +4451,9 @@ var require_seq = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/string.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/string.js var require_string = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/string.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/string.js"(exports2) { "use strict"; var stringifyString = require_stringifyString(); var string = { @@ -4470,9 +4470,9 @@ var require_string = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/null.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/null.js var require_null = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/null.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/common/null.js"(exports2) { "use strict"; var Scalar = require_Scalar(); var nullTag = { @@ -4488,9 +4488,9 @@ var require_null = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/bool.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/bool.js var require_bool = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/bool.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/bool.js"(exports2) { "use strict"; var Scalar = require_Scalar(); var boolTag = { @@ -4512,9 +4512,9 @@ var require_bool = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyNumber.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyNumber.js var require_stringifyNumber = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyNumber.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyNumber.js"(exports2) { "use strict"; function stringifyNumber({ format, minFractionDigits, tag, value }) { if (typeof value === "bigint") @@ -4539,9 +4539,9 @@ var require_stringifyNumber = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/float.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/float.js var require_float = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/float.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/float.js"(exports2) { "use strict"; var Scalar = require_Scalar(); var stringifyNumber = require_stringifyNumber(); @@ -4585,9 +4585,9 @@ var require_float = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/int.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/int.js var require_int = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/int.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/int.js"(exports2) { "use strict"; var stringifyNumber = require_stringifyNumber(); var intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value); @@ -4630,9 +4630,9 @@ var require_int = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/schema.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/schema.js var require_schema = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/schema.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/core/schema.js"(exports2) { "use strict"; var map = require_map(); var _null = require_null(); @@ -4658,9 +4658,9 @@ var require_schema = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/json/schema.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/json/schema.js var require_schema2 = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/json/schema.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/json/schema.js"(exports2) { "use strict"; var Scalar = require_Scalar(); var map = require_map(); @@ -4725,9 +4725,9 @@ var require_schema2 = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/binary.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/binary.js var require_binary = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/binary.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/binary.js"(exports2) { "use strict"; var node_buffer = require("buffer"); var Scalar = require_Scalar(); @@ -4791,9 +4791,9 @@ var require_binary = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/pairs.js var require_pairs = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/pairs.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/pairs.js"(exports2) { "use strict"; var identity = require_identity(); var Pair = require_Pair(); @@ -4869,9 +4869,9 @@ ${cn.comment}` : item.comment; } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/omap.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/omap.js var require_omap = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/omap.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/omap.js"(exports2) { "use strict"; var identity = require_identity(); var toJS = require_toJS(); @@ -4947,9 +4947,9 @@ var require_omap = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/bool.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/bool.js var require_bool2 = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/bool.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/bool.js"(exports2) { "use strict"; var Scalar = require_Scalar(); function boolStringify({ value, source }, ctx) { @@ -4979,9 +4979,9 @@ var require_bool2 = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/float.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/float.js var require_float2 = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/float.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/float.js"(exports2) { "use strict"; var Scalar = require_Scalar(); var stringifyNumber = require_stringifyNumber(); @@ -5028,9 +5028,9 @@ var require_float2 = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/int.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/int.js var require_int2 = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/int.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/int.js"(exports2) { "use strict"; var stringifyNumber = require_stringifyNumber(); var intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value); @@ -5107,9 +5107,9 @@ var require_int2 = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/set.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/set.js var require_set = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/set.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/set.js"(exports2) { "use strict"; var identity = require_identity(); var Pair = require_Pair(); @@ -5196,9 +5196,9 @@ var require_set = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js var require_timestamp = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js"(exports2) { "use strict"; var stringifyNumber = require_stringifyNumber(); function parseSexagesimal(str, asBigInt) { @@ -5284,9 +5284,9 @@ var require_timestamp = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/schema.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/schema.js var require_schema3 = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/schema.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/yaml-1.1/schema.js"(exports2) { "use strict"; var map = require_map(); var _null = require_null(); @@ -5328,9 +5328,9 @@ var require_schema3 = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/tags.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/tags.js var require_tags = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/tags.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/tags.js"(exports2) { "use strict"; var map = require_map(); var _null = require_null(); @@ -5422,9 +5422,9 @@ var require_tags = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/Schema.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/Schema.js var require_Schema = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/Schema.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/schema/Schema.js"(exports2) { "use strict"; var identity = require_identity(); var map = require_map(); @@ -5454,9 +5454,9 @@ var require_Schema = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyDocument.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyDocument.js var require_stringifyDocument = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyDocument.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/stringify/stringifyDocument.js"(exports2) { "use strict"; var identity = require_identity(); var stringify = require_stringify(); @@ -5534,9 +5534,9 @@ var require_stringifyDocument = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/Document.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/Document.js var require_Document = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/Document.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/doc/Document.js"(exports2) { "use strict"; var Alias = require_Alias(); var Collection = require_Collection(); @@ -5843,9 +5843,9 @@ var require_Document = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/errors.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/errors.js var require_errors = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/errors.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/errors.js"(exports2) { "use strict"; var YAMLError = class extends Error { constructor(name, pos, code, message) { @@ -5908,9 +5908,9 @@ ${pointer} } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-props.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-props.js var require_resolve_props = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-props.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-props.js"(exports2) { "use strict"; function resolveProps(tokens, { flow, indicator, next, offset, onError, parentIndent, startOnNewline }) { let spaceBefore = false; @@ -6042,9 +6042,9 @@ var require_resolve_props = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-contains-newline.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-contains-newline.js var require_util_contains_newline = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-contains-newline.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-contains-newline.js"(exports2) { "use strict"; function containsNewline(key) { if (!key) @@ -6084,9 +6084,9 @@ var require_util_contains_newline = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-flow-indent-check.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-flow-indent-check.js var require_util_flow_indent_check = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-flow-indent-check.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-flow-indent-check.js"(exports2) { "use strict"; var utilContainsNewline = require_util_contains_newline(); function flowIndentCheck(indent, fc, onError) { @@ -6102,9 +6102,9 @@ var require_util_flow_indent_check = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-map-includes.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-map-includes.js var require_util_map_includes = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-map-includes.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-map-includes.js"(exports2) { "use strict"; var identity = require_identity(); function mapIncludes(ctx, items, search) { @@ -6118,9 +6118,9 @@ var require_util_map_includes = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-map.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-map.js var require_resolve_block_map = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-map.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-map.js"(exports2) { "use strict"; var Pair = require_Pair(); var YAMLMap = require_YAMLMap(); @@ -6226,9 +6226,9 @@ var require_resolve_block_map = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-seq.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-seq.js var require_resolve_block_seq = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-seq.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-seq.js"(exports2) { "use strict"; var YAMLSeq = require_YAMLSeq(); var resolveProps = require_resolve_props(); @@ -6277,9 +6277,9 @@ var require_resolve_block_seq = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-end.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-end.js var require_resolve_end = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-end.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-end.js"(exports2) { "use strict"; function resolveEnd(end, offset, reqSpace, onError) { let comment = ""; @@ -6320,9 +6320,9 @@ var require_resolve_end = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-flow-collection.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-flow-collection.js var require_resolve_flow_collection = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-flow-collection.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-flow-collection.js"(exports2) { "use strict"; var identity = require_identity(); var Pair = require_Pair(); @@ -6514,9 +6514,9 @@ var require_resolve_flow_collection = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-collection.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-collection.js var require_compose_collection = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-collection.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-collection.js"(exports2) { "use strict"; var identity = require_identity(); var Scalar = require_Scalar(); @@ -6579,9 +6579,9 @@ var require_compose_collection = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-scalar.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-scalar.js var require_resolve_block_scalar = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-scalar.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-block-scalar.js"(exports2) { "use strict"; var Scalar = require_Scalar(); function resolveBlockScalar(ctx, scalar, onError) { @@ -6762,9 +6762,9 @@ var require_resolve_block_scalar = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-flow-scalar.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-flow-scalar.js var require_resolve_flow_scalar = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-flow-scalar.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/resolve-flow-scalar.js"(exports2) { "use strict"; var Scalar = require_Scalar(); var resolveEnd = require_resolve_end(); @@ -6981,9 +6981,9 @@ var require_resolve_flow_scalar = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-scalar.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-scalar.js var require_compose_scalar = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-scalar.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-scalar.js"(exports2) { "use strict"; var identity = require_identity(); var Scalar = require_Scalar(); @@ -7062,9 +7062,9 @@ var require_compose_scalar = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-empty-scalar-position.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-empty-scalar-position.js var require_util_empty_scalar_position = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-empty-scalar-position.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/util-empty-scalar-position.js"(exports2) { "use strict"; function emptyScalarPosition(offset, before, pos) { if (before) { @@ -7092,9 +7092,9 @@ var require_util_empty_scalar_position = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-node.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-node.js var require_compose_node = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-node.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-node.js"(exports2) { "use strict"; var Alias = require_Alias(); var identity = require_identity(); @@ -7193,9 +7193,9 @@ var require_compose_node = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-doc.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-doc.js var require_compose_doc = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-doc.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/compose-doc.js"(exports2) { "use strict"; var Document = require_Document(); var composeNode = require_compose_node(); @@ -7236,9 +7236,9 @@ var require_compose_doc = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/composer.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/composer.js var require_composer = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/composer.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/compose/composer.js"(exports2) { "use strict"; var node_process = require("process"); var directives = require_directives(); @@ -7442,9 +7442,9 @@ ${end.comment}` : end.comment; } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst-scalar.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst-scalar.js var require_cst_scalar = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst-scalar.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst-scalar.js"(exports2) { "use strict"; var resolveBlockScalar = require_resolve_block_scalar(); var resolveFlowScalar = require_resolve_flow_scalar(); @@ -7627,9 +7627,9 @@ var require_cst_scalar = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst-stringify.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst-stringify.js var require_cst_stringify = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst-stringify.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst-stringify.js"(exports2) { "use strict"; var stringify = (cst) => "type" in cst ? stringifyToken(cst) : stringifyItem(cst); function stringifyToken(token) { @@ -7688,9 +7688,9 @@ var require_cst_stringify = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst-visit.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst-visit.js var require_cst_visit = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst-visit.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst-visit.js"(exports2) { "use strict"; var BREAK = /* @__PURE__ */ Symbol("break visit"); var SKIP = /* @__PURE__ */ Symbol("skip children"); @@ -7750,9 +7750,9 @@ var require_cst_visit = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst.js var require_cst = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/cst.js"(exports2) { "use strict"; var cstScalar = require_cst_scalar(); var cstStringify = require_cst_stringify(); @@ -7852,9 +7852,9 @@ var require_cst = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/lexer.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/lexer.js var require_lexer = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/lexer.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/lexer.js"(exports2) { "use strict"; var cst = require_cst(); function isEmpty(ch) { @@ -8431,9 +8431,9 @@ var require_lexer = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/line-counter.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/line-counter.js var require_line_counter = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/line-counter.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/line-counter.js"(exports2) { "use strict"; var LineCounter = class { constructor() { @@ -8462,9 +8462,9 @@ var require_line_counter = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/parser.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/parser.js var require_parser = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/parser.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/parse/parser.js"(exports2) { "use strict"; var node_process = require("process"); var cst = require_cst(); @@ -9329,9 +9329,9 @@ var require_parser = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/public-api.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/public-api.js var require_public_api = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/public-api.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/public-api.js"(exports2) { "use strict"; var composer = require_composer(); var Document = require_Document(); @@ -9426,9 +9426,9 @@ var require_public_api = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/index.js +// node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/index.js var require_dist = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/index.js"(exports2) { + "node_modules/.pnpm/yaml@2.8.2/node_modules/yaml/dist/index.js"(exports2) { "use strict"; var composer = require_composer(); var Document = require_Document(); @@ -9478,7 +9478,7 @@ var require_dist = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/lockfile.js +// packages/core/src/lockfile.js async function writeLockfile(resolved) { const lockPath = getLockfilePath(resolved.id); const lockDir = import_path4.default.dirname(lockPath); @@ -9596,7 +9596,7 @@ async function cleanOrphanedLockfiles() { } var import_fs3, import_path4, import_yaml; var init_lockfile = __esm({ - "../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/lockfile.js"() { + "packages/core/src/lockfile.js"() { import_fs3 = __toESM(require("fs"), 1); import_path4 = __toESM(require("path"), 1); import_yaml = __toESM(require_dist(), 1); @@ -9604,7 +9604,7 @@ var init_lockfile = __esm({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/shims.js +// packages/core/src/shims.js var shims_exports = {}; __export(shims_exports, { createShimsForTool: () => createShimsForTool, @@ -9794,14 +9794,14 @@ function validateShim(bin) { } var import_fs4, import_path5; var init_shims = __esm({ - "../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/shims.js"() { + "packages/core/src/shims.js"() { import_fs4 = __toESM(require("fs"), 1); import_path5 = __toESM(require("path"), 1); init_src(); } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/installer.js +// packages/core/src/installer.js function getInstallPathForPackage(pkg) { if (!pkg || typeof pkg.id !== "string") { throw new Error("Package metadata requires an id"); @@ -11322,7 +11322,7 @@ async function installPythonRequirements(pythonPath, onProgress) { } var import_fs5, import_os3, import_path6, import_child_process2, import_promises, import_fs6, SINGLE_FILE_KINDS2, WORKFLOW_EXTENSIONS, DEFAULT_STACK_STATE_PATHS, NPM_PACKAGE_PATTERN, PIP_PACKAGE_PATTERN, SHELL_CONTROL_PATTERN; var init_installer = __esm({ - "../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/installer.js"() { + "packages/core/src/installer.js"() { import_fs5 = __toESM(require("fs"), 1); import_os3 = __toESM(require("os"), 1); import_path6 = __toESM(require("path"), 1); @@ -11343,7 +11343,7 @@ var init_installer = __esm({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/deps.js +// packages/core/src/deps.js function checkRuntime(runtime) { const name = runtime.replace(/^runtime:/, ""); const rudiPath = import_path7.default.join(PATHS.runtimes, name); @@ -11555,7 +11555,7 @@ async function getAllDepsFromRegistry() { } var import_fs7, import_path7, import_child_process3; var init_deps = __esm({ - "../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/deps.js"() { + "packages/core/src/deps.js"() { import_fs7 = __toESM(require("fs"), 1); import_path7 = __toESM(require("path"), 1); import_child_process3 = require("child_process"); @@ -11564,7 +11564,7 @@ var init_deps = __esm({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/rudi-config.js +// packages/core/src/rudi-config.js function createRudiConfig() { const now = (/* @__PURE__ */ new Date()).toISOString(); return { @@ -11802,7 +11802,7 @@ function updateSecretStatus(secretName, configured, provider) { } var fs7, path8, RUDI_JSON_PATH, RUDI_JSON_TMP, RUDI_JSON_LOCK, CONFIG_MODE, LOCK_TIMEOUT_MS; var init_rudi_config = __esm({ - "../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/rudi-config.js"() { + "packages/core/src/rudi-config.js"() { fs7 = __toESM(require("fs"), 1); path8 = __toESM(require("path"), 1); init_src(); @@ -11814,7 +11814,7 @@ var init_rudi_config = __esm({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/tool-index.js +// packages/core/src/tool-index.js function loadSecrets() { try { const content = fs8.readFileSync(SECRETS_PATH, "utf-8"); @@ -12112,7 +12112,7 @@ async function indexAllStacks(options = {}) { } var import_child_process4, fs8, path9, readline, TOOL_INDEX_PATH, TOOL_INDEX_TMP, SECRETS_PATH, REQUEST_TIMEOUT_MS, PROTOCOL_VERSION; var init_tool_index = __esm({ - "../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/tool-index.js"() { + "packages/core/src/tool-index.js"() { import_child_process4 = require("child_process"); fs8 = __toESM(require("fs"), 1); path9 = __toESM(require("path"), 1); @@ -12127,7 +12127,7 @@ var init_tool_index = __esm({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/system-registry.js +// packages/core/src/system-registry.js async function registerSystemBinary(name, options = {}) { const { searchPaths = getDefaultSearchPaths(), @@ -12261,7 +12261,7 @@ function getSystemBinaryInfo(name) { } var import_fs8, import_path8, import_child_process5; var init_system_registry = __esm({ - "../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/system-registry.js"() { + "packages/core/src/system-registry.js"() { import_fs8 = __toESM(require("fs"), 1); import_path8 = __toESM(require("path"), 1); import_child_process5 = require("child_process"); @@ -12270,7 +12270,7 @@ var init_system_registry = __esm({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/secrets/src/index.js +// packages/secrets/src/index.js function isSecretsObject(value) { return value !== null && typeof value === "object" && !Array.isArray(value); } @@ -12368,7 +12368,7 @@ function getStorageInfo() { } var fs10, path11, SECRETS_FILE; var init_src4 = __esm({ - "../../../../Users/hoff/dev/RUDI/apps/cli/packages/secrets/src/index.js"() { + "packages/secrets/src/index.js"() { fs10 = __toESM(require("fs"), 1); path11 = __toESM(require("path"), 1); init_src(); @@ -12376,7 +12376,7 @@ var init_src4 = __esm({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/stack-lifecycle.js +// packages/core/src/stack-lifecycle.js function checkInstalled(stackId, stackConfig) { try { if (stackConfig.installed !== true) { @@ -12676,7 +12676,7 @@ async function checkStackLifecycle(stackId, stackConfig, opts = {}) { } var import_node_fs, import_node_path; var init_stack_lifecycle = __esm({ - "../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/stack-lifecycle.js"() { + "packages/core/src/stack-lifecycle.js"() { import_node_fs = __toESM(require("node:fs"), 1); import_node_path = __toESM(require("node:path"), 1); init_src4(); @@ -12684,7 +12684,7 @@ var init_stack_lifecycle = __esm({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/index.js +// packages/core/src/index.js var src_exports = {}; __export(src_exports, { CLAUDE_HOME: () => CLAUDE_HOME, @@ -12784,7 +12784,7 @@ __export(src_exports, { writeToolIndex: () => writeToolIndex }); var init_src5 = __esm({ - "../../../../Users/hoff/dev/RUDI/apps/cli/packages/core/src/index.js"() { + "packages/core/src/index.js"() { init_src(); init_src3(); init_resolver(); @@ -12799,9 +12799,9 @@ var init_src5 = __esm({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/code.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/code.js var require_code = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/code.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/code.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.regexpCode = exports2.getEsmExportName = exports2.getProperty = exports2.safeStringify = exports2.stringify = exports2.strConcat = exports2.addCodeArg = exports2.str = exports2._ = exports2.nil = exports2._Code = exports2.Name = exports2.IDENTIFIER = exports2._CodeOrName = void 0; @@ -12953,9 +12953,9 @@ var require_code = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/scope.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/scope.js var require_scope = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/scope.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/scope.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.ValueScope = exports2.ValueScopeName = exports2.Scope = exports2.varKinds = exports2.UsedValueState = void 0; @@ -13098,9 +13098,9 @@ var require_scope = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/index.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/index.js var require_codegen = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/index.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/codegen/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.or = exports2.and = exports2.not = exports2.CodeGen = exports2.operators = exports2.varKinds = exports2.ValueScopeName = exports2.ValueScope = exports2.Scope = exports2.Name = exports2.regexpCode = exports2.stringify = exports2.getProperty = exports2.nil = exports2.strConcat = exports2.str = exports2._ = void 0; @@ -13818,9 +13818,9 @@ var require_codegen = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/util.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/util.js var require_util = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/util.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/util.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.checkStrictMode = exports2.getErrorPath = exports2.Type = exports2.useFunc = exports2.setEvaluated = exports2.evaluatedPropsToName = exports2.mergeEvaluated = exports2.eachItem = exports2.unescapeJsonPointer = exports2.escapeJsonPointer = exports2.escapeFragment = exports2.unescapeFragment = exports2.schemaRefOrVal = exports2.schemaHasRulesButRef = exports2.schemaHasRules = exports2.checkUnknownRules = exports2.alwaysValidSchema = exports2.toHash = void 0; @@ -13985,9 +13985,9 @@ var require_util = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/names.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/names.js var require_names = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/names.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/names.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -14024,9 +14024,9 @@ var require_names = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/errors.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/errors.js var require_errors2 = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/errors.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/errors.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.extendErrors = exports2.resetErrorsCount = exports2.reportExtraError = exports2.reportError = exports2.keyword$DataError = exports2.keywordError = void 0; @@ -14146,9 +14146,9 @@ var require_errors2 = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/boolSchema.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/boolSchema.js var require_boolSchema = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/boolSchema.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/boolSchema.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.boolOrEmptySchema = exports2.topBoolOrEmptySchema = void 0; @@ -14197,9 +14197,9 @@ var require_boolSchema = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/rules.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/rules.js var require_rules = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/rules.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/rules.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getRules = exports2.isJSONType = void 0; @@ -14228,9 +14228,9 @@ var require_rules = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/applicability.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/applicability.js var require_applicability = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/applicability.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/applicability.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.shouldUseRule = exports2.shouldUseGroup = exports2.schemaHasRulesForType = void 0; @@ -14251,9 +14251,9 @@ var require_applicability = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/dataType.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/dataType.js var require_dataType = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/dataType.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/dataType.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.reportTypeError = exports2.checkDataTypes = exports2.checkDataType = exports2.coerceAndCheckDataType = exports2.getJSONTypes = exports2.getSchemaTypes = exports2.DataType = void 0; @@ -14435,9 +14435,9 @@ var require_dataType = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/defaults.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/defaults.js var require_defaults = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/defaults.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/defaults.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.assignDefaults = void 0; @@ -14472,9 +14472,9 @@ var require_defaults = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/code.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/code.js var require_code2 = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/code.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/code.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.validateUnion = exports2.validateArray = exports2.usePattern = exports2.callValidateCode = exports2.schemaProperties = exports2.allSchemaProperties = exports2.noPropertyInData = exports2.propertyInData = exports2.isOwnProperty = exports2.hasPropFunc = exports2.reportMissingProp = exports2.checkMissingProp = exports2.checkReportMissingProp = void 0; @@ -14605,9 +14605,9 @@ var require_code2 = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/keyword.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/keyword.js var require_keyword = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/keyword.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/keyword.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.validateKeywordUsage = exports2.validSchemaType = exports2.funcKeywordCode = exports2.macroKeywordCode = void 0; @@ -14723,9 +14723,9 @@ var require_keyword = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/subschema.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/subschema.js var require_subschema = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/subschema.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/subschema.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.extendSubschemaMode = exports2.extendSubschemaData = exports2.getSubschema = void 0; @@ -14806,9 +14806,9 @@ var require_subschema = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js +// node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js var require_fast_deep_equal = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js"(exports2, module2) { + "node_modules/.pnpm/fast-deep-equal@3.1.3/node_modules/fast-deep-equal/index.js"(exports2, module2) { "use strict"; module2.exports = function equal(a, b) { if (a === b) return true; @@ -14841,9 +14841,9 @@ var require_fast_deep_equal = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js +// node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js var require_json_schema_traverse = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js"(exports2, module2) { + "node_modules/.pnpm/json-schema-traverse@1.0.0/node_modules/json-schema-traverse/index.js"(exports2, module2) { "use strict"; var traverse = module2.exports = function(schema, opts, cb) { if (typeof opts == "function") { @@ -14929,9 +14929,9 @@ var require_json_schema_traverse = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/resolve.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/resolve.js var require_resolve = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/resolve.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/resolve.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getSchemaRefs = exports2.resolveUrl = exports2.normalizeId = exports2._getFullPath = exports2.getFullPath = exports2.inlineRef = void 0; @@ -15085,9 +15085,9 @@ var require_resolve = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/index.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/index.js var require_validate = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/index.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/validate/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.getData = exports2.KeywordCxt = exports2.validateFunctionCode = void 0; @@ -15593,9 +15593,9 @@ var require_validate = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/validation_error.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/validation_error.js var require_validation_error = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/validation_error.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/validation_error.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var ValidationError = class extends Error { @@ -15609,9 +15609,9 @@ var require_validation_error = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/ref_error.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/ref_error.js var require_ref_error = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/ref_error.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/ref_error.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var resolve_1 = require_resolve(); @@ -15626,9 +15626,9 @@ var require_ref_error = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/index.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/index.js var require_compile = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/index.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/compile/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.resolveSchema = exports2.getCompilingSchema = exports2.resolveRef = exports2.compileSchema = exports2.SchemaEnv = void 0; @@ -15850,9 +15850,9 @@ var require_compile = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/data.json +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/data.json var require_data = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/data.json"(exports2, module2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/data.json"(exports2, module2) { module2.exports = { $id: "https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#", description: "Meta-schema for $data reference (JSON AnySchema extension proposal)", @@ -15869,9 +15869,9 @@ var require_data = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js +// node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js var require_utils = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js"(exports2, module2) { + "node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/utils.js"(exports2, module2) { "use strict"; var isUUID = RegExp.prototype.test.bind(/^[\da-f]{8}-[\da-f]{4}-[\da-f]{4}-[\da-f]{4}-[\da-f]{12}$/iu); var isIPv4 = RegExp.prototype.test.bind(/^(?:(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)\.){3}(?:25[0-5]|2[0-4]\d|1\d{2}|[1-9]\d|\d)$/u); @@ -16126,9 +16126,9 @@ var require_utils = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/schemes.js +// node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/schemes.js var require_schemes = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/schemes.js"(exports2, module2) { + "node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/lib/schemes.js"(exports2, module2) { "use strict"; var { isUUID } = require_utils(); var URN_REG = /([\da-z][\d\-a-z]{0,31}):((?:[\w!$'()*+,\-.:;=@]|%[\da-f]{2})+)/iu; @@ -16336,9 +16336,9 @@ var require_schemes = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/index.js +// node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/index.js var require_fast_uri = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/index.js"(exports2, module2) { + "node_modules/.pnpm/fast-uri@3.1.0/node_modules/fast-uri/index.js"(exports2, module2) { "use strict"; var { normalizeIPv6, removeDotSegments, recomposeAuthority, normalizeComponentEncoding, isIPv4, nonSimpleDomain } = require_utils(); var { SCHEMES, getSchemeHandler } = require_schemes(); @@ -16591,9 +16591,9 @@ var require_fast_uri = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/uri.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/uri.js var require_uri = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/uri.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/uri.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var uri = require_fast_uri(); @@ -16602,9 +16602,9 @@ var require_uri = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/core.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/core.js var require_core = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/core.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/core.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.CodeGen = exports2.Name = exports2.nil = exports2.stringify = exports2.str = exports2._ = exports2.KeywordCxt = void 0; @@ -17213,9 +17213,9 @@ var require_core = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/id.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/id.js var require_id = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/id.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/id.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var def = { @@ -17228,9 +17228,9 @@ var require_id = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/ref.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/ref.js var require_ref = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/ref.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/ref.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.callRef = exports2.getValidate = void 0; @@ -17350,9 +17350,9 @@ var require_ref = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/index.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/index.js var require_core2 = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/index.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/core/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var id_1 = require_id(); @@ -17371,9 +17371,9 @@ var require_core2 = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitNumber.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitNumber.js var require_limitNumber = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitNumber.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitNumber.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -17403,9 +17403,9 @@ var require_limitNumber = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/multipleOf.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/multipleOf.js var require_multipleOf = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/multipleOf.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/multipleOf.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -17431,9 +17431,9 @@ var require_multipleOf = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/ucs2length.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/ucs2length.js var require_ucs2length = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/ucs2length.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/ucs2length.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); function ucs2length(str) { @@ -17457,9 +17457,9 @@ var require_ucs2length = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitLength.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitLength.js var require_limitLength = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitLength.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitLength.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -17489,9 +17489,9 @@ var require_limitLength = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/pattern.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/pattern.js var require_pattern = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/pattern.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/pattern.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var code_1 = require_code2(); @@ -17517,9 +17517,9 @@ var require_pattern = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitProperties.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitProperties.js var require_limitProperties = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitProperties.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitProperties.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -17546,9 +17546,9 @@ var require_limitProperties = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/required.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/required.js var require_required = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/required.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/required.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var code_1 = require_code2(); @@ -17628,9 +17628,9 @@ var require_required = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitItems.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitItems.js var require_limitItems = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitItems.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/limitItems.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -17657,9 +17657,9 @@ var require_limitItems = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/equal.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/equal.js var require_equal = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/equal.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/runtime/equal.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var equal = require_fast_deep_equal(); @@ -17668,9 +17668,9 @@ var require_equal = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js var require_uniqueItems = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/uniqueItems.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var dataType_1 = require_dataType(); @@ -17735,9 +17735,9 @@ var require_uniqueItems = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/const.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/const.js var require_const = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/const.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/const.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -17764,9 +17764,9 @@ var require_const = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/enum.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/enum.js var require_enum = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/enum.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/enum.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -17813,9 +17813,9 @@ var require_enum = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/index.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/index.js var require_validation = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/index.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/validation/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var limitNumber_1 = require_limitNumber(); @@ -17851,9 +17851,9 @@ var require_validation = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js var require_additionalItems = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalItems.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.validateAdditionalItems = void 0; @@ -17904,9 +17904,9 @@ var require_additionalItems = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items.js var require_items = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.validateTuple = void 0; @@ -17961,9 +17961,9 @@ var require_items = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js var require_prefixItems = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/prefixItems.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var items_1 = require_items(); @@ -17978,9 +17978,9 @@ var require_prefixItems = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items2020.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items2020.js var require_items2020 = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items2020.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/items2020.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -18013,9 +18013,9 @@ var require_items2020 = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/contains.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/contains.js var require_contains = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/contains.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/contains.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -18107,9 +18107,9 @@ var require_contains = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/dependencies.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/dependencies.js var require_dependencies = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/dependencies.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/dependencies.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.validateSchemaDeps = exports2.validatePropertyDeps = exports2.error = void 0; @@ -18201,9 +18201,9 @@ var require_dependencies = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js var require_propertyNames = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/propertyNames.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -18244,9 +18244,9 @@ var require_propertyNames = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js var require_additionalProperties = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/additionalProperties.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var code_1 = require_code2(); @@ -18350,9 +18350,9 @@ var require_additionalProperties = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/properties.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/properties.js var require_properties = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/properties.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/properties.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var validate_1 = require_validate(); @@ -18408,9 +18408,9 @@ var require_properties = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js var require_patternProperties = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/patternProperties.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var code_1 = require_code2(); @@ -18482,9 +18482,9 @@ var require_patternProperties = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/not.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/not.js var require_not = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/not.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/not.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var util_1 = require_util(); @@ -18513,9 +18513,9 @@ var require_not = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/anyOf.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/anyOf.js var require_anyOf = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/anyOf.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/anyOf.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var code_1 = require_code2(); @@ -18530,9 +18530,9 @@ var require_anyOf = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/oneOf.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/oneOf.js var require_oneOf = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/oneOf.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/oneOf.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -18588,9 +18588,9 @@ var require_oneOf = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/allOf.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/allOf.js var require_allOf = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/allOf.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/allOf.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var util_1 = require_util(); @@ -18615,9 +18615,9 @@ var require_allOf = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/if.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/if.js var require_if = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/if.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/if.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -18684,9 +18684,9 @@ var require_if = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/thenElse.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/thenElse.js var require_thenElse = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/thenElse.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/thenElse.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var util_1 = require_util(); @@ -18702,9 +18702,9 @@ var require_thenElse = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/index.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/index.js var require_applicator = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/index.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/applicator/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var additionalItems_1 = require_additionalItems(); @@ -18750,9 +18750,9 @@ var require_applicator = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/format.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/format.js var require_format = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/format.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/format.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -18840,9 +18840,9 @@ var require_format = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/index.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/index.js var require_format2 = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/index.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/format/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var format_1 = require_format(); @@ -18851,9 +18851,9 @@ var require_format2 = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/metadata.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/metadata.js var require_metadata = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/metadata.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/metadata.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.contentVocabulary = exports2.metadataVocabulary = void 0; @@ -18874,9 +18874,9 @@ var require_metadata = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/draft7.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/draft7.js var require_draft7 = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/draft7.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/draft7.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var core_1 = require_core2(); @@ -18896,9 +18896,9 @@ var require_draft7 = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/types.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/types.js var require_types = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/types.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/types.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.DiscrError = void 0; @@ -18910,9 +18910,9 @@ var require_types = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/index.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/index.js var require_discriminator = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/index.js"(exports2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/vocabularies/discriminator/index.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var codegen_1 = require_codegen(); @@ -19015,9 +19015,9 @@ var require_discriminator = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/json-schema-draft-07.json +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/json-schema-draft-07.json var require_json_schema_draft_07 = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/json-schema-draft-07.json"(exports2, module2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/refs/json-schema-draft-07.json"(exports2, module2) { module2.exports = { $schema: "http://json-schema.org/draft-07/schema#", $id: "http://json-schema.org/draft-07/schema#", @@ -19172,9 +19172,9 @@ var require_json_schema_draft_07 = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/ajv.js +// node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/ajv.js var require_ajv = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/ajv.js"(exports2, module2) { + "node_modules/.pnpm/ajv@8.17.1/node_modules/ajv/dist/ajv.js"(exports2, module2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.MissingRefError = exports2.ValidationError = exports2.CodeGen = exports2.Name = exports2.nil = exports2.stringify = exports2.str = exports2._ = exports2.KeywordCxt = exports2.Ajv = void 0; @@ -19242,9 +19242,9 @@ var require_ajv = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/formats.js +// node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/formats.js var require_formats = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/formats.js"(exports2) { + "node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/formats.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.formatNames = exports2.fastFormats = exports2.fullFormats = void 0; @@ -19445,9 +19445,9 @@ var require_formats = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/limit.js +// node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/limit.js var require_limit = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/limit.js"(exports2) { + "node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/limit.js"(exports2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.formatLimitDefinition = void 0; @@ -19517,9 +19517,9 @@ var require_limit = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/index.js +// node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/index.js var require_dist2 = __commonJS({ - "../../../../Users/hoff/dev/RUDI/apps/cli/node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/index.js"(exports2, module2) { + "node_modules/.pnpm/ajv-formats@3.0.1_ajv@8.17.1/node_modules/ajv-formats/dist/index.js"(exports2, module2) { "use strict"; Object.defineProperty(exports2, "__esModule", { value: true }); var formats_1 = require_formats(); @@ -19559,7 +19559,7 @@ var require_dist2 = __commonJS({ } }); -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/utils/src/args.js +// packages/utils/src/args.js function parseArgs(argv) { const flags = {}; const args = []; @@ -19607,7 +19607,7 @@ function parseArgs(argv) { return { command, args, flags, passthrough }; } -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/utils/src/help.js +// packages/utils/src/help.js function printVersion(version) { console.log(`rudi v${version}`); } @@ -20157,6 +20157,30 @@ EXAMPLES // src/commands/search.js init_src5(); + +// src/commands/package-lifecycle.js +function formatPackageLifecycleLines(pkg) { + const lifecycle = pkg?.lifecycle; + if (!lifecycle) return []; + const lines = [`Lifecycle: ${lifecycle.maturity} \xB7 ${lifecycle.support}`]; + const deprecation = lifecycle.deprecation; + if (!deprecation) return lines; + lines.push(`Deprecated since ${deprecation.announcedAt}: ${deprecation.message}`); + if (deprecation.replacementId) { + lines.push(`Replacement: ${deprecation.replacementId}`); + } + if (deprecation.removalAfter) { + lines.push(`Removal after: ${deprecation.removalAfter}`); + } + return lines; +} +function printPackageLifecycle(pkg, indent = "") { + for (const line of formatPackageLifecycleLines(pkg)) { + console.log(`${indent}${line}`); + } +} + +// src/commands/search.js function pluralizeKind(kind) { if (!kind) return "packages"; if (kind === "binary") return "binaries"; @@ -20228,6 +20252,7 @@ Found ${results.length} package(s): if (pkg.version) { console.log(` v${pkg.version}`); } + printPackageLifecycle(pkg, " "); console.log(); } } @@ -20268,6 +20293,7 @@ ${headingForKind(k)} (${packages.length}):`); const runtime = pkg.runtime ? ` [${pkg.runtime.replace("runtime:", "")}]` : ""; console.log(` ${id}${runtime}`); console.log(` ${pkg.description || "No description"}`); + printPackageLifecycle(pkg, " "); } } console.log(` @@ -20286,7 +20312,7 @@ var path16 = __toESM(require("path"), 1); init_src5(); init_src4(); -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/mcp/src/agents.js +// packages/mcp/src/agents.js var import_fs9 = __toESM(require("fs"), 1); var import_path9 = __toESM(require("path"), 1); var import_os4 = __toESM(require("os"), 1); @@ -20522,7 +20548,7 @@ function getMcpServerSummary() { return summary; } -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/mcp/src/registry.js +// packages/mcp/src/registry.js var fs13 = __toESM(require("fs/promises"), 1); var path14 = __toESM(require("path"), 1); var os5 = __toESM(require("os"), 1); @@ -20945,6 +20971,7 @@ SKILLS (${packages.length}):`); if (pkg.description) { console.log(` ${pkg.description}`); } + printPackageLifecycle(pkg, " "); if (pkg.requires && pkg.requires.stacks && pkg.requires.stacks.length > 0) { console.log(` Requires: ${pkg.requires.stacks.join(", ")}`); } @@ -20981,6 +21008,7 @@ ${headingForKind2(pkgKind)} (${pkgs.length}):`); if (pkg.description) { console.log(` ${pkg.description}`); } + printPackageLifecycle(pkg, " "); if (pkg.category) { console.log(` Category: ${pkg.category}`); } @@ -22154,13 +22182,13 @@ Next steps:`); // src/commands/run.js init_src5(); -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/runner/src/spawn.js +// packages/runner/src/spawn.js var import_child_process6 = require("child_process"); var import_path11 = __toESM(require("path"), 1); var import_fs11 = __toESM(require("fs"), 1); init_src(); -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/runner/src/secrets.js +// packages/runner/src/secrets.js init_src4(); function loadSecrets3() { return loadSecrets2(); @@ -22210,7 +22238,7 @@ function redactSecrets(text, secrets) { return result; } -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/runner/src/spawn.js +// packages/runner/src/spawn.js function existingDirectory2(dirPath) { return typeof dirPath === "string" && import_fs11.default.existsSync(dirPath) && import_fs11.default.statSync(dirPath).isDirectory(); } @@ -22376,7 +22404,7 @@ function resolveRelativePath(value, basePath) { return value; } -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/manifest/src/stack.js +// packages/manifest/src/stack.js var import_yaml2 = __toESM(require_dist(), 1); var import_fs12 = __toESM(require("fs"), 1); var import_path12 = __toESM(require("path"), 1); @@ -22507,16 +22535,16 @@ function findStackManifest(dir) { return null; } -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/manifest/src/skill.js +// packages/manifest/src/skill.js var import_yaml3 = __toESM(require_dist(), 1); -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/manifest/src/prompt.js +// packages/manifest/src/prompt.js var import_yaml4 = __toESM(require_dist(), 1); -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/manifest/src/runtime.js +// packages/manifest/src/runtime.js var import_yaml5 = __toESM(require_dist(), 1); -// ../../../../Users/hoff/dev/RUDI/apps/cli/packages/manifest/src/validate.js +// packages/manifest/src/validate.js var import_ajv = __toESM(require_ajv(), 1); var import_ajv_formats = __toESM(require_dist2(), 1); var ajv = new import_ajv.default({ allErrors: true, strict: false }); @@ -27805,6 +27833,7 @@ Package: ${pkgId}`); console.log(` Install Dir: ${installPath}`); const installType = manifest?.installType || (manifest?.npmPackage ? "npm" : manifest?.pipPackage ? "pip" : kind); console.log(` Install Type: ${installType}`); + printPackageLifecycle(manifest, " "); if (manifest?.source) { if (typeof manifest.source === "string") { console.log(` Source: ${manifest.source}`); From 96afe0aa161f1be9cd8afd3f7cc6ee255d3a3064 Mon Sep 17 00:00:00 2001 From: Prompt Stack Date: Tue, 4 Aug 2026 19:54:28 -0400 Subject: [PATCH 7/7] test: resolve fixture paths on supported Node versions Replace import.meta.dirname with fileURLToPath so contract and smoke tests run on the package's declared Node 18+ range. --- src/__tests__/unit/agent-host-boundaries.test.js | 6 ++++-- src/__tests__/unit/daemon-process-smoke.test.js | 4 +++- src/__tests__/unit/quality-workflow-contract.test.js | 4 +++- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/src/__tests__/unit/agent-host-boundaries.test.js b/src/__tests__/unit/agent-host-boundaries.test.js index a46de70..07c6884 100644 --- a/src/__tests__/unit/agent-host-boundaries.test.js +++ b/src/__tests__/unit/agent-host-boundaries.test.js @@ -1,10 +1,12 @@ import assert from 'node:assert/strict'; import fs from 'node:fs'; +import { fileURLToPath } from 'node:url'; import path from 'node:path'; import test from 'node:test'; -const AGENT_HOST_ROOT = path.resolve(import.meta.dirname, '../../agent-host'); -const SOURCE_ROOT = path.resolve(import.meta.dirname, '../..'); +const TEST_DIR = path.dirname(fileURLToPath(import.meta.url)); +const AGENT_HOST_ROOT = path.resolve(TEST_DIR, '../../agent-host'); +const SOURCE_ROOT = path.resolve(TEST_DIR, '../..'); function listJavaScriptFiles(directory) { return fs.readdirSync(directory, { withFileTypes: true }).flatMap((entry) => { diff --git a/src/__tests__/unit/daemon-process-smoke.test.js b/src/__tests__/unit/daemon-process-smoke.test.js index b665b1a..bf18cef 100644 --- a/src/__tests__/unit/daemon-process-smoke.test.js +++ b/src/__tests__/unit/daemon-process-smoke.test.js @@ -5,8 +5,10 @@ import os from 'node:os'; import path from 'node:path'; import { spawn } from 'node:child_process'; import test from 'node:test'; +import { fileURLToPath } from 'node:url'; -const CLI_ENTRYPOINT = path.resolve(import.meta.dirname, '../../index.js'); +const TEST_DIR = path.dirname(fileURLToPath(import.meta.url)); +const CLI_ENTRYPOINT = path.resolve(TEST_DIR, '../../index.js'); async function waitForFile(filePath, child, timeoutMs = 5_000) { const deadline = Date.now() + timeoutMs; diff --git a/src/__tests__/unit/quality-workflow-contract.test.js b/src/__tests__/unit/quality-workflow-contract.test.js index b6ca019..842ce2e 100644 --- a/src/__tests__/unit/quality-workflow-contract.test.js +++ b/src/__tests__/unit/quality-workflow-contract.test.js @@ -2,8 +2,10 @@ import assert from 'node:assert/strict'; import fs from 'node:fs'; import path from 'node:path'; import test from 'node:test'; +import { fileURLToPath } from 'node:url'; -const REPO_ROOT = path.resolve(import.meta.dirname, '../../..'); +const TEST_DIR = path.dirname(fileURLToPath(import.meta.url)); +const REPO_ROOT = path.resolve(TEST_DIR, '../../..'); function read(relativePath) { return fs.readFileSync(path.join(REPO_ROOT, relativePath), 'utf8');