checkly 7.6.2-prerelease-4d99bc6 → 7.7.0-prerelease-04cc5a2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/ai-context/checkly.rules.md +12 -0
  2. package/dist/ai-context/context.d.ts +11 -0
  3. package/dist/ai-context/context.js +12 -1
  4. package/dist/ai-context/context.js.map +1 -1
  5. package/dist/ai-context/public-skills/checkly/README.md +4 -0
  6. package/dist/ai-context/public-skills/checkly/SKILL.md +14 -0
  7. package/dist/ai-context/skills-command/references/communicate-incidents.md +5 -1
  8. package/dist/ai-context/skills-command/references/configure.md +12 -0
  9. package/dist/ai-context/skills-command/references/initialize.md +22 -4
  10. package/dist/ai-context/skills-command/references/investigate-checks.md +22 -0
  11. package/dist/ai-context/skills-command/references/manage-plan.md +49 -0
  12. package/dist/ai-context/skills-command/references/manage.md +27 -0
  13. package/dist/commands/account/plan.d.ts +18 -0
  14. package/dist/commands/account/plan.js +139 -0
  15. package/dist/commands/account/plan.js.map +1 -0
  16. package/dist/commands/{skills.d.ts → skills/index.d.ts} +1 -1
  17. package/dist/commands/{skills.js → skills/index.js} +4 -4
  18. package/dist/commands/skills/index.js.map +1 -0
  19. package/dist/commands/skills/install.d.ts +17 -0
  20. package/dist/commands/skills/install.js +178 -0
  21. package/dist/commands/skills/install.js.map +1 -0
  22. package/dist/commands/whoami.js +8 -0
  23. package/dist/commands/whoami.js.map +1 -1
  24. package/dist/formatters/account-plan.d.ts +16 -0
  25. package/dist/formatters/account-plan.js +325 -0
  26. package/dist/formatters/account-plan.js.map +1 -0
  27. package/dist/help/help-extension.js +5 -1
  28. package/dist/help/help-extension.js.map +1 -1
  29. package/dist/helpers/cli-mode.js +12 -3
  30. package/dist/helpers/cli-mode.js.map +1 -1
  31. package/dist/rest/accounts.d.ts +7 -0
  32. package/dist/rest/accounts.js.map +1 -1
  33. package/dist/rest/api.d.ts +2 -0
  34. package/dist/rest/api.js +3 -1
  35. package/dist/rest/api.js.map +1 -1
  36. package/dist/rest/entitlements.d.ts +47 -0
  37. package/dist/rest/entitlements.js +13 -0
  38. package/dist/rest/entitlements.js.map +1 -0
  39. package/dist/tsconfig.tsbuildinfo +1 -1
  40. package/oclif.manifest.json +167 -37
  41. package/package.json +4 -4
  42. package/dist/commands/skills.js.map +0 -1
@@ -0,0 +1,178 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const core_1 = require("@oclif/core");
7
+ const fs_1 = require("fs");
8
+ const promises_1 = require("fs/promises");
9
+ const path_1 = require("path");
10
+ const prompts_1 = __importDefault(require("prompts"));
11
+ const cli_mode_1 = require("../../helpers/cli-mode");
12
+ const baseCommand_1 = require("../baseCommand");
13
+ const SKILL_FILE_PATH = (0, path_1.join)(__dirname, '../../ai-context/public-skills/checkly/SKILL.md');
14
+ const SKILL_FILENAME = 'SKILL.md';
15
+ const PLATFORM_TARGETS = {
16
+ 'amp': '.agents/skills/checkly',
17
+ 'claude': '.claude/skills/checkly',
18
+ 'cline': '.agents/skills/checkly',
19
+ 'codex': '.agents/skills/checkly',
20
+ 'continue': '.continue/skills/checkly',
21
+ 'cursor': '.cursor/skills/checkly',
22
+ 'gemini-cli': '.agents/skills/checkly',
23
+ 'github-copilot': '.agents/skills/checkly',
24
+ 'goose': '.goose/skills/checkly',
25
+ 'opencode': '.agents/skills/checkly',
26
+ 'roo': '.roo/skills/checkly',
27
+ 'windsurf': '.windsurf/skills/checkly',
28
+ };
29
+ const VALID_TARGETS = Object.keys(PLATFORM_TARGETS);
30
+ class SkillsInstall extends baseCommand_1.BaseCommand {
31
+ static hidden = false;
32
+ static idempotent = true;
33
+ static description = 'Install the Checkly agent skill (SKILL.md) into your project.';
34
+ static flags = {
35
+ target: core_1.Flags.string({
36
+ char: 't',
37
+ description: `Platform to install the skill for (${VALID_TARGETS.join(', ')}).`,
38
+ exclusive: ['path'],
39
+ }),
40
+ path: core_1.Flags.string({
41
+ char: 'p',
42
+ description: 'Custom target directory to install the skill into.',
43
+ exclusive: ['target'],
44
+ }),
45
+ force: core_1.Flags.boolean({
46
+ char: 'f',
47
+ description: 'Overwrite existing SKILL.md without confirmation.',
48
+ default: false,
49
+ }),
50
+ };
51
+ async run() {
52
+ const { flags } = await this.parse(SkillsInstall);
53
+ const skillContent = await this.readSkillFile();
54
+ const targetDir = this.resolveTarget(flags);
55
+ if (targetDir) {
56
+ await this.installSkill(skillContent, targetDir, flags.force);
57
+ return;
58
+ }
59
+ if ((0, cli_mode_1.detectCliMode)() !== 'interactive') {
60
+ const flagCol = '--target '.length;
61
+ const maxLen = Math.max(...VALID_TARGETS.map(t => t.length));
62
+ const descCol = flagCol + maxLen + 2;
63
+ const padTo = (flag, arg) => ` ${(flag + ' ' + arg).padEnd(descCol)}`;
64
+ this.log('Non-interactive mode detected. Use one of the following flags:\n');
65
+ for (const [name, dir] of Object.entries(PLATFORM_TARGETS)) {
66
+ this.log(`${padTo('--target', name)}Install to ${dir}/`);
67
+ }
68
+ this.log(`${padTo('--path', '<dir>')}Install to a custom directory`);
69
+ this.log(`${padTo('--force', '')}Overwrite existing SKILL.md without confirmation`);
70
+ this.log('\nExample: npx checkly skills install --target claude --force');
71
+ return;
72
+ }
73
+ const selectedDir = await this.promptForTarget();
74
+ if (!selectedDir) {
75
+ this.log('Cancelled. No skill file written.');
76
+ return;
77
+ }
78
+ await this.installSkill(skillContent, selectedDir, flags.force);
79
+ }
80
+ async readSkillFile() {
81
+ try {
82
+ return await (0, promises_1.readFile)(SKILL_FILE_PATH, 'utf8');
83
+ }
84
+ catch {
85
+ this.error(`Failed to read skill file at ${SKILL_FILE_PATH}`);
86
+ }
87
+ }
88
+ resolveTarget(flags) {
89
+ if (flags.path) {
90
+ return flags.path;
91
+ }
92
+ if (flags.target) {
93
+ const dir = PLATFORM_TARGETS[flags.target];
94
+ if (!dir) {
95
+ this.error(`Unknown target "${flags.target}".`
96
+ + `\n\nAvailable targets: ${VALID_TARGETS.join(', ')}`);
97
+ }
98
+ return dir;
99
+ }
100
+ return undefined;
101
+ }
102
+ async promptForTarget() {
103
+ const choices = [
104
+ ...Object.entries(PLATFORM_TARGETS).map(([platform, dir]) => ({
105
+ title: `${platform.charAt(0).toUpperCase() + platform.slice(1)} (${dir}/)`,
106
+ value: dir,
107
+ })),
108
+ {
109
+ title: 'Custom path',
110
+ value: '__custom__',
111
+ },
112
+ ];
113
+ const { target } = await (0, prompts_1.default)({
114
+ type: 'select',
115
+ name: 'target',
116
+ message: 'Where do you want to install the Checkly agent skill?',
117
+ choices,
118
+ initial: 0,
119
+ });
120
+ if (target === undefined) {
121
+ return undefined;
122
+ }
123
+ if (target === '__custom__') {
124
+ const { customPath } = await (0, prompts_1.default)({
125
+ type: 'text',
126
+ name: 'customPath',
127
+ message: 'Enter the target directory:',
128
+ });
129
+ return customPath || undefined;
130
+ }
131
+ return target;
132
+ }
133
+ async installSkill(content, targetDir, force) {
134
+ const absoluteDir = (0, path_1.join)(process.cwd(), targetDir);
135
+ const targetPath = (0, path_1.join)(absoluteDir, SKILL_FILENAME);
136
+ try {
137
+ await (0, promises_1.mkdir)(absoluteDir, { recursive: true });
138
+ }
139
+ catch {
140
+ this.error(`Failed to create directory ${absoluteDir}`);
141
+ }
142
+ if (!force) {
143
+ const shouldOverwrite = await this.confirmOverwrite(targetPath);
144
+ if (!shouldOverwrite) {
145
+ this.log(`Skipped ${targetPath}`);
146
+ return;
147
+ }
148
+ }
149
+ try {
150
+ await (0, promises_1.writeFile)(targetPath, content, 'utf8');
151
+ }
152
+ catch {
153
+ this.error(`Failed to write skill file to ${targetPath}`);
154
+ }
155
+ this.style.shortSuccess(`Installed Checkly agent skill to: ${targetPath}`);
156
+ }
157
+ async confirmOverwrite(targetPath) {
158
+ try {
159
+ await (0, promises_1.access)(targetPath, fs_1.constants.F_OK);
160
+ }
161
+ catch {
162
+ return true;
163
+ }
164
+ if ((0, cli_mode_1.detectCliMode)() !== 'interactive') {
165
+ this.log(`Skill file already exists at ${targetPath}. Use --force to overwrite.`);
166
+ return false;
167
+ }
168
+ const { overwrite } = await (0, prompts_1.default)({
169
+ type: 'confirm',
170
+ name: 'overwrite',
171
+ message: `Skill file already exists at ${targetPath}. Overwrite?`,
172
+ initial: false,
173
+ });
174
+ return overwrite ?? false;
175
+ }
176
+ }
177
+ exports.default = SkillsInstall;
178
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/commands/skills/install.ts"],"names":[],"mappings":";;;;;AAAA,sCAAmC;AACnC,2BAA8B;AAC9B,0CAAgE;AAChE,+BAA2B;AAC3B,sDAA6B;AAE7B,qDAAsD;AACtD,gDAA4C;AAE5C,MAAM,eAAe,GAAG,IAAA,WAAI,EAAC,SAAS,EAAE,iDAAiD,CAAC,CAAA;AAC1F,MAAM,cAAc,GAAG,UAAU,CAAA;AAEjC,MAAM,gBAAgB,GAA2B;IAC/C,KAAK,EAAE,wBAAwB;IAC/B,QAAQ,EAAE,wBAAwB;IAClC,OAAO,EAAE,wBAAwB;IACjC,OAAO,EAAE,wBAAwB;IACjC,UAAU,EAAE,0BAA0B;IACtC,QAAQ,EAAE,wBAAwB;IAClC,YAAY,EAAE,wBAAwB;IACtC,gBAAgB,EAAE,wBAAwB;IAC1C,OAAO,EAAE,uBAAuB;IAChC,UAAU,EAAE,wBAAwB;IACpC,KAAK,EAAE,qBAAqB;IAC5B,UAAU,EAAE,0BAA0B;CACvC,CAAA;AAED,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;AAEnD,MAAqB,aAAc,SAAQ,yBAAW;IACpD,MAAM,CAAC,MAAM,GAAG,KAAK,CAAA;IACrB,MAAM,CAAC,UAAU,GAAG,IAAI,CAAA;IACxB,MAAM,CAAC,WAAW,GAAG,+DAA+D,CAAA;IAEpF,MAAM,CAAC,KAAK,GAAG;QACb,MAAM,EAAE,YAAK,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,sCAAsC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAC/E,SAAS,EAAE,CAAC,MAAM,CAAC;SACpB,CAAC;QACF,IAAI,EAAE,YAAK,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,oDAAoD;YACjE,SAAS,EAAE,CAAC,QAAQ,CAAC;SACtB,CAAC;QACF,KAAK,EAAE,YAAK,CAAC,OAAO,CAAC;YACnB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,mDAAmD;YAChE,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAA;IAED,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;QAEjD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAA;QAE/C,MAAM,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAE3C,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;YAC7D,OAAM;QACR,CAAC;QAED,IAAI,IAAA,wBAAa,GAAE,KAAK,aAAa,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,CAAA;YAClC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;YAC5D,MAAM,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,CAAC,CAAA;YACpC,MAAM,KAAK,GAAG,CAAC,IAAY,EAAE,GAAW,EAAE,EAAE,CAC1C,KAAK,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAA;YAE3C,IAAI,CAAC,GAAG,CAAC,kEAAkE,CAAC,CAAA;YAC5E,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,GAAG,GAAG,CAAC,CAAA;YAC1D,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,+BAA+B,CAAC,CAAA;YACpE,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,SAAS,EAAE,EAAE,CAAC,kDAAkD,CAAC,CAAA;YACnF,IAAI,CAAC,GAAG,CAAC,+DAA+D,CAAC,CAAA;YACzE,OAAM;QACR,CAAC;QAED,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAA;QAChD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,IAAI,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAA;YAC7C,OAAM;QACR,CAAC;QAED,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;IACjE,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,IAAI,CAAC;YACH,OAAO,MAAM,IAAA,mBAAQ,EAAC,eAAe,EAAE,MAAM,CAAC,CAAA;QAChD,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,KAAK,CAAC,gCAAgC,eAAe,EAAE,CAAC,CAAA;QAC/D,CAAC;IACH,CAAC;IAEO,aAAa,CAAE,KAAyC;QAC9D,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,OAAO,KAAK,CAAC,IAAI,CAAA;QACnB,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,GAAG,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YAC1C,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,IAAI,CAAC,KAAK,CACR,mBAAmB,KAAK,CAAC,MAAM,IAAI;sBACjC,0BAA0B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACvD,CAAA;YACH,CAAC;YACD,OAAO,GAAG,CAAA;QACZ,CAAC;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,MAAM,OAAO,GAAG;YACd,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC5D,KAAK,EAAE,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI;gBAC1E,KAAK,EAAE,GAAG;aACX,CAAC,CAAC;YACH;gBACE,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE,YAAY;aACpB;SACF,CAAA;QAED,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,iBAAO,EAAC;YAC/B,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,uDAAuD;YAChE,OAAO;YACP,OAAO,EAAE,CAAC;SACX,CAAC,CAAA;QAEF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,OAAO,SAAS,CAAA;QAClB,CAAC;QAED,IAAI,MAAM,KAAK,YAAY,EAAE,CAAC;YAC5B,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,iBAAO,EAAC;gBACnC,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,YAAY;gBAClB,OAAO,EAAE,6BAA6B;aACvC,CAAC,CAAA;YACF,OAAO,UAAU,IAAI,SAAS,CAAA;QAChC,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAEO,KAAK,CAAC,YAAY,CAAE,OAAe,EAAE,SAAiB,EAAE,KAAc;QAC5E,MAAM,WAAW,GAAG,IAAA,WAAI,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,SAAS,CAAC,CAAA;QAClD,MAAM,UAAU,GAAG,IAAA,WAAI,EAAC,WAAW,EAAE,cAAc,CAAC,CAAA;QAEpD,IAAI,CAAC;YACH,MAAM,IAAA,gBAAK,EAAC,WAAW,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,KAAK,CAAC,8BAA8B,WAAW,EAAE,CAAC,CAAA;QACzD,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAA;YAC/D,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,IAAI,CAAC,GAAG,CAAC,WAAW,UAAU,EAAE,CAAC,CAAA;gBACjC,OAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,CAAC;YACH,MAAM,IAAA,oBAAS,EAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,CAAC,KAAK,CAAC,iCAAiC,UAAU,EAAE,CAAC,CAAA;QAC3D,CAAC;QAED,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,qCAAqC,UAAU,EAAE,CAAC,CAAA;IAC5E,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAE,UAAkB;QAChD,IAAI,CAAC;YACH,MAAM,IAAA,iBAAM,EAAC,UAAU,EAAE,cAAS,CAAC,IAAI,CAAC,CAAA;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,IAAA,wBAAa,GAAE,KAAK,aAAa,EAAE,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,gCAAgC,UAAU,6BAA6B,CAAC,CAAA;YACjF,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,iBAAO,EAAC;YAClC,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,gCAAgC,UAAU,cAAc;YACjE,OAAO,EAAE,KAAK;SACf,CAAC,CAAA;QAEF,OAAO,SAAS,IAAI,KAAK,CAAA;IAC3B,CAAC;;AA3KH,gCA4KC"}
@@ -34,6 +34,14 @@ class Whoami extends authCommand_1.AuthCommand {
34
34
  const account = this.account;
35
35
  const { data: user } = await api.user.get();
36
36
  this.log(`You are currently on account "${account.name}" (${account.id}) as ${user.name}.`);
37
+ if (account.planDisplayName) {
38
+ this.log(`Plan: ${account.planDisplayName}`);
39
+ }
40
+ const addons = account.addons ?? {};
41
+ const addonNames = Object.values(addons).map(a => a.tierDisplayName);
42
+ if (addonNames.length > 0) {
43
+ this.log(`Add-ons: ${addonNames.join(', ')}`);
44
+ }
37
45
  }
38
46
  }
39
47
  exports.default = Whoami;
@@ -1 +1 @@
1
- {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAkC;AAClC,+CAA2C;AAE3C,MAAqB,MAAO,SAAQ,yBAAW;IAC7C,MAAM,CAAC,MAAM,GAAG,KAAK,CAAA;IACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAA;IACtB,MAAM,CAAC,UAAU,GAAG,IAAI,CAAA;IACxB,MAAM,CAAC,WAAW,GAAG,gDAAgD,CAAA;IACrE,KAAK,CAAC,GAAG;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC5B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;QAC3C,IAAI,CAAC,GAAG,CAAC,iCAAiC,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,EAAE,QAAQ,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;IAC7F,CAAC;;AATH,yBAUC"}
1
+ {"version":3,"file":"whoami.js","sourceRoot":"","sources":["../../src/commands/whoami.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iDAAkC;AAClC,+CAA2C;AAE3C,MAAqB,MAAO,SAAQ,yBAAW;IAC7C,MAAM,CAAC,MAAM,GAAG,KAAK,CAAA;IACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAA;IACtB,MAAM,CAAC,UAAU,GAAG,IAAI,CAAA;IACxB,MAAM,CAAC,WAAW,GAAG,gDAAgD,CAAA;IACrE,KAAK,CAAC,GAAG;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAC5B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAA;QAC3C,IAAI,CAAC,GAAG,CAAC,iCAAiC,OAAO,CAAC,IAAI,MAAM,OAAO,CAAC,EAAE,QAAQ,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA;QAC3F,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC;YAC5B,IAAI,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,eAAe,EAAE,CAAC,CAAA;QAC9C,CAAC;QACD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,EAAE,CAAA;QACnC,MAAM,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,CAAA;QACpE,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,YAAY,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;;AAjBH,yBAkBC"}
@@ -0,0 +1,16 @@
1
+ import type { Entitlement, AccountPlan, AccountLocations } from '../rest/entitlements';
2
+ import { type OutputFormat } from './render';
3
+ export declare function formatUpgradePath(e: Entitlement): string | null;
4
+ export declare function formatLocations(locations: AccountLocations, format: OutputFormat): string;
5
+ export declare const CONTACT_SALES_URL = "https://www.checklyhq.com/contact-sales/";
6
+ /**
7
+ * Returns the appropriate upgrade URL for a disabled entitlement:
8
+ * - CONTRACT plan → contact sales
9
+ * - Self-serve plan/addon → billing checkout
10
+ * - No upgrade data → contact sales (fallback)
11
+ */
12
+ export declare function getEntitlementUpgradeUrl(e: Entitlement, checkoutUrl: string): string;
13
+ export declare function formatPlanHeader(plan: AccountPlan, format: OutputFormat, upgradeUrl?: string): string;
14
+ export declare function formatPlanSummary(plan: AccountPlan, format: OutputFormat, upgradeUrl?: string): string;
15
+ export declare function formatEntitlementDetail(plan: AccountPlan, entitlement: Entitlement, format: OutputFormat, upgradeUrl?: string): string;
16
+ export declare function formatFilteredEntitlements(plan: AccountPlan, filtered: Entitlement[], format: OutputFormat, upgradeUrl?: string): string;
@@ -0,0 +1,325 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.formatFilteredEntitlements = exports.formatEntitlementDetail = exports.formatPlanSummary = exports.formatPlanHeader = exports.getEntitlementUpgradeUrl = exports.CONTACT_SALES_URL = exports.formatLocations = exports.formatUpgradePath = void 0;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const render_1 = require("./render");
9
+ // --- Shared helpers ---
10
+ function formatEnabled(enabled, format) {
11
+ const label = enabled ? 'Yes' : 'No';
12
+ if (format === 'md')
13
+ return label;
14
+ return enabled ? chalk_1.default.green(label) : chalk_1.default.red(label);
15
+ }
16
+ // --- Upgrade path helper ---
17
+ function formatUpgradePath(e) {
18
+ if (e.enabled)
19
+ return null;
20
+ const parts = [];
21
+ if (e.requiredPlan) {
22
+ const planName = e.requiredPlanDisplayName || titleCase(e.requiredPlan);
23
+ parts.push(`${planName} plan`);
24
+ }
25
+ if (e.requiredAddon) {
26
+ const addonName = e.requiredAddon.displayName || titleCase(e.requiredAddon.name);
27
+ const tierName = e.requiredAddon.tierDisplayName || titleCase(e.requiredAddon.tier.replace(/^TIER_/, ''));
28
+ parts.push(`${addonName} ${tierName} add-on`);
29
+ }
30
+ return parts.length > 0 ? parts.join(' + ') : null;
31
+ }
32
+ exports.formatUpgradePath = formatUpgradePath;
33
+ function titleCase(s) {
34
+ return s.charAt(0).toUpperCase() + s.slice(1).toLowerCase();
35
+ }
36
+ // --- Locations helper ---
37
+ function formatLocations(locations, format) {
38
+ const available = locations.all.filter(l => l.available);
39
+ const total = locations.all.length;
40
+ const summary = `${available.length} of ${total} available (max ${locations.maxPerCheck} per check)`;
41
+ const lines = [];
42
+ if (format === 'md') {
43
+ lines.push(`**Locations:** ${summary}`);
44
+ }
45
+ else {
46
+ lines.push(`${chalk_1.default.cyan.bold('Locations:')} ${summary}`);
47
+ }
48
+ // Only list individual names when not all are available
49
+ if (available.length < total && available.length > 0) {
50
+ const names = available.map(l => l.name).join(', ');
51
+ if (format === 'md') {
52
+ lines.push('');
53
+ lines.push(names);
54
+ }
55
+ else {
56
+ lines.push(` ${chalk_1.default.dim(names)}`);
57
+ }
58
+ }
59
+ return lines.join('\n');
60
+ }
61
+ exports.formatLocations = formatLocations;
62
+ // --- Column definitions ---
63
+ const NAME_WIDTH = 50;
64
+ const UPGRADE_WIDTH = 45;
65
+ exports.CONTACT_SALES_URL = 'https://www.checklyhq.com/contact-sales/';
66
+ const CONTACT_SALES_LABEL = 'Contact sales';
67
+ /**
68
+ * Returns the appropriate upgrade URL for a disabled entitlement:
69
+ * - CONTRACT plan → contact sales
70
+ * - Self-serve plan/addon → billing checkout
71
+ * - No upgrade data → contact sales (fallback)
72
+ */
73
+ function getEntitlementUpgradeUrl(e, checkoutUrl) {
74
+ if (e.requiredPlan === 'CONTRACT')
75
+ return exports.CONTACT_SALES_URL;
76
+ if (e.requiredPlan || e.requiredAddon)
77
+ return checkoutUrl;
78
+ return exports.CONTACT_SALES_URL;
79
+ }
80
+ exports.getEntitlementUpgradeUrl = getEntitlementUpgradeUrl;
81
+ function upgradeLabel(e) {
82
+ if (e.enabled)
83
+ return '-';
84
+ return formatUpgradePath(e) ?? CONTACT_SALES_LABEL;
85
+ }
86
+ const upgradeColumn = {
87
+ header: 'Required Upgrade',
88
+ width: UPGRADE_WIDTH,
89
+ value: e => upgradeLabel(e),
90
+ };
91
+ const meteredColumns = [
92
+ {
93
+ header: 'Name',
94
+ width: NAME_WIDTH,
95
+ value: e => e.name,
96
+ },
97
+ {
98
+ header: 'Limit',
99
+ width: 10,
100
+ align: 'right',
101
+ value: e => e.quantity !== undefined ? String(e.quantity) : '-',
102
+ },
103
+ upgradeColumn,
104
+ {
105
+ header: 'Key',
106
+ value: e => chalk_1.default.dim(e.key),
107
+ },
108
+ ];
109
+ const flagColumns = [
110
+ {
111
+ header: 'Name',
112
+ width: NAME_WIDTH,
113
+ value: e => e.name,
114
+ },
115
+ {
116
+ header: 'Enabled',
117
+ width: 10,
118
+ value: (e, format) => formatEnabled(e.enabled, format),
119
+ },
120
+ upgradeColumn,
121
+ {
122
+ header: 'Key',
123
+ value: e => chalk_1.default.dim(e.key),
124
+ },
125
+ ];
126
+ const mixedColumns = [
127
+ {
128
+ header: 'Name',
129
+ width: NAME_WIDTH,
130
+ value: e => e.name,
131
+ },
132
+ {
133
+ header: 'Type',
134
+ width: 10,
135
+ value: e => e.type,
136
+ },
137
+ {
138
+ header: 'Enabled',
139
+ width: 10,
140
+ value: (e, fmt) => formatEnabled(e.enabled, fmt),
141
+ },
142
+ {
143
+ header: 'Limit',
144
+ width: 10,
145
+ align: 'right',
146
+ value: e => e.type === 'metered' && e.quantity !== undefined ? String(e.quantity) : '-',
147
+ },
148
+ upgradeColumn,
149
+ {
150
+ header: 'Key',
151
+ value: e => chalk_1.default.dim(e.key),
152
+ },
153
+ ];
154
+ // --- Detail view fields ---
155
+ const detailFields = (upgradeUrl) => [
156
+ { label: 'Key', value: e => e.key },
157
+ { label: 'Name', value: e => e.name },
158
+ { label: 'Description', value: e => e.description },
159
+ { label: 'Type', value: e => e.type },
160
+ {
161
+ label: 'Enabled',
162
+ value: (e, format) => formatEnabled(e.enabled, format),
163
+ },
164
+ {
165
+ label: 'Limit',
166
+ value: e => e.type === 'metered' && e.quantity !== undefined ? String(e.quantity) : null,
167
+ },
168
+ {
169
+ label: 'Required Upgrade',
170
+ value: e => e.enabled ? null : (formatUpgradePath(e) ?? CONTACT_SALES_LABEL),
171
+ },
172
+ {
173
+ label: 'Upgrade Link',
174
+ value: e => e.enabled ? null : getEntitlementUpgradeUrl(e, upgradeUrl),
175
+ },
176
+ ];
177
+ // --- Row highlighting ---
178
+ /**
179
+ * Post-process a rendered table to highlight rows where the entitlement
180
+ * is disabled (needs an upgrade). Applies magenta to the full row.
181
+ * Line 0 is the header — left untouched.
182
+ */
183
+ function highlightDisabledRows(tableStr, items) {
184
+ const tableLines = tableStr.split('\n');
185
+ return tableLines.map((line, i) => {
186
+ if (i === 0)
187
+ return line; // header row
188
+ const item = items[i - 1];
189
+ if (item && !item.enabled)
190
+ return chalk_1.default.magenta(line);
191
+ return line;
192
+ }).join('\n');
193
+ }
194
+ // --- Public formatting functions ---
195
+ function formatPlanHeader(plan, format, upgradeUrl) {
196
+ const lines = [];
197
+ if (format === 'md') {
198
+ lines.push(`# Plan: ${plan.planDisplayName}`);
199
+ if (upgradeUrl) {
200
+ lines.push(`Self-service upgrade: ${upgradeUrl}`);
201
+ lines.push(`For Enterprise: ${exports.CONTACT_SALES_URL}`);
202
+ }
203
+ }
204
+ else {
205
+ lines.push(`${chalk_1.default.cyan.bold('Plan:')} ${chalk_1.default.bold(plan.planDisplayName)}`);
206
+ if (upgradeUrl) {
207
+ lines.push(`${chalk_1.default.cyan.bold('Self-service upgrade:')} ${chalk_1.default.underline(upgradeUrl)}`);
208
+ lines.push(`${chalk_1.default.cyan.bold('For Enterprise:')} ${chalk_1.default.underline(exports.CONTACT_SALES_URL)}`);
209
+ }
210
+ }
211
+ // Locations
212
+ if (plan.locations) {
213
+ lines.push('');
214
+ lines.push(formatLocations(plan.locations, format));
215
+ }
216
+ const addonEntries = [];
217
+ if (plan.addons.communicate) {
218
+ addonEntries.push(`Communicate: ${plan.addons.communicate.tierDisplayName}`);
219
+ }
220
+ if (plan.addons.resolve) {
221
+ addonEntries.push(`Resolve: ${plan.addons.resolve.tierDisplayName}`);
222
+ }
223
+ if (addonEntries.length > 0) {
224
+ lines.push('');
225
+ if (format === 'md') {
226
+ lines.push('## Add-ons');
227
+ lines.push('');
228
+ for (const entry of addonEntries) {
229
+ lines.push(`- ${entry}`);
230
+ }
231
+ }
232
+ else {
233
+ lines.push(chalk_1.default.cyan.bold('Add-ons:'));
234
+ for (const entry of addonEntries) {
235
+ lines.push(` ${entry}`);
236
+ }
237
+ }
238
+ }
239
+ return lines.join('\n');
240
+ }
241
+ exports.formatPlanHeader = formatPlanHeader;
242
+ function formatPlanSummary(plan, format, upgradeUrl) {
243
+ const metered = [];
244
+ const enabledFlags = [];
245
+ const disabledFlags = [];
246
+ let enabledMeteredCount = 0;
247
+ for (const e of plan.entitlements) {
248
+ if (e.type === 'metered') {
249
+ metered.push(e);
250
+ if (e.enabled)
251
+ enabledMeteredCount++;
252
+ }
253
+ else if (e.enabled) {
254
+ enabledFlags.push(e);
255
+ }
256
+ else {
257
+ disabledFlags.push(e);
258
+ }
259
+ }
260
+ const lines = [];
261
+ lines.push(formatPlanHeader(plan, format, upgradeUrl));
262
+ lines.push('');
263
+ // Metered entitlements table
264
+ if (format === 'md') {
265
+ lines.push(`## Metered entitlements (${enabledMeteredCount} of ${metered.length} enabled)`);
266
+ }
267
+ else {
268
+ lines.push(chalk_1.default.cyan.bold(`Metered entitlements (${enabledMeteredCount} of ${metered.length} enabled):`));
269
+ }
270
+ lines.push('');
271
+ const tableStr = (0, render_1.renderTable)(meteredColumns, metered, format);
272
+ lines.push(format === 'terminal' ? highlightDisabledRows(tableStr, metered) : tableStr);
273
+ // Flag summary line
274
+ lines.push('');
275
+ if (format === 'md') {
276
+ lines.push(`${enabledFlags.length} additional features enabled, ${disabledFlags.length} not included in your plan.`);
277
+ lines.push('Use `--type flag` to see feature details, `--disabled` to see only missing features, or `--search` to filter.');
278
+ }
279
+ else {
280
+ lines.push(`${chalk_1.default.green.bold(String(enabledFlags.length))} additional features enabled, `
281
+ + `${chalk_1.default.magenta.bold(String(disabledFlags.length))} not included in your plan.`);
282
+ lines.push(chalk_1.default.dim('Use --type flag to see feature details, --disabled to see only missing features, or --search to filter.'));
283
+ }
284
+ return lines.join('\n');
285
+ }
286
+ exports.formatPlanSummary = formatPlanSummary;
287
+ function formatEntitlementDetail(plan, entitlement, format, upgradeUrl) {
288
+ const lines = [];
289
+ lines.push(formatPlanHeader(plan, format, upgradeUrl));
290
+ lines.push('');
291
+ lines.push((0, render_1.renderDetailFields)('Entitlement', detailFields(upgradeUrl || ''), entitlement, format));
292
+ return lines.join('\n');
293
+ }
294
+ exports.formatEntitlementDetail = formatEntitlementDetail;
295
+ function formatFilteredEntitlements(plan, filtered, format, upgradeUrl) {
296
+ const lines = [];
297
+ lines.push(formatPlanHeader(plan, format, upgradeUrl));
298
+ lines.push('');
299
+ if (filtered.length === 0) {
300
+ lines.push(format === 'md' ? 'No matching entitlements found.' : chalk_1.default.dim('No matching entitlements found.'));
301
+ return lines.join('\n');
302
+ }
303
+ // Decide columns based on content
304
+ const hasMetered = filtered.some(e => e.type === 'metered');
305
+ const hasFlags = filtered.some(e => e.type === 'flag');
306
+ let tableStr;
307
+ if (hasMetered && !hasFlags) {
308
+ tableStr = (0, render_1.renderTable)(meteredColumns, filtered, format);
309
+ }
310
+ else if (hasFlags && !hasMetered) {
311
+ tableStr = (0, render_1.renderTable)(flagColumns, filtered, format);
312
+ }
313
+ else {
314
+ tableStr = (0, render_1.renderTable)(mixedColumns, filtered, format);
315
+ }
316
+ // Only highlight disabled rows when there's a mix — if everything is disabled
317
+ // (e.g. --disabled filter), the pink becomes noise rather than signal.
318
+ const hasMix = filtered.some(e => e.enabled) && filtered.some(e => !e.enabled);
319
+ lines.push(format === 'terminal' && hasMix ? highlightDisabledRows(tableStr, filtered) : tableStr);
320
+ lines.push('');
321
+ lines.push(`${filtered.length} entitlement${filtered.length === 1 ? '' : 's'} shown.`);
322
+ return lines.join('\n');
323
+ }
324
+ exports.formatFilteredEntitlements = formatFilteredEntitlements;
325
+ //# sourceMappingURL=account-plan.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"account-plan.js","sourceRoot":"","sources":["../../src/formatters/account-plan.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,11 @@ class ChecklyHelpClass extends core_1.Help {
24
24
  topicNames.add(command.id.slice(0, separatorIndex));
25
25
  }
26
26
  }
27
- const topicRows = [...topicNames].map(name => [name, explicitTopics.get(name)]);
27
+ // Exclude topics that have a matching top-level command (e.g. skills index)
28
+ const topLevelIds = new Set(commands.filter(c => !c.id.includes(':')).map(c => c.id));
29
+ const topicRows = [...topicNames]
30
+ .filter(name => !topLevelIds.has(name))
31
+ .map(name => [name, explicitTopics.get(name)]);
28
32
  return commands
29
33
  // discard commands with ':' indicating they are under a topic
30
34
  .filter(c => !c.id.includes(':'))
@@ -1 +1 @@
1
- {"version":3,"file":"help-extension.js","sourceRoot":"","sources":["../../src/help/help-extension.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"help-extension.js","sourceRoot":"","sources":["../../src/help/help-extension.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ exports.detectCliMode = exports.detectOperator = void 0;
4
4
  const VALID_CLI_MODES = new Set(['interactive', 'ci', 'agent']);
5
5
  const AGENT_OPERATORS = new Set([
6
6
  'claude-code', 'cursor', 'windsurf', 'aider', 'github-copilot',
7
+ 'cline', 'codex-cli', 'gemini-cli', 'opencode',
7
8
  ]);
8
9
  const CI_OPERATORS = new Set([
9
10
  'github-actions', 'gitlab-ci', 'ci',
@@ -11,16 +12,24 @@ const CI_OPERATORS = new Set([
11
12
  function detectOperator() {
12
13
  if (process.env.CLAUDECODE)
13
14
  return 'claude-code';
14
- if (process.env.CURSOR_TRACE_ID)
15
+ if (process.env.CURSOR_TRACE_ID || process.env.CURSOR_AGENT)
15
16
  return 'cursor';
16
- if (process.env.TERM_PROGRAM === 'vscode')
17
- return 'vscode';
18
17
  if (process.env.GITHUB_COPILOT)
19
18
  return 'github-copilot';
20
19
  if (process.env.AIDER)
21
20
  return 'aider';
22
21
  if (process.env.WINDSURF || process.env.CODEIUM_ENV)
23
22
  return 'windsurf';
23
+ if (process.env.CLINE_ACTIVE)
24
+ return 'cline';
25
+ if (process.env.CODEX_SANDBOX || process.env.CODEX_THREAD_ID)
26
+ return 'codex-cli';
27
+ if (process.env.GEMINI_CLI)
28
+ return 'gemini-cli';
29
+ if (process.env.OPENCODE)
30
+ return 'opencode';
31
+ if (process.env.TERM_PROGRAM === 'vscode')
32
+ return 'vscode';
24
33
  if (process.env.GITHUB_ACTIONS)
25
34
  return 'github-actions';
26
35
  if (process.env.GITLAB_CI)
@@ -1 +1 @@
1
- {"version":3,"file":"cli-mode.js","sourceRoot":"","sources":["../../src/helpers/cli-mode.ts"],"names":[],"mappings":";;;AAEA,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;AAEpF,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IACnD,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB;CAC/D,CAAC,CAAA;AAEF,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC;IAChD,gBAAgB,EAAE,WAAW,EAAE,IAAI;CACpC,CAAC,CAAA;AAEF,SAAgB,cAAc;IAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU;QAAE,OAAO,aAAa,CAAA;IAChD,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe;QAAE,OAAO,QAAQ,CAAA;IAChD,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAC1D,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc;QAAE,OAAO,gBAAgB,CAAA;IACvD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK;QAAE,OAAO,OAAO,CAAA;IACrC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW;QAAE,OAAO,UAAU,CAAA;IACtE,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc;QAAE,OAAO,gBAAgB,CAAA;IACvD,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS;QAAE,OAAO,WAAW,CAAA;IAC7C,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,IAAI,CAAA;IAC/B,OAAO,QAAQ,CAAA;AACjB,CAAC;AAXD,wCAWC;AAED,SAAgB,aAAa;IAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAA;IAC5C,IAAI,OAAO,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5C,OAAO,OAAkB,CAAA;IAC3B,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAA;IAEjC,IAAI,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAA;IACjD,IAAI,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAA;IAC3C,OAAO,aAAa,CAAA;AACtB,CAAC;AAXD,sCAWC"}
1
+ {"version":3,"file":"cli-mode.js","sourceRoot":"","sources":["../../src/helpers/cli-mode.ts"],"names":[],"mappings":";;;AAEA,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAA;AAEpF,MAAM,eAAe,GAAwB,IAAI,GAAG,CAAC;IACnD,aAAa,EAAE,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,gBAAgB;IAC9D,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU;CAC/C,CAAC,CAAA;AAEF,MAAM,YAAY,GAAwB,IAAI,GAAG,CAAC;IAChD,gBAAgB,EAAE,WAAW,EAAE,IAAI;CACpC,CAAC,CAAA;AAEF,SAAgB,cAAc;IAC5B,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU;QAAE,OAAO,aAAa,CAAA;IAChD,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY;QAAE,OAAO,QAAQ,CAAA;IAC5E,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc;QAAE,OAAO,gBAAgB,CAAA;IACvD,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK;QAAE,OAAO,OAAO,CAAA;IACrC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW;QAAE,OAAO,UAAU,CAAA;IACtE,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY;QAAE,OAAO,OAAO,CAAA;IAC5C,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe;QAAE,OAAO,WAAW,CAAA;IAChF,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU;QAAE,OAAO,YAAY,CAAA;IAC/C,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ;QAAE,OAAO,UAAU,CAAA;IAC3C,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAA;IAC1D,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc;QAAE,OAAO,gBAAgB,CAAA;IACvD,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS;QAAE,OAAO,WAAW,CAAA;IAC7C,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;QAAE,OAAO,IAAI,CAAA;IAC/B,OAAO,QAAQ,CAAA;AACjB,CAAC;AAfD,wCAeC;AAED,SAAgB,aAAa;IAC3B,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAA;IAC5C,IAAI,OAAO,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5C,OAAO,OAAkB,CAAA;IAC3B,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAA;IAEjC,IAAI,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,OAAO,CAAA;IACjD,IAAI,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAA;IAC3C,OAAO,aAAa,CAAA;AACtB,CAAC;AAXD,sCAWC"}