{"version":3,"file":"index.mjs","names":[],"sources":["../../src/command/index.ts"],"sourcesContent":["import type { ExtensionAPI } from '@earendil-works/pi-coding-agent';\nimport { COMMAND_NAME, getSubcommandCompletions } from '@live-compaction/command/completions';\nimport { chooseScope, openPanel } from '@live-compaction/command/handlers';\nimport type { ConfigScope } from '@live-compaction/config';\nimport { createLiveCompactionController } from '@live-compaction/controller';\n\nexport function registerLiveCompactionCommand(pi: ExtensionAPI): void {\n\tconst controller = createLiveCompactionController();\n\n\tpi.registerCommand(COMMAND_NAME, {\n\t\tdescription: 'Inspect and configure live compaction',\n\t\tgetArgumentCompletions: getSubcommandCompletions,\n\t\thandler: async (args, ctx) => {\n\t\t\tconst normalized = args.trim().toLowerCase();\n\n\t\t\tif (normalized === 'show') {\n\t\t\t\tconst scope: ConfigScope = ctx.cwd ? 'project' : 'global';\n\t\t\t\tconst state = await controller.loadState(ctx, scope);\n\t\t\t\tctx.ui.notify(controller.summarizeState(state), 'info');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (normalized === 'verify') {\n\t\t\t\tconst status = await controller.refreshRuntimeStatus(ctx);\n\t\t\t\tctx.ui.notify(\n\t\t\t\t\tstatus.available ? 'Grounded compaction verification passed.' : status.issues.join(' | '),\n\t\t\t\t\tstatus.available ? 'info' : 'warning',\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (normalized === 'path') {\n\t\t\t\tconst { global, project } = controller.getPaths(ctx);\n\t\t\t\tctx.ui.notify(\n\t\t\t\t\tproject\n\t\t\t\t\t\t? `global: ${global.rootDir} | project: ${project.rootDir}`\n\t\t\t\t\t\t: `global: ${global.rootDir}`,\n\t\t\t\t\t'info',\n\t\t\t\t);\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (normalized === 'reset') {\n\t\t\t\tconst scope = ctx.hasUI\n\t\t\t\t\t? await chooseScope(ctx, Boolean(ctx.cwd))\n\t\t\t\t\t: ctx.cwd\n\t\t\t\t\t\t? 'project'\n\t\t\t\t\t\t: 'global';\n\t\t\t\tif (!scope) return;\n\t\t\t\tawait controller.resetScope(scope, ctx);\n\t\t\t\tctx.ui.notify(`Grounded compaction reset for ${scope} scope.`, 'info');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (normalized === 'help') {\n\t\t\t\tctx.ui.notify(controller.getUsageText(), 'info');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (normalized) {\n\t\t\t\tctx.ui.notify(controller.getUsageText(), 'warning');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif (!ctx.hasUI) {\n\t\t\t\tctx.ui.notify(`/${COMMAND_NAME} requires interactive mode.`, 'warning');\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tawait openPanel(ctx, controller);\n\t\t},\n\t});\n}\n"],"mappings":";;;;AAMA,SAAgB,8BAA8B,IAAwB;CACrE,MAAM,aAAa,+BAA+B;CAElD,GAAG,gBAAgB,cAAc;EAChC,aAAa;EACb,wBAAwB;EACxB,SAAS,OAAO,MAAM,QAAQ;GAC7B,MAAM,aAAa,KAAK,KAAK,CAAC,CAAC,YAAY;GAE3C,IAAI,eAAe,QAAQ;IAC1B,MAAM,QAAqB,IAAI,MAAM,YAAY;IACjD,MAAM,QAAQ,MAAM,WAAW,UAAU,KAAK,KAAK;IACnD,IAAI,GAAG,OAAO,WAAW,eAAe,KAAK,GAAG,MAAM;IACtD;GACD;GAEA,IAAI,eAAe,UAAU;IAC5B,MAAM,SAAS,MAAM,WAAW,qBAAqB,GAAG;IACxD,IAAI,GAAG,OACN,OAAO,YAAY,6CAA6C,OAAO,OAAO,KAAK,KAAK,GACxF,OAAO,YAAY,SAAS,SAC7B;IACA;GACD;GAEA,IAAI,eAAe,QAAQ;IAC1B,MAAM,EAAE,QAAQ,YAAY,WAAW,SAAS,GAAG;IACnD,IAAI,GAAG,OACN,UACG,WAAW,OAAO,QAAQ,cAAc,QAAQ,YAChD,WAAW,OAAO,WACrB,MACD;IACA;GACD;GAEA,IAAI,eAAe,SAAS;IAC3B,MAAM,QAAQ,IAAI,QACf,MAAM,YAAY,KAAK,QAAQ,IAAI,GAAG,CAAC,IACvC,IAAI,MACH,YACA;IACJ,IAAI,CAAC,OAAO;IACZ,MAAM,WAAW,WAAW,OAAO,GAAG;IACtC,IAAI,GAAG,OAAO,iCAAiC,MAAM,UAAU,MAAM;IACrE;GACD;GAEA,IAAI,eAAe,QAAQ;IAC1B,IAAI,GAAG,OAAO,WAAW,aAAa,GAAG,MAAM;IAC/C;GACD;GAEA,IAAI,YAAY;IACf,IAAI,GAAG,OAAO,WAAW,aAAa,GAAG,SAAS;IAClD;GACD;GAEA,IAAI,CAAC,IAAI,OAAO;IACf,IAAI,GAAG,OAAO,IAAI,aAAa,8BAA8B,SAAS;IACtE;GACD;GAEA,MAAM,UAAU,KAAK,UAAU;EAChC;CACD,CAAC;AACF"}