{"version":3,"file":"effort.cjs","names":["SettingsManager"],"sources":["../../src/extensions/effort.ts"],"sourcesContent":["import { type ExtensionAPI, SettingsManager } from '@earendil-works/pi-coding-agent';\n\ntype ThinkingLevel = 'off' | 'minimal' | 'low' | 'medium' | 'high' | 'xhigh' | 'max';\n\nconst THINKING_LEVELS: ThinkingLevel[] = ['off', 'minimal', 'low', 'medium', 'high', 'xhigh', 'max'];\n\nexport function parseEffortLevel(args: string): ThinkingLevel | undefined {\n  const [level] = args.trim().toLowerCase().split(/\\s+/).filter(Boolean);\n  return THINKING_LEVELS.find((candidate) => candidate === level);\n}\n\nexport function effortUsage(): string {\n  return `Usage: /effort <${THINKING_LEVELS.join('|')}>`;\n}\n\nexport default function effortExtension(pi: ExtensionAPI): void {\n  pi.registerCommand('effort', {\n    description: 'Set thinking effort and persist it as the default for future sessions',\n    getArgumentCompletions: (prefix) => {\n      const query = prefix.trim().toLowerCase();\n      return THINKING_LEVELS.filter((level) => level.startsWith(query)).map((level) => ({\n        value: level,\n        label: level,\n      }));\n    },\n    handler: async (args, ctx) => {\n      const requestedLevel = parseEffortLevel(args);\n      if (!requestedLevel) {\n        ctx.ui.notify(`${effortUsage()}\\nCurrent effort: ${pi.getThinkingLevel()}`, 'warning');\n        return;\n      }\n\n      pi.setThinkingLevel(requestedLevel);\n      const effectiveLevel = pi.getThinkingLevel();\n\n      const settings = SettingsManager.create(ctx.cwd);\n      settings.setDefaultThinkingLevel(requestedLevel);\n      await settings.flush();\n\n      const suffix = effectiveLevel === requestedLevel ? '' : ` Current model clamps it to ${effectiveLevel}.`;\n      ctx.ui.notify(`Effort set to ${requestedLevel} and saved for future sessions.${suffix}`, 'info');\n    },\n  });\n}\n"],"mappings":";;;;;;AAIA,MAAM,kBAAmC;CAAC;CAAO;CAAW;CAAO;CAAU;CAAQ;CAAS;AAAK;AAEnG,SAAgB,iBAAiB,MAAyC;CACxE,MAAM,CAAC,SAAS,KAAK,KAAK,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,OAAO,OAAO;CACrE,OAAO,gBAAgB,MAAM,cAAc,cAAc,KAAK;AAChE;AAEA,SAAgB,cAAsB;CACpC,OAAO,mBAAmB,gBAAgB,KAAK,GAAG,EAAE;AACtD;AAEA,SAAwB,gBAAgB,IAAwB;CAC9D,GAAG,gBAAgB,UAAU;EAC3B,aAAa;EACb,yBAAyB,WAAW;GAClC,MAAM,QAAQ,OAAO,KAAK,CAAC,CAAC,YAAY;GACxC,OAAO,gBAAgB,QAAQ,UAAU,MAAM,WAAW,KAAK,CAAC,CAAC,CAAC,KAAK,WAAW;IAChF,OAAO;IACP,OAAO;GACT,EAAE;EACJ;EACA,SAAS,OAAO,MAAM,QAAQ;GAC5B,MAAM,iBAAiB,iBAAiB,IAAI;GAC5C,IAAI,CAAC,gBAAgB;IACnB,IAAI,GAAG,OAAO,GAAG,YAAY,EAAE,oBAAoB,GAAG,iBAAiB,KAAK,SAAS;IACrF;GACF;GAEA,GAAG,iBAAiB,cAAc;GAClC,MAAM,iBAAiB,GAAG,iBAAiB;GAE3C,MAAM,WAAWA,gCAAAA,gBAAgB,OAAO,IAAI,GAAG;GAC/C,SAAS,wBAAwB,cAAc;GAC/C,MAAM,SAAS,MAAM;GAErB,MAAM,SAAS,mBAAmB,iBAAiB,KAAK,+BAA+B,eAAe;GACtG,IAAI,GAAG,OAAO,iBAAiB,eAAe,iCAAiC,UAAU,MAAM;EACjG;CACF,CAAC;AACH"}