@spences10/pi-skills 0.0.31 → 0.0.33

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.
@@ -0,0 +1,208 @@
1
+ import { delete_imported_skill, get_imported_skill_sync_status, import_external_skill, scan_importable_skills, scan_imported_skills, sync_imported_skill, } from '@spences10/pi-skill-importer';
2
+ import { run_with_progress_modal, show_confirm_modal, show_picker_modal, show_text_modal, } from '@spences10/pi-tui-modal';
3
+ import { show_add_github_skill_modal } from './github.js';
4
+ const WARNING = 'External skills can instruct agent behavior and tool use. Review the source before importing.';
5
+ function key(skill) {
6
+ return `${skill.source}/${skill.name}`;
7
+ }
8
+ function sort(skills) {
9
+ return [...skills].sort((a, b) => `${a.name}\0${a.source}`.localeCompare(`${b.name}\0${b.source}`));
10
+ }
11
+ function imported_detail(skill) {
12
+ const status = get_imported_skill_sync_status(skill);
13
+ return [
14
+ `${skill.name} — ${status.status.replaceAll('-', ' ')}`,
15
+ `source: ${skill.import_meta.source}`,
16
+ `upstream: ${skill.import_meta.upstream_base_dir}`,
17
+ `installed: ${skill.baseDir}`,
18
+ status.detail,
19
+ status.recovery,
20
+ ]
21
+ .filter(Boolean)
22
+ .join('\n');
23
+ }
24
+ function external_detail(skill) {
25
+ return [
26
+ `${skill.name} — ${skill.description}`,
27
+ `source: ${skill.source}`,
28
+ `version: ${skill.plugin.version}`,
29
+ skill.plugin.gitCommitSha
30
+ ? `commit: ${skill.plugin.gitCommitSha.slice(0, 12)}`
31
+ : undefined,
32
+ `upstream: ${skill.baseDir}`,
33
+ ]
34
+ .filter(Boolean)
35
+ .join('\n');
36
+ }
37
+ function notify_error(ctx, error) {
38
+ ctx.ui.notify(error instanceof Error ? error.message : String(error), 'warning');
39
+ }
40
+ async function import_external(ctx) {
41
+ const skills = sort(scan_importable_skills());
42
+ const selected = await show_picker_modal(ctx, {
43
+ title: 'Import external skill',
44
+ subtitle: `${skills.length} compatible plugin skill${skills.length === 1 ? '' : 's'}`,
45
+ footer: WARNING,
46
+ empty_message: 'No compatible external skills found',
47
+ items: skills.map((skill) => ({
48
+ value: key(skill),
49
+ label: skill.name,
50
+ description: `${skill.source} • ${skill.baseDir}`,
51
+ })),
52
+ });
53
+ const skill = skills.find((candidate) => key(candidate) === selected);
54
+ if (!skill)
55
+ return false;
56
+ await show_text_modal(ctx, {
57
+ title: `Review ${skill.name}`,
58
+ text: external_detail(skill),
59
+ footer: WARNING,
60
+ });
61
+ const confirmed = await show_confirm_modal(ctx, {
62
+ title: `Import ${skill.name}?`,
63
+ message: `Copy this skill into Pi-native storage?\n\n${external_detail(skill)}`,
64
+ confirm_label: 'Import',
65
+ cancel_label: 'Cancel',
66
+ });
67
+ if (!confirmed)
68
+ return false;
69
+ try {
70
+ const result = await run_with_progress_modal(ctx, { title: 'Importing external skill', message: skill.name }, async () => import_external_skill(skill));
71
+ if (!result)
72
+ return false;
73
+ ctx.ui.notify(`Imported ${skill.name}. Reloading...`, 'info');
74
+ await ctx.reload();
75
+ return true;
76
+ }
77
+ catch (error) {
78
+ notify_error(ctx, error);
79
+ return false;
80
+ }
81
+ }
82
+ async function manage_imported(ctx) {
83
+ const skills = sort(scan_imported_skills());
84
+ const selected = await show_picker_modal(ctx, {
85
+ title: 'Imported copies',
86
+ subtitle: `${skills.length} importer-managed cop${skills.length === 1 ? 'y' : 'ies'}`,
87
+ empty_message: 'No imported copies found',
88
+ items: skills.map((skill) => {
89
+ const status = get_imported_skill_sync_status(skill);
90
+ return {
91
+ value: key(skill),
92
+ label: skill.name,
93
+ description: `${status.status.replaceAll('-', ' ')} • ${skill.import_meta.source}`,
94
+ };
95
+ }),
96
+ });
97
+ const skill = skills.find((candidate) => key(candidate) === selected);
98
+ if (!skill)
99
+ return false;
100
+ const action = await show_picker_modal(ctx, {
101
+ title: skill.name,
102
+ subtitle: get_imported_skill_sync_status(skill).status.replaceAll('-', ' '),
103
+ footer: imported_detail(skill),
104
+ items: [
105
+ {
106
+ value: 'details',
107
+ label: 'View details',
108
+ description: 'Inspect provenance and sync status',
109
+ },
110
+ {
111
+ value: 'sync',
112
+ label: 'Sync/rebind safely',
113
+ description: 'Refuses to overwrite local changes',
114
+ },
115
+ {
116
+ value: 'delete',
117
+ label: 'Delete imported copy',
118
+ description: 'Leaves the upstream plugin untouched',
119
+ },
120
+ ],
121
+ });
122
+ if (action === 'details') {
123
+ await show_text_modal(ctx, {
124
+ title: skill.name,
125
+ text: imported_detail(skill),
126
+ });
127
+ return false;
128
+ }
129
+ if (action === 'sync') {
130
+ const confirmed = await show_confirm_modal(ctx, {
131
+ title: `Sync ${skill.name}?`,
132
+ message: `${imported_detail(skill)}\n\nContinue only if the upstream source is trusted.`,
133
+ confirm_label: 'Sync',
134
+ cancel_label: 'Cancel',
135
+ });
136
+ if (!confirmed)
137
+ return false;
138
+ try {
139
+ const result = await run_with_progress_modal(ctx, { title: 'Syncing imported skill', message: skill.name }, async () => sync_imported_skill(skill));
140
+ if (!result)
141
+ return false;
142
+ ctx.ui.notify(result.changed
143
+ ? `Synced ${skill.name}. Reloading...`
144
+ : `${skill.name} is already up to date.`, 'info');
145
+ if (result.changed)
146
+ await ctx.reload();
147
+ return result.changed;
148
+ }
149
+ catch (error) {
150
+ notify_error(ctx, error);
151
+ return false;
152
+ }
153
+ }
154
+ if (action === 'delete') {
155
+ const confirmed = await show_confirm_modal(ctx, {
156
+ title: `Delete imported copy ${skill.name}?`,
157
+ message: `Delete ${skill.baseDir}? The upstream plugin source is not removed.`,
158
+ confirm_label: 'Delete copy',
159
+ cancel_label: 'Keep copy',
160
+ });
161
+ if (!confirmed)
162
+ return false;
163
+ try {
164
+ delete_imported_skill(skill);
165
+ ctx.ui.notify(`Deleted imported copy ${skill.name}. Reloading...`, 'info');
166
+ await ctx.reload();
167
+ return true;
168
+ }
169
+ catch (error) {
170
+ notify_error(ctx, error);
171
+ }
172
+ }
173
+ return false;
174
+ }
175
+ export async function show_add_import_modal(ctx) {
176
+ const external = scan_importable_skills().length;
177
+ const imported = scan_imported_skills().length;
178
+ const action = await show_picker_modal(ctx, {
179
+ title: 'Add / import',
180
+ subtitle: `${external} external • ${imported} imported copies`,
181
+ items: [
182
+ {
183
+ value: 'github',
184
+ label: 'Add from GitHub',
185
+ description: 'Search or enter a repository, preview, confirm, and install',
186
+ },
187
+ {
188
+ value: 'external',
189
+ label: 'Import external/plugin skill',
190
+ description: 'Copy a compatible Claude plugin skill into Pi storage',
191
+ },
192
+ {
193
+ value: 'imported',
194
+ label: 'Manage imported copies',
195
+ description: 'Inspect, sync/rebind, or safely delete imported copies',
196
+ },
197
+ ],
198
+ footer: WARNING,
199
+ });
200
+ if (action === 'github')
201
+ return await show_add_github_skill_modal(ctx);
202
+ if (action === 'external')
203
+ return await import_external(ctx);
204
+ if (action === 'imported')
205
+ return await manage_imported(ctx);
206
+ return false;
207
+ }
208
+ //# sourceMappingURL=import.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/skills-ui/import.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  import type { ExtensionCommandContext } from '@earendil-works/pi-coding-agent';
2
2
  import type { SkillsManager } from '../manager.js';
3
3
  export declare function show_skills_manager_modal(ctx: ExtensionCommandContext, mgr: SkillsManager): Promise<boolean>;
4
+ export declare function show_installed_skills_modal(ctx: ExtensionCommandContext, mgr: SkillsManager): Promise<boolean>;
@@ -1,6 +1,6 @@
1
- import { show_confirm_modal, show_settings_modal, } from '@spences10/pi-tui-modal';
2
- import { DISABLED, ENABLED, sets_equal, sort_skills, to_setting_item, } from '../skill-utils.js';
3
- const DELETE_SKILL = '✕ delete';
1
+ import { scan_imported_skills } from '@spences10/pi-skill-importer';
2
+ import { show_confirm_modal, show_picker_modal, show_settings_modal, show_text_modal, } from '@spences10/pi-tui-modal';
3
+ import { DISABLED, ENABLED, format_skill_detail, sets_equal, sort_skills, to_setting_item, } from '../skill-utils.js';
4
4
  export async function show_skills_manager_modal(ctx, mgr) {
5
5
  const discovered = sort_skills(mgr.discover());
6
6
  if (discovered.length === 0) {
@@ -11,21 +11,13 @@ export async function show_skills_manager_modal(ctx, mgr) {
11
11
  .filter((skill) => skill.enabled)
12
12
  .map((skill) => skill.key));
13
13
  const current_enabled = new Set(initial_enabled);
14
- const items = discovered.map((skill) => {
15
- const item = to_setting_item(skill);
16
- const values = [...(item.values ?? []), DELETE_SKILL];
17
- return { ...item, values };
18
- });
14
+ const items = discovered.map(to_setting_item);
19
15
  const metadata_by_id = new Map(items.map((item) => [item.id, item.description ?? '']));
20
16
  for (const item of items)
21
17
  item.description = '';
22
18
  await show_settings_modal(ctx, {
23
- title: 'Manage skills',
24
- subtitle: () => {
25
- const enabled = current_enabled.size;
26
- const disabled = discovered.length - enabled;
27
- return `profile ${mgr.get_active_profile()} • ${enabled} enabled • ${disabled} disabled`;
28
- },
19
+ title: 'Installed skill enablement',
20
+ subtitle: () => `profile ${mgr.get_active_profile()} • ${current_enabled.size} enabled • ${discovered.length - current_enabled.size} disabled`,
29
21
  items,
30
22
  max_visible: Math.min(Math.max(items.length + 4, 8), 12),
31
23
  enable_search: true,
@@ -41,34 +33,102 @@ export async function show_skills_manager_modal(ctx, mgr) {
41
33
  }
42
34
  },
43
35
  });
44
- const delete_ids = items
45
- .filter((item) => item.currentValue === DELETE_SKILL)
46
- .map((item) => item.id);
47
- let changed = !sets_equal(initial_enabled, current_enabled);
48
- if (delete_ids.length) {
49
- const ok = await show_confirm_modal(ctx, {
50
- title: 'Delete skills?',
51
- message: `Delete ${delete_ids.length} skill${delete_ids.length === 1 ? '' : 's'} from disk? This cannot be undone.`,
52
- confirm_label: 'Delete',
53
- cancel_label: 'Keep skills',
36
+ if (!sets_equal(initial_enabled, current_enabled)) {
37
+ ctx.ui.notify('Reloading to apply updated skills...', 'info');
38
+ await ctx.reload();
39
+ return true;
40
+ }
41
+ return false;
42
+ }
43
+ async function browse_installed(ctx, mgr) {
44
+ const skills = sort_skills(mgr.discover());
45
+ const selected = await show_picker_modal(ctx, {
46
+ title: 'Installed skill details',
47
+ subtitle: `${skills.length} managed • profile ${mgr.get_active_profile()}`,
48
+ empty_message: 'No managed skills found',
49
+ items: skills.map((skill) => ({
50
+ value: skill.key,
51
+ label: skill.name,
52
+ description: `${skill.enabled ? 'enabled' : 'disabled'} • ${skill.source} • ${skill.key}`,
53
+ })),
54
+ });
55
+ const skill = skills.find((candidate) => candidate.key === selected);
56
+ if (!skill)
57
+ return false;
58
+ const importer_owned = scan_imported_skills().some((imported) => imported.baseDir === skill.baseDir);
59
+ const action = await show_picker_modal(ctx, {
60
+ title: skill.name,
61
+ subtitle: `${skill.enabled ? 'enabled' : 'disabled'} • ${skill.source}`,
62
+ footer: importer_owned
63
+ ? `${skill.baseDir} • manage this importer-owned copy in Add / import`
64
+ : skill.baseDir,
65
+ items: [
66
+ {
67
+ value: 'details',
68
+ label: 'View details',
69
+ description: 'Read-only provenance, path, and profile status',
70
+ },
71
+ ...(importer_owned
72
+ ? []
73
+ : [
74
+ {
75
+ value: 'delete',
76
+ label: 'Delete from disk',
77
+ description: 'Separate destructive action with confirmation',
78
+ },
79
+ ]),
80
+ ],
81
+ });
82
+ if (action === 'details') {
83
+ await show_text_modal(ctx, {
84
+ title: skill.name,
85
+ text: format_skill_detail(skill),
54
86
  });
55
- if (ok) {
56
- for (const id of delete_ids) {
57
- try {
58
- mgr.delete_skill(id);
59
- changed = true;
60
- }
61
- catch (error) {
62
- ctx.ui.notify(error instanceof Error ? error.message : String(error), 'warning');
63
- }
64
- }
65
- }
87
+ return false;
66
88
  }
67
- if (changed) {
68
- ctx.ui.notify('Reloading to apply updated skills...', 'info');
89
+ if (action !== 'delete')
90
+ return false;
91
+ const confirmed = await show_confirm_modal(ctx, {
92
+ title: `Delete ${skill.name}?`,
93
+ message: `Delete ${skill.baseDir} from disk? This cannot be undone.`,
94
+ confirm_label: 'Delete',
95
+ cancel_label: 'Keep skill',
96
+ });
97
+ if (!confirmed)
98
+ return false;
99
+ try {
100
+ mgr.delete_skill(skill.key);
101
+ ctx.ui.notify(`Deleted ${skill.name}. Reloading...`, 'info');
69
102
  await ctx.reload();
70
103
  return true;
71
104
  }
105
+ catch (error) {
106
+ ctx.ui.notify(error instanceof Error ? error.message : String(error), 'warning');
107
+ return false;
108
+ }
109
+ }
110
+ export async function show_installed_skills_modal(ctx, mgr) {
111
+ const skills = mgr.discover();
112
+ const action = await show_picker_modal(ctx, {
113
+ title: 'Installed',
114
+ subtitle: `${skills.length} managed • ${skills.filter((skill) => skill.enabled).length} enabled • profile ${mgr.get_active_profile()}`,
115
+ items: [
116
+ {
117
+ value: 'enablement',
118
+ label: 'Enable / disable',
119
+ description: 'Search installed skills and update the active profile',
120
+ },
121
+ {
122
+ value: 'details',
123
+ label: 'Details / delete',
124
+ description: 'Inspect provenance or choose a separately confirmed delete',
125
+ },
126
+ ],
127
+ });
128
+ if (action === 'enablement')
129
+ return await show_skills_manager_modal(ctx, mgr);
130
+ if (action === 'details')
131
+ return await browse_installed(ctx, mgr);
72
132
  return false;
73
133
  }
74
134
  //# sourceMappingURL=manage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manage.js","sourceRoot":"","sources":["../../src/skills-ui/manage.ts"],"names":[],"mappings":"AACA,OAAO,EACN,kBAAkB,EAClB,mBAAmB,GACnB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACN,QAAQ,EACR,OAAO,EACP,UAAU,EACV,WAAW,EACX,eAAe,GACf,MAAM,mBAAmB,CAAC;AAE3B,MAAM,YAAY,GAAG,UAAU,CAAC;AAEhC,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,CAAC,KAAK,EAAE,EAAE;QACtC,MAAM,IAAI,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC;QACtD,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC;IAC5B,CAAC,CAAC,CAAC;IACH,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,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;gBACnC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBAC3B,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACjB,CAAC;QACF,CAAC;KACD,CAAC,CAAC;IAEH,MAAM,UAAU,GAAG,KAAK;SACtB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,KAAK,YAAY,CAAC;SACpD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEzB,IAAI,OAAO,GAAG,CAAC,UAAU,CAAC,eAAe,EAAE,eAAe,CAAC,CAAC;IAE5D,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE;YACxC,KAAK,EAAE,gBAAgB;YACvB,OAAO,EAAE,UAAU,UAAU,CAAC,MAAM,SAAS,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,oCAAoC;YACnH,aAAa,EAAE,QAAQ;YACvB,YAAY,EAAE,aAAa;SAC3B,CAAC,CAAC;QACH,IAAI,EAAE,EAAE,CAAC;YACR,KAAK,MAAM,EAAE,IAAI,UAAU,EAAE,CAAC;gBAC7B,IAAI,CAAC;oBACJ,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;oBACrB,OAAO,GAAG,IAAI,CAAC;gBAChB,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBAChB,GAAG,CAAC,EAAE,CAAC,MAAM,CACZ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,SAAS,CACT,CAAC;gBACH,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACb,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"}
1
+ {"version":3,"file":"manage.js","sourceRoot":"","sources":["../../src/skills-ui/manage.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { ExtensionCommandContext } from '@earendil-works/pi-coding-agent';
2
2
  import type { SkillsManager } from '../manager.js';
3
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>;
4
+ export declare function show_defaults_modal(ctx: ExtensionCommandContext, mgr: SkillsManager): Promise<boolean>;
5
5
  export declare function pick_profile(ctx: ExtensionCommandContext, mgr: SkillsManager, title: string): Promise<string | undefined>;
6
6
  export declare function show_profiles_modal(ctx: ExtensionCommandContext, mgr: SkillsManager): Promise<boolean>;
@@ -22,12 +22,14 @@ export async function show_defaults_modal(ctx, mgr) {
22
22
  ],
23
23
  });
24
24
  if (!selected)
25
- return;
25
+ return false;
26
26
  mgr.set_defaults(selected);
27
27
  await show_text_modal(ctx, {
28
28
  title: 'Default skill policy updated',
29
- text: `Active profile now starts from: ${selected}`,
29
+ text: `Active profile now starts from: ${selected}\n\nReloading...`,
30
30
  });
31
+ await ctx.reload();
32
+ return true;
31
33
  }
32
34
  export async function pick_profile(ctx, mgr, title) {
33
35
  return await show_picker_modal(ctx, {
@@ -145,7 +147,8 @@ export async function show_profiles_modal(ctx, mgr) {
145
147
  }
146
148
  }
147
149
  else if (selected === 'defaults') {
148
- await show_defaults_modal(ctx, mgr);
150
+ if (await show_defaults_modal(ctx, mgr))
151
+ return true;
149
152
  }
150
153
  else if (selected === 'show') {
151
154
  const profile_name = await pick_profile(ctx, mgr, 'Show skill profile');
@@ -1 +1 @@
1
- {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/skills-ui/profiles.ts"],"names":[],"mappings":"AACA,OAAO,EACN,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,GACf,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACN,qBAAqB,EACrB,mBAAmB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACzC,GAA4B,EAC5B,GAAkB;IAElB,GAAG,CAAC,OAAO,EAAE,CAAC;IACd,GAAG,CAAC,EAAE,CAAC,MAAM,CACZ,qBAAqB,GAAG,CAAC,QAAQ,EAAE,CAAC,MAAM,UAAU,EACpD,MAAM,CACN,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,GAA4B,EAC5B,GAAkB;IAElB,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE;QAC7C,KAAK,EAAE,sBAAsB;QAC7B,QAAQ,EAAE,mBAAmB,GAAG,CAAC,kBAAkB,EAAE,EAAE;QACvD,KAAK,EAAE;YACN;gBACC,KAAK,EAAE,aAAa;gBACpB,KAAK,EAAE,mBAAmB;gBAC1B,WAAW,EACV,mEAAmE;aACpE;YACD;gBACC,KAAK,EAAE,cAAc;gBACrB,KAAK,EAAE,oBAAoB;gBAC3B,WAAW,EACV,0DAA0D;aAC3D;SACD;KACD,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ;QAAE,OAAO;IACtB,GAAG,CAAC,YAAY,CAAC,QAA0C,CAAC,CAAC;IAC7D,MAAM,eAAe,CAAC,GAAG,EAAE;QAC1B,KAAK,EAAE,8BAA8B;QACrC,IAAI,EAAE,mCAAmC,QAAQ,EAAE;KACnD,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,GAA4B,EAC5B,GAAkB,EAClB,KAAa;IAEb,OAAO,MAAM,iBAAiB,CAAC,GAAG,EAAE;QACnC,KAAK;QACL,QAAQ,EAAE,WAAW,GAAG,CAAC,kBAAkB,EAAE,EAAE;QAC/C,KAAK,EAAE,GAAG,CAAC,aAAa,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;YAC5C,KAAK,EAAE,OAAO,CAAC,IAAI;YACnB,KAAK,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,EAAE;YACvD,WAAW,EAAE,mBAAmB,CAAC,OAAO,CAAC;SACzC,CAAC,CAAC;QACH,aAAa,EAAE,yBAAyB;KACxC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACxC,GAA4B,EAC5B,GAAkB;IAElB,OAAO,IAAI,EAAE,CAAC;QACb,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,GAAG,EAAE;YAC7C,KAAK,EAAE,gBAAgB;YACvB,QAAQ,EAAE,WAAW,GAAG,CAAC,kBAAkB,EAAE,EAAE;YAC/C,KAAK,EAAE;gBACN;oBACC,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,aAAa;oBACpB,WAAW,EAAE,4CAA4C;iBACzD;gBACD;oBACC,KAAK,EAAE,QAAQ;oBACf,KAAK,EAAE,gBAAgB;oBACvB,WAAW,EAAE,8BAA8B;iBAC3C;gBACD;oBACC,KAAK,EAAE,SAAS;oBAChB,KAAK,EAAE,kBAAkB;oBACzB,WAAW,EAAE,6CAA6C;iBAC1D;gBACD;oBACC,KAAK,EAAE,SAAS;oBAChB,KAAK,EAAE,kBAAkB;oBACzB,WAAW,EAAE,8CAA8C;iBAC3D;gBACD;oBACC,KAAK,EAAE,UAAU;oBACjB,KAAK,EAAE,sBAAsB;oBAC7B,WAAW,EACV,sDAAsD;iBACvD;gBACD;oBACC,KAAK,EAAE,MAAM;oBACb,KAAK,EAAE,sBAAsB;oBAC7B,WAAW,EAAE,kCAAkC;iBAC/C;aACD;YACD,MAAM,EACL,qEAAqE;SACtE,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAC;QAE5B,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACxB,MAAM,OAAO,GAAG,MAAM,YAAY,CACjC,GAAG,EACH,GAAG,EACH,mBAAmB,CACnB,CAAC;YACF,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,IAAI,CAAC;gBACJ,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBACzB,GAAG,CAAC,EAAE,CAAC,MAAM,CACZ,uBAAuB,OAAO,gBAAgB,EAC9C,MAAM,CACN,CAAC;gBACF,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC;YACb,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,GAAG,CAAC,EAAE,CAAC,MAAM,CACZ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,SAAS,CACT,CAAC;YACH,CAAC;QACF,CAAC;aAAM,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE;gBACxC,KAAK,EAAE,sBAAsB;gBAC7B,KAAK,EAAE,cAAc;gBACrB,IAAI,EAAE,IAAI;aACV,CAAC,CAAC;YACH,IAAI,CAAC,IAAI;gBAAE,SAAS;YACpB,IAAI,CAAC;gBACJ,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBACzB,MAAM,eAAe,CAAC,GAAG,EAAE;oBAC1B,KAAK,EAAE,uBAAuB;oBAC9B,IAAI,EAAE,yBAAyB,IAAI,6BAA6B,IAAI,6DAA6D;iBACjI,CAAC,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,GAAG,CAAC,EAAE,CAAC,MAAM,CACZ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,SAAS,CACT,CAAC;YACH,CAAC;QACF,CAAC;aAAM,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC7D,MAAM,OAAO,GAAG,MAAM,YAAY,CACjC,GAAG,EACH,GAAG,EACH,QAAQ,KAAK,SAAS;gBACrB,CAAC,CAAC,iCAAiC;gBACnC,CAAC,CAAC,iCAAiC,CACpC,CAAC;YACF,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,GAAG,EAAE;gBAC3C,KAAK,EACJ,QAAQ,KAAK,SAAS;oBACrB,CAAC,CAAC,kBAAkB;oBACpB,CAAC,CAAC,kBAAkB;gBACtB,QAAQ,EAAE,YAAY,OAAO,EAAE;gBAC/B,KAAK,EAAE,6BAA6B;gBACpC,IAAI,EAAE,IAAI;aACV,CAAC,CAAC;YACH,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,IAAI,CAAC;gBACJ,IAAI,QAAQ,KAAK,SAAS;oBACzB,GAAG,CAAC,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;;oBACrC,GAAG,CAAC,oBAAoB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAChD,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,OAAO,gBAAgB,EAAE,MAAM,CAAC,CAAC;gBAC1D,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC;gBACnB,OAAO,IAAI,CAAC;YACb,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,GAAG,CAAC,EAAE,CAAC,MAAM,CACZ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACtD,SAAS,CACT,CAAC;YACH,CAAC;QACF,CAAC;aAAM,IAAI,QAAQ,KAAK,UAAU,EAAE,CAAC;YACpC,MAAM,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC;aAAM,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;YAChC,MAAM,YAAY,GAAG,MAAM,YAAY,CACtC,GAAG,EACH,GAAG,EACH,oBAAoB,CACpB,CAAC;YACF,MAAM,OAAO,GAAG,GAAG;iBACjB,aAAa,EAAE;iBACf,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;YACvC,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,MAAM,eAAe,CAAC,GAAG,EAAE;gBAC1B,KAAK,EAAE,OAAO,CAAC,IAAI;gBACnB,QAAQ,EAAE,mBAAmB,CAAC,OAAO,CAAC;gBACtC,IAAI,EAAE,qBAAqB,CAAC,OAAO,CAAC;aACpC,CAAC,CAAC;QACJ,CAAC;IACF,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"profiles.js","sourceRoot":"","sources":["../../src/skills-ui/profiles.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,8 @@
1
+ export { show_advanced_skills_modal } from './skills-ui/advanced.js';
2
+ export { load_available_skills, show_available_skills_modal, type AvailableSkillsModel, } from './skills-ui/available.js';
1
3
  export { show_add_github_skill_modal, show_search_github_skills_modal, show_update_github_skills_modal, } from './skills-ui/github.js';
2
4
  export { show_skills_home_modal } from './skills-ui/home.js';
3
- export { show_skills_manager_modal } from './skills-ui/manage.js';
5
+ export { show_add_import_modal } from './skills-ui/import.js';
6
+ export { show_installed_skills_modal, show_skills_manager_modal, } from './skills-ui/manage.js';
4
7
  export { pick_profile, show_defaults_modal, show_profiles_modal, show_refresh_summary, } from './skills-ui/profiles.js';
5
8
  export { pick_skill, show_skill_detail_modal, show_skill_list_modal, } from './skills-ui/skill-list.js';
package/dist/skills-ui.js CHANGED
@@ -1,6 +1,9 @@
1
+ export { show_advanced_skills_modal } from './skills-ui/advanced.js';
2
+ export { load_available_skills, show_available_skills_modal, } from './skills-ui/available.js';
1
3
  export { show_add_github_skill_modal, show_search_github_skills_modal, show_update_github_skills_modal, } from './skills-ui/github.js';
2
4
  export { show_skills_home_modal } from './skills-ui/home.js';
3
- export { show_skills_manager_modal } from './skills-ui/manage.js';
5
+ export { show_add_import_modal } from './skills-ui/import.js';
6
+ export { show_installed_skills_modal, show_skills_manager_modal, } from './skills-ui/manage.js';
4
7
  export { pick_profile, show_defaults_modal, show_profiles_modal, show_refresh_summary, } from './skills-ui/profiles.js';
5
8
  export { pick_skill, show_skill_detail_modal, show_skill_list_modal, } from './skills-ui/skill-list.js';
6
9
  //# sourceMappingURL=skills-ui.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"skills-ui.js","sourceRoot":"","sources":["../src/skills-ui.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,2BAA2B,EAC3B,+BAA+B,EAC/B,+BAA+B,GAC/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAC;AAClE,OAAO,EACN,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,UAAU,EACV,uBAAuB,EACvB,qBAAqB,GACrB,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"skills-ui.js","sourceRoot":"","sources":["../src/skills-ui.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AACrE,OAAO,EACN,qBAAqB,EACrB,2BAA2B,GAE3B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACN,2BAA2B,EAC3B,+BAA+B,EAC/B,+BAA+B,GAC/B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EACN,2BAA2B,EAC3B,yBAAyB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EACN,YAAY,EACZ,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,GACpB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACN,UAAU,EACV,uBAAuB,EACvB,qBAAqB,GACrB,MAAM,2BAA2B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spences10/pi-skills",
3
- "version": "0.0.31",
3
+ "version": "0.0.33",
4
4
  "description": "Agent Skills management for Pi with profiles, enablement rules, GitHub search/install, and update flows",
5
5
  "keywords": [
6
6
  "agent-skills",
@@ -34,13 +34,14 @@
34
34
  },
35
35
  "dependencies": {
36
36
  "@spences10/pi-settings": "0.0.2",
37
- "@spences10/pi-tui-modal": "0.0.21"
37
+ "@spences10/pi-skill-importer": "0.0.11",
38
+ "@spences10/pi-tui-modal": "0.0.22"
38
39
  },
39
40
  "devDependencies": {
40
- "@earendil-works/pi-coding-agent": "0.80.6",
41
- "@earendil-works/pi-tui": "0.80.6",
41
+ "@earendil-works/pi-coding-agent": "0.80.9",
42
+ "@earendil-works/pi-tui": "0.80.9",
42
43
  "@types/node": "^25.8.0",
43
- "typescript": "^7.0.2",
44
+ "typescript": "^7.0.0",
44
45
  "vitest": "4.1.10"
45
46
  },
46
47
  "peerDependencies": {