@spences10/pi-skills 0.0.13 → 0.0.15

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 (43) hide show
  1. package/README.md +45 -5
  2. package/dist/commands.d.ts +1 -1
  3. package/dist/commands.js +126 -60
  4. package/dist/commands.js.map +1 -1
  5. package/dist/config.d.ts +8 -0
  6. package/dist/config.js +32 -0
  7. package/dist/config.js.map +1 -1
  8. package/dist/gh-skill.d.ts +26 -0
  9. package/dist/gh-skill.js +115 -0
  10. package/dist/gh-skill.js.map +1 -0
  11. package/dist/importer.js +1 -1
  12. package/dist/importer.js.map +1 -1
  13. package/dist/manager.d.ts +5 -1
  14. package/dist/manager.js +48 -9
  15. package/dist/manager.js.map +1 -1
  16. package/dist/scanner.d.ts +4 -1
  17. package/dist/scanner.js +73 -5
  18. package/dist/scanner.js.map +1 -1
  19. package/dist/skill-utils.d.ts +1 -4
  20. package/dist/skill-utils.js +0 -39
  21. package/dist/skill-utils.js.map +1 -1
  22. package/dist/skills-ui/github.d.ts +3 -0
  23. package/dist/skills-ui/github.js +221 -0
  24. package/dist/skills-ui/github.js.map +1 -0
  25. package/dist/skills-ui/home.d.ts +2 -0
  26. package/dist/skills-ui/home.js +41 -0
  27. package/dist/skills-ui/home.js.map +1 -0
  28. package/dist/skills-ui/importable.d.ts +3 -0
  29. package/dist/skills-ui/importable.js +91 -0
  30. package/dist/skills-ui/importable.js.map +1 -0
  31. package/dist/skills-ui/manage.d.ts +3 -0
  32. package/dist/skills-ui/manage.js +46 -0
  33. package/dist/skills-ui/manage.js.map +1 -0
  34. package/dist/skills-ui/profiles.d.ts +6 -0
  35. package/dist/skills-ui/profiles.js +165 -0
  36. package/dist/skills-ui/profiles.js.map +1 -0
  37. package/dist/skills-ui/skill-list.d.ts +10 -0
  38. package/dist/skills-ui/skill-list.js +39 -0
  39. package/dist/skills-ui/skill-list.js.map +1 -0
  40. package/dist/skills-ui.d.ts +6 -16
  41. package/dist/skills-ui.js +6 -373
  42. package/dist/skills-ui.js.map +1 -1
  43. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"skill-utils.js","sourceRoot":"","sources":["../src/skill-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"skill-utils.js","sourceRoot":"","sources":["../src/skill-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ExtensionCommandContext } from '@earendil-works/pi-coding-agent';
2
+ export declare function show_add_github_skill_modal(ctx: ExtensionCommandContext): Promise<boolean>;
3
+ export declare function show_update_github_skills_modal(ctx: ExtensionCommandContext): Promise<boolean>;
@@ -0,0 +1,221 @@
1
+ import { show_input_modal, show_picker_modal, show_text_modal, } from '@spences10/pi-tui-modal';
2
+ import { has_gh_skill, list_github_repository_skills, run_gh_skill_install, run_gh_skill_update, } from '../gh-skill.js';
3
+ function is_already_installed_error(error) {
4
+ const message = error instanceof Error ? error.message : String(error);
5
+ return message.includes('already installed');
6
+ }
7
+ export async function show_add_github_skill_modal(ctx) {
8
+ if (!has_gh_skill()) {
9
+ ctx.ui.notify('Add GitHub skill requires gh v2.90.0+ with `gh skill` support.', 'warning');
10
+ return false;
11
+ }
12
+ const repository = await show_input_modal(ctx, {
13
+ title: 'Add GitHub skill',
14
+ subtitle: 'Example: spences10/skills',
15
+ label: 'Repository (owner/repo)',
16
+ trim: true,
17
+ });
18
+ if (!repository)
19
+ return false;
20
+ const action = await show_picker_modal(ctx, {
21
+ title: 'Add GitHub skill',
22
+ subtitle: repository,
23
+ items: [
24
+ {
25
+ value: 'one',
26
+ label: 'Choose one skill',
27
+ description: 'Enter a skill name or exact path to install',
28
+ },
29
+ {
30
+ value: 'all',
31
+ label: 'Install all skills from repo',
32
+ description: 'List SKILL.md files through gh api, install each one, then reload',
33
+ },
34
+ {
35
+ value: 'preview',
36
+ label: 'Preview/browse',
37
+ description: 'Coming later: preview repository skills before installing',
38
+ },
39
+ ],
40
+ });
41
+ if (!action)
42
+ return false;
43
+ if (action === 'preview') {
44
+ await show_text_modal(ctx, {
45
+ title: 'Preview/browse coming later',
46
+ text: `For now, use:\n\ngh skill preview ${repository}`,
47
+ });
48
+ return false;
49
+ }
50
+ if (action === 'one') {
51
+ const skill = await show_input_modal(ctx, {
52
+ title: 'Add one GitHub skill',
53
+ subtitle: `${repository} • example: svelte-runes or svelte-runes@v1.0.0`,
54
+ label: 'Skill name, optionally @tag-or-sha',
55
+ trim: true,
56
+ });
57
+ if (!skill)
58
+ return false;
59
+ try {
60
+ const output = run_gh_skill_install({
61
+ repository,
62
+ skill,
63
+ flags: [],
64
+ });
65
+ await show_text_modal(ctx, {
66
+ title: 'GitHub skill added',
67
+ text: `${output || `Installed ${skill} from ${repository}`}\n\nReloading...`,
68
+ });
69
+ await ctx.reload();
70
+ return true;
71
+ }
72
+ catch (error) {
73
+ ctx.ui.notify(error instanceof Error ? error.message : String(error), 'warning');
74
+ return false;
75
+ }
76
+ }
77
+ const ref_mode = await show_picker_modal(ctx, {
78
+ title: 'Install all GitHub skills',
79
+ subtitle: repository,
80
+ items: [
81
+ {
82
+ value: 'default',
83
+ label: 'Use default branch',
84
+ description: 'Install current default branch without a pin',
85
+ },
86
+ {
87
+ value: 'pin',
88
+ label: 'Pin to tag, branch, or commit SHA',
89
+ description: 'Recommended for reviewed/reproducible installs',
90
+ },
91
+ ],
92
+ });
93
+ if (!ref_mode)
94
+ return false;
95
+ const pin = ref_mode === 'pin'
96
+ ? await show_input_modal(ctx, {
97
+ title: 'Install all GitHub skills',
98
+ subtitle: repository,
99
+ label: 'Pin tag, branch, or commit SHA',
100
+ trim: true,
101
+ })
102
+ : undefined;
103
+ if (ref_mode === 'pin' && !pin)
104
+ return false;
105
+ const existing_mode = await show_picker_modal(ctx, {
106
+ title: 'Install all GitHub skills',
107
+ subtitle: 'When a skill is already installed',
108
+ items: [
109
+ {
110
+ value: 'skip',
111
+ label: 'Skip existing skills',
112
+ description: 'Leave installed skills unchanged',
113
+ },
114
+ {
115
+ value: 'overwrite',
116
+ label: 'Overwrite existing skills',
117
+ description: 'Pass --force to gh skill install',
118
+ },
119
+ ],
120
+ });
121
+ if (!existing_mode)
122
+ return false;
123
+ try {
124
+ const skills = list_github_repository_skills(repository, pin);
125
+ if (skills.length === 0) {
126
+ ctx.ui.notify(`No SKILL.md files found in ${repository}`, 'warning');
127
+ return false;
128
+ }
129
+ const lines = [];
130
+ let installed = 0;
131
+ let skipped = 0;
132
+ let failed = 0;
133
+ for (const skill of skills) {
134
+ const flags = [
135
+ ...(pin ? ['--pin', pin] : []),
136
+ ...(existing_mode === 'overwrite' ? ['--force'] : []),
137
+ ];
138
+ try {
139
+ const output = run_gh_skill_install({
140
+ repository,
141
+ skill: skill.path,
142
+ flags,
143
+ });
144
+ installed += 1;
145
+ lines.push(`✓ ${skill.name}`);
146
+ if (output)
147
+ lines.push(output.split('\n')[0] ?? output);
148
+ }
149
+ catch (error) {
150
+ if (existing_mode === 'skip' &&
151
+ is_already_installed_error(error)) {
152
+ skipped += 1;
153
+ lines.push(`⊘ ${skill.name} already installed`);
154
+ continue;
155
+ }
156
+ failed += 1;
157
+ lines.push(`! ${skill.name}: ${error instanceof Error ? error.message : String(error)}`);
158
+ }
159
+ }
160
+ await show_text_modal(ctx, {
161
+ title: 'GitHub skills added',
162
+ text: `Installed ${installed}, skipped ${skipped}, failed ${failed} from ${repository}.\n\n${lines.join('\n')}${installed > 0 ? '\n\nReloading...' : ''}`,
163
+ });
164
+ if (installed > 0) {
165
+ await ctx.reload();
166
+ return true;
167
+ }
168
+ return false;
169
+ }
170
+ catch (error) {
171
+ ctx.ui.notify(error instanceof Error ? error.message : String(error), 'warning');
172
+ return false;
173
+ }
174
+ }
175
+ export async function show_update_github_skills_modal(ctx) {
176
+ if (!has_gh_skill()) {
177
+ ctx.ui.notify('Update GitHub skills requires gh v2.90.0+ with `gh skill` support.', 'warning');
178
+ return false;
179
+ }
180
+ try {
181
+ const check_output = run_gh_skill_update(['--dry-run']);
182
+ const selected = await show_picker_modal(ctx, {
183
+ title: 'Update GitHub skills',
184
+ subtitle: 'Dry-run result',
185
+ items: [
186
+ {
187
+ value: 'apply',
188
+ label: 'Apply updates',
189
+ description: 'Run gh skill update --all and reload',
190
+ },
191
+ {
192
+ value: 'check-only',
193
+ label: 'Check only',
194
+ description: 'Show dry-run output without modifying files',
195
+ },
196
+ ],
197
+ footer: check_output || 'No output from gh skill update --dry-run.',
198
+ });
199
+ if (!selected)
200
+ return false;
201
+ if (selected === 'check-only') {
202
+ await show_text_modal(ctx, {
203
+ title: 'GitHub skill update check',
204
+ text: check_output || 'No output from gh skill update --dry-run.',
205
+ });
206
+ return false;
207
+ }
208
+ const output = run_gh_skill_update(['--all']);
209
+ await show_text_modal(ctx, {
210
+ title: 'GitHub skills updated',
211
+ text: `${output || 'gh skill update --all completed.'}\n\nReloading...`,
212
+ });
213
+ await ctx.reload();
214
+ return true;
215
+ }
216
+ catch (error) {
217
+ ctx.ui.notify(error instanceof Error ? error.message : String(error), 'warning');
218
+ return false;
219
+ }
220
+ }
221
+ //# sourceMappingURL=github.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"github.js","sourceRoot":"","sources":["../../src/skills-ui/github.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import type { ExtensionCommandContext } from '@earendil-works/pi-coding-agent';
2
+ export declare function show_skills_home_modal(ctx: ExtensionCommandContext, managed_count: number, importable_count: number, active_profile: string): Promise<string | undefined>;
@@ -0,0 +1,41 @@
1
+ import { show_picker_modal } from '@spences10/pi-tui-modal';
2
+ export async function show_skills_home_modal(ctx, managed_count, importable_count, active_profile) {
3
+ return await show_picker_modal(ctx, {
4
+ title: 'Skills',
5
+ subtitle: `${managed_count} managed • ${importable_count} importable • profile ${active_profile}`,
6
+ items: [
7
+ {
8
+ value: 'manage',
9
+ label: 'Manage skills',
10
+ description: 'Search and enable/disable managed skills',
11
+ },
12
+ {
13
+ value: 'importable',
14
+ label: 'Importable skills',
15
+ description: 'Batch import external skills or sync imported copies',
16
+ },
17
+ {
18
+ value: 'add',
19
+ label: 'Add GitHub skill',
20
+ description: 'Install a skill from owner/repo using gh skill',
21
+ },
22
+ {
23
+ value: 'update',
24
+ label: 'Update GitHub skills',
25
+ description: 'Check GitHub-installed skills and apply updates',
26
+ },
27
+ {
28
+ value: 'profiles',
29
+ label: 'Profiles',
30
+ description: 'Switch profiles and edit profile rules',
31
+ },
32
+ {
33
+ value: 'refresh',
34
+ label: 'Refresh discovery',
35
+ description: 'Rescan managed and importable skills',
36
+ },
37
+ ],
38
+ footer: 'enter opens • esc close/back',
39
+ });
40
+ }
41
+ //# sourceMappingURL=home.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"home.js","sourceRoot":"","sources":["../../src/skills-ui/home.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC3C,GAA4B,EAC5B,aAAqB,EACrB,gBAAwB,EACxB,cAAsB;IAEtB,OAAO,MAAM,iBAAiB,CAAC,GAAG,EAAE;QACnC,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,GAAG,aAAa,cAAc,gBAAgB,yBAAyB,cAAc,EAAE;QACjG,KAAK,EAAE;YACN;gBACC,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,eAAe;gBACtB,WAAW,EAAE,0CAA0C;aACvD;YACD;gBACC,KAAK,EAAE,YAAY;gBACnB,KAAK,EAAE,mBAAmB;gBAC1B,WAAW,EACV,sDAAsD;aACvD;YACD;gBACC,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,kBAAkB;gBACzB,WAAW,EAAE,gDAAgD;aAC7D;YACD;gBACC,KAAK,EAAE,QAAQ;gBACf,KAAK,EAAE,sBAAsB;gBAC7B,WAAW,EACV,iDAAiD;aAClD;YACD;gBACC,KAAK,EAAE,UAAU;gBACjB,KAAK,EAAE,UAAU;gBACjB,WAAW,EAAE,wCAAwC;aACrD;YACD;gBACC,KAAK,EAAE,SAAS;gBAChB,KAAK,EAAE,mBAAmB;gBAC1B,WAAW,EAAE,sCAAsC;aACnD;SACD;QACD,MAAM,EAAE,8BAA8B;KACtC,CAAC,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ExtensionCommandContext } from '@earendil-works/pi-coding-agent';
2
+ import type { SkillsManager } from '../manager.js';
3
+ export declare function show_importable_skills_modal(ctx: ExtensionCommandContext, mgr: SkillsManager): Promise<boolean>;
@@ -0,0 +1,91 @@
1
+ import { show_settings_modal } from '@spences10/pi-tui-modal';
2
+ import { find_matching_imported_skill, find_skill, get_importable_state, sort_skills, } from '../skill-utils.js';
3
+ const IMPORT_SELECTED = '● import';
4
+ const SYNC_SELECTED = '● sync';
5
+ const SKIP_SELECTED = '○ skip';
6
+ function importable_action_label(state) {
7
+ if (state.action === 'import')
8
+ return 'Import';
9
+ if (state.action === 'sync')
10
+ return 'Sync available';
11
+ return state.label === 'managed'
12
+ ? 'Already managed'
13
+ : 'Already imported';
14
+ }
15
+ export async function show_importable_skills_modal(ctx, mgr) {
16
+ const managed = sort_skills(mgr.discover());
17
+ const importable = sort_skills(mgr.discover_importable());
18
+ if (importable.length === 0) {
19
+ ctx.ui.notify('No importable skills found');
20
+ return false;
21
+ }
22
+ const selected = new Map();
23
+ const metadata_by_id = new Map();
24
+ const items = importable.map((skill) => {
25
+ const state = get_importable_state(managed, skill);
26
+ metadata_by_id.set(skill.key, [
27
+ `${importable_action_label(state)} • ${skill.source} • ${skill.key}`,
28
+ skill.description,
29
+ state.detail,
30
+ skill.baseDir,
31
+ ].join('\n'));
32
+ const values = state.action === 'import'
33
+ ? [SKIP_SELECTED, IMPORT_SELECTED]
34
+ : state.action === 'sync'
35
+ ? [SKIP_SELECTED, SYNC_SELECTED]
36
+ : [state.label];
37
+ return {
38
+ id: skill.key,
39
+ label: skill.name,
40
+ description: '',
41
+ currentValue: values[0],
42
+ values,
43
+ };
44
+ });
45
+ await show_settings_modal(ctx, {
46
+ title: 'Importable skills',
47
+ subtitle: () => {
48
+ const actions = [...selected.values()].filter((value) => value !== SKIP_SELECTED).length;
49
+ return `${importable.length} external skills • ${actions} selected`;
50
+ },
51
+ items,
52
+ max_visible: Math.min(Math.max(items.length + 4, 8), 12),
53
+ enable_search: true,
54
+ metadata: (item) => item ? metadata_by_id.get(item.id)?.split('\n') : undefined,
55
+ on_change: (id, new_value) => {
56
+ if (new_value === SKIP_SELECTED)
57
+ selected.delete(id);
58
+ else
59
+ selected.set(id, new_value);
60
+ },
61
+ });
62
+ let changed = false;
63
+ for (const [key, action] of selected) {
64
+ const skill = find_skill(importable, key);
65
+ try {
66
+ if (action === IMPORT_SELECTED) {
67
+ mgr.import_skill(skill.key);
68
+ changed = true;
69
+ }
70
+ else if (action === SYNC_SELECTED) {
71
+ const imported_skill = find_matching_imported_skill(managed, skill);
72
+ if (!imported_skill) {
73
+ ctx.ui.notify(`Imported copy for ${skill.name} was not found`, 'warning');
74
+ continue;
75
+ }
76
+ changed =
77
+ mgr.sync_skill(imported_skill.key).changed || changed;
78
+ }
79
+ }
80
+ catch (error) {
81
+ ctx.ui.notify(error instanceof Error ? error.message : String(error), 'warning');
82
+ }
83
+ }
84
+ if (changed) {
85
+ ctx.ui.notify('Updated importable skills. Reloading...', 'info');
86
+ await ctx.reload();
87
+ return true;
88
+ }
89
+ return false;
90
+ }
91
+ //# sourceMappingURL=importable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"importable.js","sourceRoot":"","sources":["../../src/skills-ui/importable.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ExtensionCommandContext } from '@earendil-works/pi-coding-agent';
2
+ import type { SkillsManager } from '../manager.js';
3
+ export declare function show_skills_manager_modal(ctx: ExtensionCommandContext, mgr: SkillsManager): Promise<boolean>;
@@ -0,0 +1,46 @@
1
+ import { show_settings_modal } from '@spences10/pi-tui-modal';
2
+ import { ENABLED, sets_equal, sort_skills, to_setting_item, } from '../skill-utils.js';
3
+ export async function show_skills_manager_modal(ctx, mgr) {
4
+ const discovered = sort_skills(mgr.discover());
5
+ if (discovered.length === 0) {
6
+ ctx.ui.notify('No managed skills found');
7
+ return false;
8
+ }
9
+ const initial_enabled = new Set(discovered
10
+ .filter((skill) => skill.enabled)
11
+ .map((skill) => skill.key));
12
+ const current_enabled = new Set(initial_enabled);
13
+ const items = discovered.map(to_setting_item);
14
+ const metadata_by_id = new Map(items.map((item) => [item.id, item.description ?? '']));
15
+ for (const item of items)
16
+ item.description = '';
17
+ await show_settings_modal(ctx, {
18
+ title: 'Manage skills',
19
+ subtitle: () => {
20
+ const enabled = current_enabled.size;
21
+ const disabled = discovered.length - enabled;
22
+ return `profile ${mgr.get_active_profile()} • ${enabled} enabled • ${disabled} disabled`;
23
+ },
24
+ items,
25
+ max_visible: Math.min(Math.max(items.length + 4, 8), 12),
26
+ enable_search: true,
27
+ metadata: (item) => item ? metadata_by_id.get(item.id)?.split('\n') : undefined,
28
+ on_change: (id, new_value) => {
29
+ if (new_value === ENABLED) {
30
+ current_enabled.add(id);
31
+ mgr.enable(id);
32
+ }
33
+ else {
34
+ current_enabled.delete(id);
35
+ mgr.disable(id);
36
+ }
37
+ },
38
+ });
39
+ if (!sets_equal(initial_enabled, current_enabled)) {
40
+ ctx.ui.notify('Reloading to apply updated skills...', 'info');
41
+ await ctx.reload();
42
+ return true;
43
+ }
44
+ return false;
45
+ }
46
+ //# sourceMappingURL=manage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manage.js","sourceRoot":"","sources":["../../src/skills-ui/manage.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,OAAO,EACN,OAAO,EACP,UAAU,EACV,WAAW,EACX,eAAe,GACf,MAAM,mBAAmB,CAAC;AAE3B,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC9C,GAA4B,EAC5B,GAAkB;IAElB,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC/C,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;QACzC,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,GAAG,CAC9B,UAAU;SACR,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC;SAChC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAC3B,CAAC;IACF,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IAC9C,MAAM,cAAc,GAAG,IAAI,GAAG,CAC7B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,CACtD,CAAC;IACF,KAAK,MAAM,IAAI,IAAI,KAAK;QAAE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IAEhD,MAAM,mBAAmB,CAAC,GAAG,EAAE;QAC9B,KAAK,EAAE,eAAe;QACtB,QAAQ,EAAE,GAAG,EAAE;YACd,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC;YACrC,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC;YAC7C,OAAO,WAAW,GAAG,CAAC,kBAAkB,EAAE,MAAM,OAAO,cAAc,QAAQ,WAAW,CAAC;QAC1F,CAAC;QACD,KAAK;QACL,WAAW,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC;QACxD,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE,CAClB,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;QAC5D,SAAS,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE;YAC5B,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;gBAC3B,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACxB,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAChB,CAAC;iBAAM,CAAC;gBACP,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC3B,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;QACF,CAAC;KACD,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,eAAe,CAAC,EAAE,CAAC;QACnD,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAC;QAC9D,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACb,CAAC;IAED,OAAO,KAAK,CAAC;AACd,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { ExtensionCommandContext } from '@earendil-works/pi-coding-agent';
2
+ import type { SkillsManager } from '../manager.js';
3
+ export declare function show_refresh_summary(ctx: ExtensionCommandContext, mgr: SkillsManager): Promise<void>;
4
+ export declare function show_defaults_modal(ctx: ExtensionCommandContext, mgr: SkillsManager): Promise<void>;
5
+ export declare function pick_profile(ctx: ExtensionCommandContext, mgr: SkillsManager, title: string): Promise<string | undefined>;
6
+ export declare function show_profiles_modal(ctx: ExtensionCommandContext, mgr: SkillsManager): Promise<boolean>;