@aexol/opencode-wizard 0.3.4 → 0.3.6

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 (71) hide show
  1. package/README.md +11 -7
  2. package/dist/graphql-operations.d.ts +6 -2
  3. package/dist/graphql-operations.js +173 -156
  4. package/dist/graphql-operations.js.map +1 -1
  5. package/dist/plugin-tools.d.ts +37 -0
  6. package/dist/plugin-tools.js +58 -7
  7. package/dist/plugin-tools.js.map +1 -1
  8. package/dist/published-skills-system-note.js +3 -7
  9. package/dist/published-skills-system-note.js.map +1 -1
  10. package/dist/published-skills-terminology.d.ts +21 -0
  11. package/dist/published-skills-terminology.js +38 -0
  12. package/dist/published-skills-terminology.js.map +1 -0
  13. package/dist/published-skills-transform.d.ts +99 -2
  14. package/dist/published-skills-transform.js +91 -19
  15. package/dist/published-skills-transform.js.map +1 -1
  16. package/dist/server/auth-bootstrap.d.ts +7 -0
  17. package/dist/server/auth-bootstrap.js +89 -0
  18. package/dist/server/auth-bootstrap.js.map +1 -0
  19. package/dist/server/client.d.ts +30 -1
  20. package/dist/server/client.js +81 -1
  21. package/dist/server/client.js.map +1 -1
  22. package/dist/server/import-sources.d.ts +27 -0
  23. package/dist/server/import-sources.js +115 -0
  24. package/dist/server/import-sources.js.map +1 -0
  25. package/dist/server/preferences.d.ts +22 -0
  26. package/dist/server/preferences.js +121 -0
  27. package/dist/server/preferences.js.map +1 -0
  28. package/dist/server/runtime.d.ts +3 -22
  29. package/dist/server/runtime.js +567 -242
  30. package/dist/server/runtime.js.map +1 -1
  31. package/dist/server/types.d.ts +87 -0
  32. package/dist/server/types.js.map +1 -1
  33. package/dist/server.d.ts +1 -0
  34. package/dist/server.js +1 -0
  35. package/dist/server.js.map +1 -1
  36. package/dist/smoke-published-skills.js +4 -4
  37. package/dist/smoke-published-skills.js.map +1 -1
  38. package/dist/tui/components/common.d.ts +0 -1
  39. package/dist/tui/components/common.js +6 -29
  40. package/dist/tui/components/common.js.map +1 -1
  41. package/dist/tui/components/status-content.js +1 -1
  42. package/dist/tui/components/status-content.js.map +1 -1
  43. package/dist/tui/constants.d.ts +0 -5
  44. package/dist/tui/constants.js +0 -5
  45. package/dist/tui/constants.js.map +1 -1
  46. package/dist/tui/formatting.d.ts +0 -3
  47. package/dist/tui/formatting.js +1 -13
  48. package/dist/tui/formatting.js.map +1 -1
  49. package/dist/tui/skill-helpers.d.ts +1 -11
  50. package/dist/tui/skill-helpers.js +0 -41
  51. package/dist/tui/skill-helpers.js.map +1 -1
  52. package/dist/tui/slots.d.ts +1 -1
  53. package/dist/tui/slots.js +1 -24
  54. package/dist/tui/slots.js.map +1 -1
  55. package/dist/tui/status.js +2 -2
  56. package/dist/tui/status.js.map +1 -1
  57. package/dist/tui/types.d.ts +0 -19
  58. package/dist/tui/types.js.map +1 -1
  59. package/package.json +1 -1
  60. package/dist/tui/components/preference-action-notice-row.d.ts +0 -5
  61. package/dist/tui/components/preference-action-notice-row.js +0 -17
  62. package/dist/tui/components/preference-action-notice-row.js.map +0 -1
  63. package/dist/tui/components/skill-catalog-row.d.ts +0 -8
  64. package/dist/tui/components/skill-catalog-row.js +0 -124
  65. package/dist/tui/components/skill-catalog-row.js.map +0 -1
  66. package/dist/tui/components/wizard-skills-dialog-content.d.ts +0 -9
  67. package/dist/tui/components/wizard-skills-dialog-content.js +0 -219
  68. package/dist/tui/components/wizard-skills-dialog-content.js.map +0 -1
  69. package/dist/tui/components/wizard-skills-dialog.d.ts +0 -7
  70. package/dist/tui/components/wizard-skills-dialog.js +0 -156
  71. package/dist/tui/components/wizard-skills-dialog.js.map +0 -1
@@ -1,219 +0,0 @@
1
- import { createComponent as _$createComponent } from "@opentui/solid";
2
- import { insert as _$insert } from "@opentui/solid";
3
- import { effect as _$effect } from "@opentui/solid";
4
- import { createTextNode as _$createTextNode } from "@opentui/solid";
5
- import { insertNode as _$insertNode } from "@opentui/solid";
6
- import { setProp as _$setProp } from "@opentui/solid";
7
- import { createElement as _$createElement } from "@opentui/solid";
8
- import { createSignal } from 'solid-js';
9
- import { SKILLS_PAGE_SIZE } from '../constants.js';
10
- import { compactStatusMessage, formatSkillsCatalogUnavailableMessage } from '../formatting.js';
11
- import { getInstallableNotInstalledSkills, getSkillRowState } from '../skill-helpers.js';
12
- import { PreferenceActionNoticeRow } from './preference-action-notice-row.js';
13
- import { SkillCatalogRow } from './skill-catalog-row.js';
14
- export const WizardSkillsDialogContent = props => {
15
- const [page, setPage] = createSignal(0);
16
- const content = () => {
17
- const currentStatus = props.status();
18
- if (currentStatus.kind === 'loading') {
19
- return (() => {
20
- var _el$ = _$createElement("text");
21
- _$insertNode(_el$, _$createTextNode(`Refreshing published skills…`));
22
- _$setProp(_el$, "wrapMode", "none");
23
- _$setProp(_el$, "overflow", "hidden");
24
- _$effect(_$p => _$setProp(_el$, "fg", props.theme.textMuted, _$p));
25
- return _el$;
26
- })();
27
- }
28
- if (currentStatus.kind === 'error') {
29
- return (() => {
30
- var _el$3 = _$createElement("text"),
31
- _el$4 = _$createTextNode(`unavailable: `);
32
- _$insertNode(_el$3, _el$4);
33
- _$setProp(_el$3, "wrapMode", "none");
34
- _$setProp(_el$3, "overflow", "hidden");
35
- _$insert(_el$3, () => compactStatusMessage(currentStatus.message), null);
36
- _$effect(_$p => _$setProp(_el$3, "fg", props.theme.warning, _$p));
37
- return _el$3;
38
- })();
39
- }
40
- if (!currentStatus.snapshot.catalog) {
41
- return (() => {
42
- var _el$5 = _$createElement("text"),
43
- _el$6 = _$createTextNode(`catalog `);
44
- _$insertNode(_el$5, _el$6);
45
- _$setProp(_el$5, "wrapMode", "none");
46
- _$setProp(_el$5, "overflow", "hidden");
47
- _$insert(_el$5, () => formatSkillsCatalogUnavailableMessage(currentStatus.snapshot), null);
48
- _$effect(_$p => _$setProp(_el$5, "fg", props.theme.textMuted, _$p));
49
- return _el$5;
50
- })();
51
- }
52
- const {
53
- catalog
54
- } = currentStatus.snapshot;
55
- const installableNotInstalledSkills = getInstallableNotInstalledSkills(currentStatus.snapshot);
56
- const rows = [...catalog.skills.map(skill => ({
57
- skill,
58
- ignored: false,
59
- state: getSkillRowState(skill)
60
- })), ...currentStatus.snapshot.ignoredPublishedSkills.skills.map(skill => ({
61
- skill,
62
- ignored: true,
63
- state: getSkillRowState(skill)
64
- })), ...installableNotInstalledSkills.map(skill => ({
65
- skill,
66
- ignored: false,
67
- state: 'installable'
68
- }))];
69
- const totalPages = Math.max(1, Math.ceil(rows.length / SKILLS_PAGE_SIZE));
70
- const currentPage = Math.min(page(), totalPages - 1);
71
- const startIndex = currentPage * SKILLS_PAGE_SIZE;
72
- const endIndex = Math.min(startIndex + SKILLS_PAGE_SIZE, rows.length);
73
- const visibleRows = rows.slice(startIndex, endIndex);
74
- const canGoBack = currentPage > 0;
75
- const canGoForward = currentPage < totalPages - 1;
76
- const goBack = () => {
77
- if (!canGoBack) return;
78
- setPage(currentPage - 1);
79
- };
80
- const goForward = () => {
81
- if (!canGoForward) return;
82
- setPage(currentPage + 1);
83
- };
84
- return (() => {
85
- var _el$7 = _$createElement("box"),
86
- _el$8 = _$createElement("box"),
87
- _el$9 = _$createElement("text"),
88
- _el$0 = _$createElement("b"),
89
- _el$1 = _$createTextNode(` skills`),
90
- _el$10 = _$createTextNode(`&nbsp;· `),
91
- _el$11 = _$createTextNode(` GLOBAL SCOPE · `),
92
- _el$12 = _$createTextNode(` PROJECT SCOPE &nbsp;· `),
93
- _el$13 = _$createTextNode(` USER SCOPE &nbsp;· `),
94
- _el$14 = _$createTextNode(` ignored &nbsp;· `),
95
- _el$15 = _$createTextNode(` installable/not installed`),
96
- _el$16 = _$createElement("text"),
97
- _el$17 = _$createTextNode(`page `),
98
- _el$18 = _$createTextNode(`/`),
99
- _el$19 = _$createElement("box"),
100
- _el$20 = _$createElement("box"),
101
- _el$21 = _$createElement("box"),
102
- _el$22 = _$createElement("text"),
103
- _el$24 = _$createElement("text"),
104
- _el$25 = _$createTextNode(` shown`),
105
- _el$26 = _$createElement("box"),
106
- _el$27 = _$createElement("text");
107
- _$insertNode(_el$7, _el$8);
108
- _$insertNode(_el$7, _el$19);
109
- _$insertNode(_el$7, _el$20);
110
- _$setProp(_el$7, "width", "100%");
111
- _$setProp(_el$7, "flexDirection", "column");
112
- _$setProp(_el$7, "overflow", "hidden");
113
- _$insertNode(_el$8, _el$9);
114
- _$insertNode(_el$8, _el$16);
115
- _$setProp(_el$8, "width", "100%");
116
- _$setProp(_el$8, "flexDirection", "row");
117
- _$setProp(_el$8, "justifyContent", "space-between");
118
- _$setProp(_el$8, "overflow", "hidden");
119
- _$insertNode(_el$9, _el$0);
120
- _$insertNode(_el$9, _el$10);
121
- _$insertNode(_el$9, _el$11);
122
- _$insertNode(_el$9, _el$12);
123
- _$insertNode(_el$9, _el$13);
124
- _$insertNode(_el$9, _el$14);
125
- _$insertNode(_el$9, _el$15);
126
- _$setProp(_el$9, "wrapMode", "none");
127
- _$setProp(_el$9, "overflow", "hidden");
128
- _$insertNode(_el$0, _el$1);
129
- _$insert(_el$0, () => catalog.publishedSkillCount, _el$1);
130
- _$insert(_el$9, () => catalog.assignmentCounts.global, _el$11);
131
- _$insert(_el$9, () => catalog.assignmentCounts.project, _el$12);
132
- _$insert(_el$9, () => catalog.assignmentCounts.user, _el$13);
133
- _$insert(_el$9, () => currentStatus.snapshot.ignoredPublishedSkills.count, _el$14);
134
- _$insert(_el$9, () => installableNotInstalledSkills.length, _el$15);
135
- _$insertNode(_el$16, _el$17);
136
- _$insertNode(_el$16, _el$18);
137
- _$setProp(_el$16, "wrapMode", "none");
138
- _$insert(_el$16, currentPage + 1, _el$18);
139
- _$insert(_el$16, totalPages, null);
140
- _$setProp(_el$19, "width", "100%");
141
- _$setProp(_el$19, "flexDirection", "column");
142
- _$setProp(_el$19, "marginTop", 1);
143
- _$setProp(_el$19, "overflow", "hidden");
144
- _$insert(_el$19, () => visibleRows.map(row => _$createComponent(SkillCatalogRow, {
145
- row: row,
146
- get theme() {
147
- return props.theme;
148
- },
149
- get onIgnore() {
150
- return props.onIgnoreSkill;
151
- },
152
- get onInstall() {
153
- return props.onInstallSkill;
154
- },
155
- get onUninstall() {
156
- return props.onUninstallSkill;
157
- }
158
- })));
159
- _$insertNode(_el$20, _el$21);
160
- _$insertNode(_el$20, _el$24);
161
- _$insertNode(_el$20, _el$26);
162
- _$setProp(_el$20, "width", "100%");
163
- _$setProp(_el$20, "flexDirection", "row");
164
- _$setProp(_el$20, "justifyContent", "space-between");
165
- _$setProp(_el$20, "overflow", "hidden");
166
- _$insertNode(_el$21, _el$22);
167
- _$setProp(_el$21, "onMouseUp", goBack);
168
- _$setProp(_el$21, "flexShrink", 0);
169
- _$insertNode(_el$22, _$createTextNode(`← Prev`));
170
- _$setProp(_el$22, "wrapMode", "none");
171
- _$insertNode(_el$24, _el$25);
172
- _$setProp(_el$24, "wrapMode", "none");
173
- _$setProp(_el$24, "overflow", "hidden");
174
- _$insert(_el$24, () => visibleRows.length, _el$25);
175
- _$insertNode(_el$26, _el$27);
176
- _$setProp(_el$26, "onMouseUp", goForward);
177
- _$setProp(_el$26, "flexShrink", 0);
178
- _$insertNode(_el$27, _$createTextNode(`Next →`));
179
- _$setProp(_el$27, "wrapMode", "none");
180
- _$effect(_p$ => {
181
- var _v$ = props.theme.text,
182
- _v$2 = props.theme.textMuted,
183
- _v$3 = canGoBack ? props.theme.text : props.theme.textMuted,
184
- _v$4 = props.theme.textMuted,
185
- _v$5 = canGoForward ? props.theme.text : props.theme.textMuted;
186
- _v$ !== _p$.e && (_p$.e = _$setProp(_el$9, "fg", _v$, _p$.e));
187
- _v$2 !== _p$.t && (_p$.t = _$setProp(_el$16, "fg", _v$2, _p$.t));
188
- _v$3 !== _p$.a && (_p$.a = _$setProp(_el$22, "fg", _v$3, _p$.a));
189
- _v$4 !== _p$.o && (_p$.o = _$setProp(_el$24, "fg", _v$4, _p$.o));
190
- _v$5 !== _p$.i && (_p$.i = _$setProp(_el$27, "fg", _v$5, _p$.i));
191
- return _p$;
192
- }, {
193
- e: undefined,
194
- t: undefined,
195
- a: undefined,
196
- o: undefined,
197
- i: undefined
198
- });
199
- return _el$7;
200
- })();
201
- };
202
- return (() => {
203
- var _el$29 = _$createElement("box");
204
- _$setProp(_el$29, "width", "100%");
205
- _$setProp(_el$29, "flexDirection", "column");
206
- _$setProp(_el$29, "overflow", "hidden");
207
- _$insert(_el$29, _$createComponent(PreferenceActionNoticeRow, {
208
- get notice() {
209
- return props.actionNotice();
210
- },
211
- get theme() {
212
- return props.theme;
213
- }
214
- }), null);
215
- _$insert(_el$29, content, null);
216
- return _el$29;
217
- })();
218
- };
219
- //# sourceMappingURL=wizard-skills-dialog-content.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["createSignal","SKILLS_PAGE_SIZE","compactStatusMessage","formatSkillsCatalogUnavailableMessage","getInstallableNotInstalledSkills","getSkillRowState","PreferenceActionNoticeRow","SkillCatalogRow","WizardSkillsDialogContent","props","page","setPage","content","currentStatus","status","kind","_el$","_$createElement","_$insertNode","_$createTextNode","_$setProp","_$effect","_$p","theme","textMuted","_el$3","_el$4","_$insert","message","warning","snapshot","catalog","_el$5","_el$6","installableNotInstalledSkills","rows","skills","map","skill","ignored","state","ignoredPublishedSkills","totalPages","Math","max","ceil","length","currentPage","min","startIndex","endIndex","visibleRows","slice","canGoBack","canGoForward","goBack","goForward","_el$7","_el$8","_el$9","_el$0","_el$1","_el$10","_el$11","_el$12","_el$13","_el$14","_el$15","_el$16","_el$17","_el$18","_el$19","_el$20","_el$21","_el$22","_el$24","_el$25","_el$26","_el$27","publishedSkillCount","assignmentCounts","global","project","user","count","row","_$createComponent","onIgnore","onIgnoreSkill","onInstall","onInstallSkill","onUninstall","onUninstallSkill","_p$","_v$","text","_v$2","_v$3","_v$4","_v$5","e","t","a","o","i","undefined","_el$29","notice","actionNotice"],"sources":["../../../src/tui/components/wizard-skills-dialog-content.tsx"],"sourcesContent":["import { createSignal } from 'solid-js';\nimport { SKILLS_PAGE_SIZE } from '../constants.js';\nimport { compactStatusMessage, formatSkillsCatalogUnavailableMessage } from '../formatting.js';\nimport { getInstallableNotInstalledSkills, getSkillRowState } from '../skill-helpers.js';\nimport type { PreferenceActionNotice, PreferenceScope, SkillDialogRow, StatusState, TuiPluginApi } from '../types.js';\nimport { PreferenceActionNoticeRow } from './preference-action-notice-row.js';\nimport { SkillCatalogRow } from './skill-catalog-row.js';\n\nexport const WizardSkillsDialogContent = (props: {\n status: () => StatusState;\n actionNotice: () => PreferenceActionNotice;\n theme: TuiPluginApi['theme']['current'];\n onIgnoreSkill: (row: SkillDialogRow) => void;\n onInstallSkill: (row: SkillDialogRow, preferenceScope: PreferenceScope) => void;\n onUninstallSkill: (row: SkillDialogRow) => void;\n}) => {\n const [page, setPage] = createSignal(0);\n const content = () => {\n const currentStatus = props.status();\n\n if (currentStatus.kind === 'loading') {\n return (\n <text fg={props.theme.textMuted} wrapMode=\"none\" overflow=\"hidden\">\n Refreshing published skills…\n </text>\n );\n }\n\n if (currentStatus.kind === 'error') {\n return (\n <text fg={props.theme.warning} wrapMode=\"none\" overflow=\"hidden\">\n unavailable: {compactStatusMessage(currentStatus.message)}\n </text>\n );\n }\n\n if (!currentStatus.snapshot.catalog) {\n return (\n <text fg={props.theme.textMuted} wrapMode=\"none\" overflow=\"hidden\">\n catalog {formatSkillsCatalogUnavailableMessage(currentStatus.snapshot)}\n </text>\n );\n }\n\n const { catalog } = currentStatus.snapshot;\n const installableNotInstalledSkills = getInstallableNotInstalledSkills(currentStatus.snapshot);\n const rows: SkillDialogRow[] = [\n ...catalog.skills.map((skill) => ({\n skill,\n ignored: false,\n state: getSkillRowState(skill),\n })),\n ...currentStatus.snapshot.ignoredPublishedSkills.skills.map((skill) => ({\n skill,\n ignored: true,\n state: getSkillRowState(skill),\n })),\n ...installableNotInstalledSkills.map((skill) => ({ skill, ignored: false, state: 'installable' as const })),\n ];\n const totalPages = Math.max(1, Math.ceil(rows.length / SKILLS_PAGE_SIZE));\n const currentPage = Math.min(page(), totalPages - 1);\n const startIndex = currentPage * SKILLS_PAGE_SIZE;\n const endIndex = Math.min(startIndex + SKILLS_PAGE_SIZE, rows.length);\n const visibleRows = rows.slice(startIndex, endIndex);\n const canGoBack = currentPage > 0;\n const canGoForward = currentPage < totalPages - 1;\n const goBack = () => {\n if (!canGoBack) return;\n\n setPage(currentPage - 1);\n };\n const goForward = () => {\n if (!canGoForward) return;\n\n setPage(currentPage + 1);\n };\n\n return (\n <box width=\"100%\" flexDirection=\"column\" overflow=\"hidden\">\n <box width=\"100%\" flexDirection=\"row\" justifyContent=\"space-between\" overflow=\"hidden\">\n <text fg={props.theme.text} wrapMode=\"none\" overflow=\"hidden\">\n <b>{catalog.publishedSkillCount} skills</b>\n &nbsp;· {catalog.assignmentCounts.global} GLOBAL SCOPE · {catalog.assignmentCounts.project} PROJECT SCOPE\n &nbsp;· {catalog.assignmentCounts.user} USER SCOPE\n &nbsp;· {currentStatus.snapshot.ignoredPublishedSkills.count} ignored\n &nbsp;· {installableNotInstalledSkills.length} installable/not installed\n </text>\n <text fg={props.theme.textMuted} wrapMode=\"none\">\n page {currentPage + 1}/{totalPages}\n </text>\n </box>\n <box width=\"100%\" flexDirection=\"column\" marginTop={1} overflow=\"hidden\">\n {visibleRows.map((row) => (\n <SkillCatalogRow\n row={row}\n theme={props.theme}\n onIgnore={props.onIgnoreSkill}\n onInstall={props.onInstallSkill}\n onUninstall={props.onUninstallSkill}\n />\n ))}\n </box>\n <box width=\"100%\" flexDirection=\"row\" justifyContent=\"space-between\" overflow=\"hidden\">\n <box onMouseUp={goBack} flexShrink={0}>\n <text fg={canGoBack ? props.theme.text : props.theme.textMuted} wrapMode=\"none\">\n ← Prev\n </text>\n </box>\n <text fg={props.theme.textMuted} wrapMode=\"none\" overflow=\"hidden\">\n {visibleRows.length} shown\n </text>\n <box onMouseUp={goForward} flexShrink={0}>\n <text fg={canGoForward ? props.theme.text : props.theme.textMuted} wrapMode=\"none\">\n Next →\n </text>\n </box>\n </box>\n </box>\n );\n };\n\n return (\n <box width=\"100%\" flexDirection=\"column\" overflow=\"hidden\">\n <PreferenceActionNoticeRow notice={props.actionNotice()} theme={props.theme} />\n {content()}\n </box>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +0,0 @@
1
- import type { RefreshStatus, StatusState, TuiPluginApi } from '../types.js';
2
- export declare const WizardSkillsDialog: (props: {
3
- api: TuiPluginApi;
4
- status: () => StatusState;
5
- refreshStatus: RefreshStatus;
6
- onClose: () => void;
7
- }) => any;
@@ -1,156 +0,0 @@
1
- import { effect as _$effect } from "@opentui/solid";
2
- import { insert as _$insert } from "@opentui/solid";
3
- import { createComponent as _$createComponent } from "@opentui/solid";
4
- import { createTextNode as _$createTextNode } from "@opentui/solid";
5
- import { insertNode as _$insertNode } from "@opentui/solid";
6
- import { setProp as _$setProp } from "@opentui/solid";
7
- import { createElement as _$createElement } from "@opentui/solid";
8
- import { createEffect, createMemo, createSignal } from 'solid-js';
9
- import { setPublishedSkillIgnored, setPublishedSkillInstalled } from '../../server.js';
10
- import { requestRender } from '../rendering.js';
11
- import { getErrorMessage, getSkillPreferenceScope } from '../skill-helpers.js';
12
- import { WizardSkillsDialogContent } from './wizard-skills-dialog-content.js';
13
- export const WizardSkillsDialog = props => {
14
- const theme = createMemo(() => props.api.theme.current);
15
- const [actionNotice, setActionNotice] = createSignal({
16
- kind: 'idle'
17
- });
18
- const refreshAfterPreferenceChange = message => {
19
- setActionNotice({
20
- kind: 'success',
21
- message
22
- });
23
- props.refreshStatus({
24
- showLoading: false
25
- });
26
- requestRender(props.api);
27
- };
28
- const showPreferenceFailure = error => {
29
- setActionNotice({
30
- kind: 'error',
31
- message: getErrorMessage(error)
32
- });
33
- props.refreshStatus({
34
- showLoading: false
35
- });
36
- requestRender(props.api);
37
- };
38
- const ignoreSkill = row => {
39
- const currentStatus = props.status();
40
- if (currentStatus.kind !== 'ready') return;
41
- const scopeKey = currentStatus.snapshot.ignoredPublishedSkills.scopeKey;
42
- setActionNotice({
43
- kind: 'pending',
44
- message: row.ignored ? 'Removing ignore preference…' : 'Ignoring skill…'
45
- });
46
- requestRender(props.api);
47
- void setPublishedSkillIgnored({
48
- worktree: props.api.state.path.worktree,
49
- directory: props.api.state.path.directory,
50
- scopeKey,
51
- skillSlug: row.skill.skillSlug,
52
- ignored: !row.ignored,
53
- preferenceScope: getSkillPreferenceScope(row.skill)
54
- }).then(() => refreshAfterPreferenceChange(row.ignored ? 'Skill is no longer ignored.' : 'Skill ignored.')).catch(showPreferenceFailure);
55
- };
56
- const installSkill = (row, preferenceScope) => {
57
- const currentStatus = props.status();
58
- if (currentStatus.kind !== 'ready') return;
59
- const scopeKey = currentStatus.snapshot.ignoredPublishedSkills.scopeKey;
60
- setActionNotice({
61
- kind: 'pending',
62
- message: `Installing skill for ${preferenceScope.toUpperCase()} SCOPE…`
63
- });
64
- requestRender(props.api);
65
- void setPublishedSkillInstalled({
66
- worktree: props.api.state.path.worktree,
67
- directory: props.api.state.path.directory,
68
- scopeKey,
69
- skillSlug: row.skill.skillSlug,
70
- installed: true,
71
- preferenceScope
72
- }).then(() => refreshAfterPreferenceChange(`Skill installed for ${preferenceScope.toUpperCase()} SCOPE.`)).catch(showPreferenceFailure);
73
- };
74
- const uninstallSkill = row => {
75
- const currentStatus = props.status();
76
- if (currentStatus.kind !== 'ready') return;
77
- const scopeKey = currentStatus.snapshot.ignoredPublishedSkills.scopeKey;
78
- setActionNotice({
79
- kind: 'pending',
80
- message: 'Uninstalling skill…'
81
- });
82
- requestRender(props.api);
83
- void setPublishedSkillInstalled({
84
- worktree: props.api.state.path.worktree,
85
- directory: props.api.state.path.directory,
86
- scopeKey,
87
- skillSlug: row.skill.skillSlug,
88
- installed: false,
89
- preferenceScope: getSkillPreferenceScope(row.skill)
90
- }).then(() => refreshAfterPreferenceChange('Skill uninstalled.')).catch(showPreferenceFailure);
91
- };
92
- createEffect(() => {
93
- props.api.ui?.dialog?.setSize?.('xlarge');
94
- });
95
- return (() => {
96
- var _el$ = _$createElement("box"),
97
- _el$2 = _$createElement("box"),
98
- _el$3 = _$createElement("text"),
99
- _el$4 = _$createElement("b"),
100
- _el$6 = _$createElement("box"),
101
- _el$7 = _$createElement("text"),
102
- _el$9 = _$createElement("box");
103
- _$insertNode(_el$, _el$2);
104
- _$insertNode(_el$, _el$9);
105
- _$setProp(_el$, "width", "100%");
106
- _$setProp(_el$, "flexDirection", "column");
107
- _$setProp(_el$, "paddingLeft", 1);
108
- _$setProp(_el$, "paddingRight", 1);
109
- _$setProp(_el$, "paddingBottom", 1);
110
- _$insertNode(_el$2, _el$3);
111
- _$insertNode(_el$2, _el$6);
112
- _$setProp(_el$2, "width", "100%");
113
- _$setProp(_el$2, "flexDirection", "row");
114
- _$setProp(_el$2, "justifyContent", "space-between");
115
- _$setProp(_el$2, "overflow", "hidden");
116
- _$insertNode(_el$3, _el$4);
117
- _$setProp(_el$3, "wrapMode", "none");
118
- _$setProp(_el$3, "overflow", "hidden");
119
- _$insertNode(_el$4, _$createTextNode(`Wizard Skills`));
120
- _$insertNode(_el$6, _el$7);
121
- _$setProp(_el$6, "flexShrink", 0);
122
- _$insertNode(_el$7, _$createTextNode(`Close`));
123
- _$setProp(_el$7, "wrapMode", "none");
124
- _$setProp(_el$9, "width", "100%");
125
- _$setProp(_el$9, "flexDirection", "column");
126
- _$setProp(_el$9, "marginTop", 1);
127
- _$setProp(_el$9, "overflow", "hidden");
128
- _$insert(_el$9, _$createComponent(WizardSkillsDialogContent, {
129
- get status() {
130
- return props.status;
131
- },
132
- actionNotice: actionNotice,
133
- get theme() {
134
- return theme();
135
- },
136
- onIgnoreSkill: ignoreSkill,
137
- onInstallSkill: installSkill,
138
- onUninstallSkill: uninstallSkill
139
- }));
140
- _$effect(_p$ => {
141
- var _v$ = theme().text,
142
- _v$2 = props.onClose,
143
- _v$3 = theme().textMuted;
144
- _v$ !== _p$.e && (_p$.e = _$setProp(_el$3, "fg", _v$, _p$.e));
145
- _v$2 !== _p$.t && (_p$.t = _$setProp(_el$6, "onMouseUp", _v$2, _p$.t));
146
- _v$3 !== _p$.a && (_p$.a = _$setProp(_el$7, "fg", _v$3, _p$.a));
147
- return _p$;
148
- }, {
149
- e: undefined,
150
- t: undefined,
151
- a: undefined
152
- });
153
- return _el$;
154
- })();
155
- };
156
- //# sourceMappingURL=wizard-skills-dialog.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["createEffect","createMemo","createSignal","setPublishedSkillIgnored","setPublishedSkillInstalled","requestRender","getErrorMessage","getSkillPreferenceScope","WizardSkillsDialogContent","WizardSkillsDialog","props","theme","api","current","actionNotice","setActionNotice","kind","refreshAfterPreferenceChange","message","refreshStatus","showLoading","showPreferenceFailure","error","ignoreSkill","row","currentStatus","status","scopeKey","snapshot","ignoredPublishedSkills","ignored","worktree","state","path","directory","skillSlug","skill","preferenceScope","then","catch","installSkill","toUpperCase","installed","uninstallSkill","ui","dialog","setSize","_el$","_$createElement","_el$2","_el$3","_el$4","_el$6","_el$7","_el$9","_$insertNode","_$setProp","_$createTextNode","_$insert","_$createComponent","onIgnoreSkill","onInstallSkill","onUninstallSkill","_$effect","_p$","_v$","text","_v$2","onClose","_v$3","textMuted","e","t","a","undefined"],"sources":["../../../src/tui/components/wizard-skills-dialog.tsx"],"sourcesContent":["import { createEffect, createMemo, createSignal } from 'solid-js';\nimport { setPublishedSkillIgnored, setPublishedSkillInstalled } from '../../server.js';\nimport { requestRender } from '../rendering.js';\nimport { getErrorMessage, getSkillPreferenceScope } from '../skill-helpers.js';\nimport type { PreferenceActionNotice, PreferenceScope, RefreshStatus, SkillDialogRow, StatusState, TuiPluginApi } from '../types.js';\nimport { WizardSkillsDialogContent } from './wizard-skills-dialog-content.js';\n\nexport const WizardSkillsDialog = (props: {\n api: TuiPluginApi;\n status: () => StatusState;\n refreshStatus: RefreshStatus;\n onClose: () => void;\n}) => {\n const theme = createMemo(() => props.api.theme.current);\n const [actionNotice, setActionNotice] = createSignal<PreferenceActionNotice>({ kind: 'idle' });\n\n const refreshAfterPreferenceChange = (message: string): void => {\n setActionNotice({ kind: 'success', message });\n props.refreshStatus({ showLoading: false });\n requestRender(props.api);\n };\n\n const showPreferenceFailure = (error: unknown): void => {\n setActionNotice({ kind: 'error', message: getErrorMessage(error) });\n props.refreshStatus({ showLoading: false });\n requestRender(props.api);\n };\n\n const ignoreSkill = (row: SkillDialogRow): void => {\n const currentStatus = props.status();\n if (currentStatus.kind !== 'ready') return;\n\n const scopeKey = currentStatus.snapshot.ignoredPublishedSkills.scopeKey;\n setActionNotice({ kind: 'pending', message: row.ignored ? 'Removing ignore preference…' : 'Ignoring skill…' });\n requestRender(props.api);\n void setPublishedSkillIgnored({\n worktree: props.api.state.path.worktree,\n directory: props.api.state.path.directory,\n scopeKey,\n skillSlug: row.skill.skillSlug,\n ignored: !row.ignored,\n preferenceScope: getSkillPreferenceScope(row.skill),\n })\n .then(() => refreshAfterPreferenceChange(row.ignored ? 'Skill is no longer ignored.' : 'Skill ignored.'))\n .catch(showPreferenceFailure);\n };\n\n const installSkill = (row: SkillDialogRow, preferenceScope: PreferenceScope): void => {\n const currentStatus = props.status();\n if (currentStatus.kind !== 'ready') return;\n\n const scopeKey = currentStatus.snapshot.ignoredPublishedSkills.scopeKey;\n setActionNotice({ kind: 'pending', message: `Installing skill for ${preferenceScope.toUpperCase()} SCOPE…` });\n requestRender(props.api);\n void setPublishedSkillInstalled({\n worktree: props.api.state.path.worktree,\n directory: props.api.state.path.directory,\n scopeKey,\n skillSlug: row.skill.skillSlug,\n installed: true,\n preferenceScope,\n })\n .then(() => refreshAfterPreferenceChange(`Skill installed for ${preferenceScope.toUpperCase()} SCOPE.`))\n .catch(showPreferenceFailure);\n };\n\n const uninstallSkill = (row: SkillDialogRow): void => {\n const currentStatus = props.status();\n if (currentStatus.kind !== 'ready') return;\n\n const scopeKey = currentStatus.snapshot.ignoredPublishedSkills.scopeKey;\n setActionNotice({ kind: 'pending', message: 'Uninstalling skill…' });\n requestRender(props.api);\n void setPublishedSkillInstalled({\n worktree: props.api.state.path.worktree,\n directory: props.api.state.path.directory,\n scopeKey,\n skillSlug: row.skill.skillSlug,\n installed: false,\n preferenceScope: getSkillPreferenceScope(row.skill),\n })\n .then(() => refreshAfterPreferenceChange('Skill uninstalled.'))\n .catch(showPreferenceFailure);\n };\n\n createEffect(() => {\n props.api.ui?.dialog?.setSize?.('xlarge');\n });\n\n return (\n <box width=\"100%\" flexDirection=\"column\" paddingLeft={1} paddingRight={1} paddingBottom={1}>\n <box width=\"100%\" flexDirection=\"row\" justifyContent=\"space-between\" overflow=\"hidden\">\n <text fg={theme().text} wrapMode=\"none\" overflow=\"hidden\">\n <b>Wizard Skills</b>\n </text>\n <box onMouseUp={props.onClose} flexShrink={0}>\n <text fg={theme().textMuted} wrapMode=\"none\">\n Close\n </text>\n </box>\n </box>\n <box width=\"100%\" flexDirection=\"column\" marginTop={1} overflow=\"hidden\">\n <WizardSkillsDialogContent\n status={props.status}\n actionNotice={actionNotice}\n theme={theme()}\n onIgnoreSkill={ignoreSkill}\n onInstallSkill={installSkill}\n onUninstallSkill={uninstallSkill}\n />\n </box>\n </box>\n );\n};\n"],"mappings":"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","ignoreList":[]}