@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.
- package/README.md +11 -7
- package/dist/graphql-operations.d.ts +6 -2
- package/dist/graphql-operations.js +173 -156
- package/dist/graphql-operations.js.map +1 -1
- package/dist/plugin-tools.d.ts +37 -0
- package/dist/plugin-tools.js +58 -7
- package/dist/plugin-tools.js.map +1 -1
- package/dist/published-skills-system-note.js +3 -7
- package/dist/published-skills-system-note.js.map +1 -1
- package/dist/published-skills-terminology.d.ts +21 -0
- package/dist/published-skills-terminology.js +38 -0
- package/dist/published-skills-terminology.js.map +1 -0
- package/dist/published-skills-transform.d.ts +99 -2
- package/dist/published-skills-transform.js +91 -19
- package/dist/published-skills-transform.js.map +1 -1
- package/dist/server/auth-bootstrap.d.ts +7 -0
- package/dist/server/auth-bootstrap.js +89 -0
- package/dist/server/auth-bootstrap.js.map +1 -0
- package/dist/server/client.d.ts +30 -1
- package/dist/server/client.js +81 -1
- package/dist/server/client.js.map +1 -1
- package/dist/server/import-sources.d.ts +27 -0
- package/dist/server/import-sources.js +115 -0
- package/dist/server/import-sources.js.map +1 -0
- package/dist/server/preferences.d.ts +22 -0
- package/dist/server/preferences.js +121 -0
- package/dist/server/preferences.js.map +1 -0
- package/dist/server/runtime.d.ts +3 -22
- package/dist/server/runtime.js +567 -242
- package/dist/server/runtime.js.map +1 -1
- package/dist/server/types.d.ts +87 -0
- package/dist/server/types.js.map +1 -1
- package/dist/server.d.ts +1 -0
- package/dist/server.js +1 -0
- package/dist/server.js.map +1 -1
- package/dist/smoke-published-skills.js +4 -4
- package/dist/smoke-published-skills.js.map +1 -1
- package/dist/tui/components/common.d.ts +0 -1
- package/dist/tui/components/common.js +6 -29
- package/dist/tui/components/common.js.map +1 -1
- package/dist/tui/components/status-content.js +1 -1
- package/dist/tui/components/status-content.js.map +1 -1
- package/dist/tui/constants.d.ts +0 -5
- package/dist/tui/constants.js +0 -5
- package/dist/tui/constants.js.map +1 -1
- package/dist/tui/formatting.d.ts +0 -3
- package/dist/tui/formatting.js +1 -13
- package/dist/tui/formatting.js.map +1 -1
- package/dist/tui/skill-helpers.d.ts +1 -11
- package/dist/tui/skill-helpers.js +0 -41
- package/dist/tui/skill-helpers.js.map +1 -1
- package/dist/tui/slots.d.ts +1 -1
- package/dist/tui/slots.js +1 -24
- package/dist/tui/slots.js.map +1 -1
- package/dist/tui/status.js +2 -2
- package/dist/tui/status.js.map +1 -1
- package/dist/tui/types.d.ts +0 -19
- package/dist/tui/types.js.map +1 -1
- package/package.json +1 -1
- package/dist/tui/components/preference-action-notice-row.d.ts +0 -5
- package/dist/tui/components/preference-action-notice-row.js +0 -17
- package/dist/tui/components/preference-action-notice-row.js.map +0 -1
- package/dist/tui/components/skill-catalog-row.d.ts +0 -8
- package/dist/tui/components/skill-catalog-row.js +0 -124
- package/dist/tui/components/skill-catalog-row.js.map +0 -1
- package/dist/tui/components/wizard-skills-dialog-content.d.ts +0 -9
- package/dist/tui/components/wizard-skills-dialog-content.js +0 -219
- package/dist/tui/components/wizard-skills-dialog-content.js.map +0 -1
- package/dist/tui/components/wizard-skills-dialog.d.ts +0 -7
- package/dist/tui/components/wizard-skills-dialog.js +0 -156
- package/dist/tui/components/wizard-skills-dialog.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["MAX_STATUS_MESSAGE_LENGTH","compactStatusMessage","message","length","slice","formatSkillsCatalogUnavailableMessage","snapshot","catalog","status","formatAuthStatus","roleLabel","authState","role","email","formatBackendOriginLabel","backendOrigin","hostname","URL","includes"],"sources":["../../src/tui/formatting.ts"],"sourcesContent":["import type { PluginStatusSnapshot } from '../server.js';\nimport { MAX_STATUS_MESSAGE_LENGTH } from './constants.js';\n\nexport const compactStatusMessage = (message: string): string => {\n if (message.length <= MAX_STATUS_MESSAGE_LENGTH) return message;\n\n return `${message.slice(0, MAX_STATUS_MESSAGE_LENGTH - 1)}…`;\n};\n\nexport const formatSkillsCatalogUnavailableMessage = (snapshot: PluginStatusSnapshot): string => {\n if (!snapshot.catalog && snapshot.status === 'missing_auth') {\n if (snapshot.message) return compactStatusMessage(snapshot.message);\n\n return 'locked (browser auth pending)';\n }\n\n if (!snapshot.catalog && snapshot.message) return compactStatusMessage(snapshot.message);\n if (!snapshot.catalog) return `unavailable (${snapshot.status})`;\n\n return 'unavailable';\n};\n\nexport const formatAuthStatus = (snapshot: PluginStatusSnapshot): string => {\n const roleLabel = snapshot.authState.role ? ` [${snapshot.authState.role}]` : '';\n if (snapshot.authState.status !== 'authenticated') return `${snapshot.authState.status}${roleLabel}`;\n if (!snapshot.authState.email) return `authenticated${roleLabel}`;\n\n return `${snapshot.authState.email}${roleLabel}`;\n};\n\nexport const formatBackendOriginLabel = (backendOrigin: string): string => {\n try {\n const { hostname } = new URL(backendOrigin);\n if (hostname === 'localhost' || hostname === '127.0.0.1') return 'localhost';\n\n return 'opencode-wizard';\n } catch {\n if (backendOrigin.includes('localhost') || backendOrigin.includes('127.0.0.1')) return 'localhost';\n\n return 'opencode-wizard';\n }\n};\n"],"mappings":"AACA,SAASA,yBAAyB,QAAQ,gBAAgB;AAE1D,OAAO,MAAMC,oBAAoB,GAAIC,OAAe,IAAa;EAC/D,IAAIA,OAAO,CAACC,MAAM,IAAIH,yBAAyB,EAAE,OAAOE,OAAO;EAE/D,OAAO,GAAGA,OAAO,CAACE,KAAK,CAAC,CAAC,EAAEJ,yBAAyB,GAAG,CAAC,CAAC,GAAG;AAC9D,CAAC;AAED,OAAO,MAAMK,qCAAqC,GAAIC,QAA8B,IAAa;EAC/F,IAAI,CAACA,QAAQ,CAACC,OAAO,IAAID,QAAQ,CAACE,MAAM,KAAK,cAAc,EAAE;IAC3D,IAAIF,QAAQ,CAACJ,OAAO,EAAE,OAAOD,oBAAoB,CAACK,QAAQ,CAACJ,OAAO,CAAC;IAEnE,OAAO,+BAA+B;EACxC;EAEA,IAAI,CAACI,QAAQ,CAACC,OAAO,IAAID,QAAQ,CAACJ,OAAO,EAAE,OAAOD,oBAAoB,CAACK,QAAQ,CAACJ,OAAO,CAAC;EACxF,IAAI,CAACI,QAAQ,CAACC,OAAO,EAAE,OAAO,gBAAgBD,QAAQ,CAACE,MAAM,GAAG;EAEhE,OAAO,aAAa;AACtB,CAAC;AAED,OAAO,MAAMC,gBAAgB,GAAIH,QAA8B,IAAa;EAC1E,MAAMI,SAAS,GAAGJ,QAAQ,CAACK,SAAS,CAACC,IAAI,GAAG,KAAKN,QAAQ,CAACK,SAAS,CAACC,IAAI,GAAG,GAAG,EAAE;EAChF,IAAIN,QAAQ,CAACK,SAAS,CAACH,MAAM,KAAK,eAAe,EAAE,OAAO,GAAGF,QAAQ,CAACK,SAAS,CAACH,MAAM,GAAGE,SAAS,EAAE;EACpG,IAAI,CAACJ,QAAQ,CAACK,SAAS,CAACE,KAAK,EAAE,OAAO,gBAAgBH,SAAS,EAAE;EAEjE,OAAO,GAAGJ,QAAQ,CAACK,SAAS,CAACE,KAAK,GAAGH,SAAS,EAAE;AAClD,CAAC;AAED,OAAO,MAAMI,wBAAwB,GAAIC,aAAqB,IAAa;EACzE,IAAI;IACF,MAAM;MAAEC;IAAS,CAAC,GAAG,IAAIC,GAAG,CAACF,aAAa,CAAC;IAC3C,IAAIC,QAAQ,KAAK,WAAW,IAAIA,QAAQ,KAAK,WAAW,EAAE,OAAO,WAAW;IAE5E,OAAO,iBAAiB;EAC1B,CAAC,CAAC,MAAM;IACN,IAAID,aAAa,CAACG,QAAQ,CAAC,WAAW,CAAC,IAAIH,aAAa,CAACG,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,WAAW;IAElG,OAAO,iBAAiB;EAC1B;AACF,CAAC","ignoreList":[]}
|
|
@@ -1,13 +1,3 @@
|
|
|
1
1
|
import type { PluginStatusSnapshot } from '../server.js';
|
|
2
|
-
import type {
|
|
3
|
-
export declare const getSkillDisplayName: (skill: PublishedSkillSummary) => string;
|
|
4
|
-
export declare const getSkillDescription: (skill: PublishedSkillSummary) => string | null;
|
|
5
|
-
export declare const getSkillTags: (skill: PublishedSkillSummary) => string;
|
|
6
|
-
export declare const isUserScopeAssignment: (assignmentSource: string) => boolean;
|
|
7
|
-
export declare const getSkillScopeLabel: (skill: PublishedSkillSummary, state: SkillRowState) => string;
|
|
8
|
-
export declare const getSkillPreferenceScope: (skill: PublishedSkillSummary) => PreferenceScope;
|
|
9
|
-
export declare const getSkillMeta: (skill: PublishedSkillSummary, state: SkillRowState) => string;
|
|
10
|
-
export declare const getRowStateLabel: (row: SkillDialogRow) => string;
|
|
11
|
-
export declare const getSkillRowState: (skill: PublishedSkillSummary) => SkillRowState;
|
|
2
|
+
import type { PublishedSkillSummary } from './types.js';
|
|
12
3
|
export declare const getInstallableNotInstalledSkills: (snapshot: PluginStatusSnapshot) => PublishedSkillSummary[];
|
|
13
|
-
export declare const getErrorMessage: (error: unknown) => string;
|
|
@@ -1,40 +1,3 @@
|
|
|
1
|
-
import { MAX_SKILL_TAGS } from './constants.js';
|
|
2
|
-
export const getSkillDisplayName = skill => skill.artifactName || skill.skillName || skill.skillSlug;
|
|
3
|
-
export const getSkillDescription = skill => {
|
|
4
|
-
if (skill.whenToUse) return skill.whenToUse;
|
|
5
|
-
if (skill.artifactDescription) return skill.artifactDescription;
|
|
6
|
-
return null;
|
|
7
|
-
};
|
|
8
|
-
export const getSkillTags = skill => {
|
|
9
|
-
const tagLabels = skill.tags.map(tag => tag.label || tag.slug).filter(Boolean).slice(0, MAX_SKILL_TAGS);
|
|
10
|
-
if (tagLabels.length === 0) return 'no tags';
|
|
11
|
-
return tagLabels.join(', ');
|
|
12
|
-
};
|
|
13
|
-
export const isUserScopeAssignment = assignmentSource => assignmentSource === 'USER' || assignmentSource === 'USER_GLOBAL' || assignmentSource === 'USER_WORKSPACE';
|
|
14
|
-
export const getSkillScopeLabel = (skill, state) => {
|
|
15
|
-
if (state === 'installable') return 'AVAILABLE';
|
|
16
|
-
if (isUserScopeAssignment(skill.assignmentSource) || state === 'user-scope') return 'USER SCOPE';
|
|
17
|
-
if (state === 'global-scope' || skill.contextKind === 'global') return 'GLOBAL SCOPE';
|
|
18
|
-
return 'PROJECT SCOPE';
|
|
19
|
-
};
|
|
20
|
-
export const getSkillPreferenceScope = skill => {
|
|
21
|
-
if (skill.assignmentSource === 'USER_GLOBAL') return 'global';
|
|
22
|
-
if (skill.assignmentSource === 'USER_WORKSPACE') return 'project';
|
|
23
|
-
if (skill.contextKind === 'global') return 'global';
|
|
24
|
-
return 'project';
|
|
25
|
-
};
|
|
26
|
-
export const getSkillMeta = (skill, state) => `${getSkillScopeLabel(skill, state)} · ${skill.assignmentLabel} · ${skill.policyLabel} · ${getSkillTags(skill)}`;
|
|
27
|
-
export const getRowStateLabel = row => {
|
|
28
|
-
const scopeLabel = getSkillScopeLabel(row.skill, row.state);
|
|
29
|
-
if (row.ignored) return `ignored · ${scopeLabel}`;
|
|
30
|
-
if (row.state === 'installable') return 'not installed';
|
|
31
|
-
return `active · ${scopeLabel}`;
|
|
32
|
-
};
|
|
33
|
-
export const getSkillRowState = skill => {
|
|
34
|
-
if (isUserScopeAssignment(skill.assignmentSource)) return 'user-scope';
|
|
35
|
-
if (skill.contextKind === 'global') return 'global-scope';
|
|
36
|
-
return 'project-scope';
|
|
37
|
-
};
|
|
38
1
|
export const getInstallableNotInstalledSkills = snapshot => {
|
|
39
2
|
const installableSkills = snapshot.installableCatalog?.skills ?? [];
|
|
40
3
|
if (installableSkills.length === 0) return [];
|
|
@@ -42,8 +5,4 @@ export const getInstallableNotInstalledSkills = snapshot => {
|
|
|
42
5
|
const ignoredSkillSlugs = new Set(snapshot.ignoredPublishedSkills.skills.map(skill => skill.skillSlug));
|
|
43
6
|
return installableSkills.filter(skill => !activeSkillSlugs.has(skill.skillSlug) && !ignoredSkillSlugs.has(skill.skillSlug));
|
|
44
7
|
};
|
|
45
|
-
export const getErrorMessage = error => {
|
|
46
|
-
if (error instanceof Error && error.message) return error.message;
|
|
47
|
-
return 'Preference update failed. Check plugin auth/backend status and try again.';
|
|
48
|
-
};
|
|
49
8
|
//# sourceMappingURL=skill-helpers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["getInstallableNotInstalledSkills","snapshot","installableSkills","installableCatalog","skills","length","activeSkillSlugs","Set","catalog","map","skill","skillSlug","ignoredSkillSlugs","ignoredPublishedSkills","filter","has"],"sources":["../../src/tui/skill-helpers.ts"],"sourcesContent":["import type { PluginStatusSnapshot } from '../server.js';\nimport type { PublishedSkillSummary } from './types.js';\n\nexport const getInstallableNotInstalledSkills = (snapshot: PluginStatusSnapshot): PublishedSkillSummary[] => {\n const installableSkills = snapshot.installableCatalog?.skills ?? [];\n if (installableSkills.length === 0) return [];\n\n const activeSkillSlugs = new Set(snapshot.catalog?.skills.map((skill) => skill.skillSlug) ?? []);\n const ignoredSkillSlugs = new Set(snapshot.ignoredPublishedSkills.skills.map((skill) => skill.skillSlug));\n\n return installableSkills.filter(\n (skill) => !activeSkillSlugs.has(skill.skillSlug) && !ignoredSkillSlugs.has(skill.skillSlug),\n );\n};\n"],"mappings":"AAGA,OAAO,MAAMA,gCAAgC,GAAIC,QAA8B,IAA8B;EAC3G,MAAMC,iBAAiB,GAAGD,QAAQ,CAACE,kBAAkB,EAAEC,MAAM,IAAI,EAAE;EACnE,IAAIF,iBAAiB,CAACG,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE;EAE7C,MAAMC,gBAAgB,GAAG,IAAIC,GAAG,CAACN,QAAQ,CAACO,OAAO,EAAEJ,MAAM,CAACK,GAAG,CAAEC,KAAK,IAAKA,KAAK,CAACC,SAAS,CAAC,IAAI,EAAE,CAAC;EAChG,MAAMC,iBAAiB,GAAG,IAAIL,GAAG,CAACN,QAAQ,CAACY,sBAAsB,CAACT,MAAM,CAACK,GAAG,CAAEC,KAAK,IAAKA,KAAK,CAACC,SAAS,CAAC,CAAC;EAEzG,OAAOT,iBAAiB,CAACY,MAAM,CAC5BJ,KAAK,IAAK,CAACJ,gBAAgB,CAACS,GAAG,CAACL,KAAK,CAACC,SAAS,CAAC,IAAI,CAACC,iBAAiB,CAACG,GAAG,CAACL,KAAK,CAACC,SAAS,CAC7F,CAAC;AACH,CAAC","ignoreList":[]}
|
package/dist/tui/slots.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { RefreshStatus, StatusState, TuiPluginApi, TuiSlotPlugin } from './types.js';
|
|
2
|
-
export declare const createWizardStatusSlot: (api: TuiPluginApi, status: () => StatusState,
|
|
2
|
+
export declare const createWizardStatusSlot: (api: TuiPluginApi, status: () => StatusState, _refreshStatus: RefreshStatus) => TuiSlotPlugin;
|
package/dist/tui/slots.js
CHANGED
|
@@ -1,28 +1,7 @@
|
|
|
1
1
|
import { createComponent as _$createComponent } from "@opentui/solid";
|
|
2
|
-
import { requestRender } from './rendering.js';
|
|
3
2
|
import { Panel } from './components/common.js';
|
|
4
3
|
import { SkillsRows } from './components/status-content.js';
|
|
5
|
-
|
|
6
|
-
const openWizardSkillsDialog = (api, status, refreshStatus) => {
|
|
7
|
-
const dialog = api.ui?.dialog;
|
|
8
|
-
if (!dialog?.replace) return;
|
|
9
|
-
refreshStatus({
|
|
10
|
-
showLoading: true
|
|
11
|
-
});
|
|
12
|
-
dialog.replace(() => _$createComponent(WizardSkillsDialog, {
|
|
13
|
-
api: api,
|
|
14
|
-
status: status,
|
|
15
|
-
refreshStatus: refreshStatus,
|
|
16
|
-
onClose: () => {
|
|
17
|
-
dialog.clear?.();
|
|
18
|
-
requestRender(api);
|
|
19
|
-
}
|
|
20
|
-
}), () => {
|
|
21
|
-
requestRender(api);
|
|
22
|
-
});
|
|
23
|
-
requestRender(api);
|
|
24
|
-
};
|
|
25
|
-
export const createWizardStatusSlot = (api, status, refreshStatus) => ({
|
|
4
|
+
export const createWizardStatusSlot = (api, status, _refreshStatus) => ({
|
|
26
5
|
order: 240,
|
|
27
6
|
slots: {
|
|
28
7
|
home_bottom: () => _$createComponent(Panel, {
|
|
@@ -30,7 +9,6 @@ export const createWizardStatusSlot = (api, status, refreshStatus) => ({
|
|
|
30
9
|
get theme() {
|
|
31
10
|
return api.theme.current;
|
|
32
11
|
},
|
|
33
|
-
onOpen: () => openWizardSkillsDialog(api, status, refreshStatus),
|
|
34
12
|
get children() {
|
|
35
13
|
return _$createComponent(SkillsRows, {
|
|
36
14
|
api: api,
|
|
@@ -43,7 +21,6 @@ export const createWizardStatusSlot = (api, status, refreshStatus) => ({
|
|
|
43
21
|
get theme() {
|
|
44
22
|
return api.theme.current;
|
|
45
23
|
},
|
|
46
|
-
onOpen: () => openWizardSkillsDialog(api, status, refreshStatus),
|
|
47
24
|
get children() {
|
|
48
25
|
return _$createComponent(SkillsRows, {
|
|
49
26
|
api: api,
|
package/dist/tui/slots.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["Panel","SkillsRows","createWizardStatusSlot","api","status","_refreshStatus","order","slots","home_bottom","_$createComponent","title","theme","current","children","sidebar_content","_ctx","_value"],"sources":["../../src/tui/slots.tsx"],"sourcesContent":["import type { RefreshStatus, StatusState, TuiPluginApi, TuiSlotContext, TuiSlotPlugin } from './types.js';\nimport { Panel } from './components/common.js';\nimport { SkillsRows } from './components/status-content.js';\n\nexport const createWizardStatusSlot = (\n api: TuiPluginApi,\n status: () => StatusState,\n _refreshStatus: RefreshStatus,\n): TuiSlotPlugin => ({\n order: 240,\n slots: {\n home_bottom: () => (\n <Panel title=\"Wizard Skills\" theme={api.theme.current}>\n <SkillsRows api={api} status={status} />\n </Panel>\n ),\n sidebar_content: (_ctx: TuiSlotContext, _value: { session_id: string }) => (\n <Panel title=\"Wizard Skills\" theme={api.theme.current}>\n <SkillsRows api={api} status={status} />\n </Panel>\n ),\n },\n});\n"],"mappings":";AACA,SAASA,KAAK,QAAQ,wBAAwB;AAC9C,SAASC,UAAU,QAAQ,gCAAgC;AAE3D,OAAO,MAAMC,sBAAsB,GAAGA,CACpCC,GAAiB,EACjBC,MAAyB,EACzBC,cAA6B,MACV;EACnBC,KAAK,EAAE,GAAG;EACVC,KAAK,EAAE;IACLC,WAAW,EAAEA,CAAA,KAAAC,iBAAA,CACVT,KAAK;MAACU,KAAK;MAAA,IAAiBC,KAAKA,CAAA;QAAA,OAAER,GAAG,CAACQ,KAAK,CAACC,OAAO;MAAA;MAAA,IAAAC,SAAA;QAAA,OAAAJ,iBAAA,CAClDR,UAAU;UAACE,GAAG,EAAEA,GAAG;UAAEC,MAAM,EAAEA;QAAM;MAAA;IAAA,EAEvC;IACDU,eAAe,EAAEA,CAACC,IAAoB,EAAEC,MAA8B,KAAAP,iBAAA,CACnET,KAAK;MAACU,KAAK;MAAA,IAAiBC,KAAKA,CAAA;QAAA,OAAER,GAAG,CAACQ,KAAK,CAACC,OAAO;MAAA;MAAA,IAAAC,SAAA;QAAA,OAAAJ,iBAAA,CAClDR,UAAU;UAACE,GAAG,EAAEA,GAAG;UAAEC,MAAM,EAAEA;QAAM;MAAA;IAAA;EAG1C;AACF,CAAC,CAAC","ignoreList":[]}
|
package/dist/tui/status.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { resolvePluginStatusSnapshot } from '../server.js';
|
|
2
2
|
import { STATUS_TIMEOUT_MS } from './constants.js';
|
|
3
3
|
export const loadStatus = async api => {
|
|
4
4
|
try {
|
|
5
|
-
const snapshot = await
|
|
5
|
+
const snapshot = await resolvePluginStatusSnapshot({
|
|
6
6
|
worktree: api.state.path.worktree,
|
|
7
7
|
directory: api.state.path.directory,
|
|
8
8
|
signal: AbortSignal.timeout(STATUS_TIMEOUT_MS)
|
package/dist/tui/status.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["resolvePluginStatusSnapshot","STATUS_TIMEOUT_MS","loadStatus","api","snapshot","worktree","state","path","directory","signal","AbortSignal","timeout","kind","error","message","Error"],"sources":["../../src/tui/status.ts"],"sourcesContent":["import { resolvePluginStatusSnapshot } from '../server.js';\nimport { STATUS_TIMEOUT_MS } from './constants.js';\nimport type { StatusState, TuiPluginApi } from './types.js';\n\nexport const loadStatus = async (api: TuiPluginApi): Promise<StatusState> => {\n try {\n const snapshot = await resolvePluginStatusSnapshot({\n worktree: api.state.path.worktree,\n directory: api.state.path.directory,\n signal: AbortSignal.timeout(STATUS_TIMEOUT_MS),\n });\n\n return {\n kind: 'ready',\n snapshot,\n };\n } catch (error) {\n return {\n kind: 'error',\n message: error instanceof Error ? error.message : 'Unable to load opencode-wizard status.',\n };\n }\n};\n"],"mappings":"AAAA,SAASA,2BAA2B,QAAQ,cAAc;AAC1D,SAASC,iBAAiB,QAAQ,gBAAgB;AAGlD,OAAO,MAAMC,UAAU,GAAG,MAAOC,GAAiB,IAA2B;EAC3E,IAAI;IACF,MAAMC,QAAQ,GAAG,MAAMJ,2BAA2B,CAAC;MACjDK,QAAQ,EAAEF,GAAG,CAACG,KAAK,CAACC,IAAI,CAACF,QAAQ;MACjCG,SAAS,EAAEL,GAAG,CAACG,KAAK,CAACC,IAAI,CAACC,SAAS;MACnCC,MAAM,EAAEC,WAAW,CAACC,OAAO,CAACV,iBAAiB;IAC/C,CAAC,CAAC;IAEF,OAAO;MACLW,IAAI,EAAE,OAAO;MACbR;IACF,CAAC;EACH,CAAC,CAAC,OAAOS,KAAK,EAAE;IACd,OAAO;MACLD,IAAI,EAAE,OAAO;MACbE,OAAO,EAAED,KAAK,YAAYE,KAAK,GAAGF,KAAK,CAACC,OAAO,GAAG;IACpD,CAAC;EACH;AACF,CAAC","ignoreList":[]}
|
package/dist/tui/types.d.ts
CHANGED
|
@@ -51,25 +51,6 @@ export type TuiSlotPlugin = {
|
|
|
51
51
|
};
|
|
52
52
|
export type TuiPlugin = (api: TuiPluginApi) => void | Promise<void>;
|
|
53
53
|
export type PublishedSkillSummary = NonNullable<PluginStatusSnapshot['catalog']>['skills'][number];
|
|
54
|
-
export type SkillRowState = 'global-scope' | 'project-scope' | 'user-scope' | 'installable';
|
|
55
|
-
export type SkillDialogRow = {
|
|
56
|
-
skill: PublishedSkillSummary;
|
|
57
|
-
ignored: boolean;
|
|
58
|
-
state: SkillRowState;
|
|
59
|
-
};
|
|
60
54
|
export type RefreshStatus = (options?: {
|
|
61
55
|
showLoading?: boolean;
|
|
62
56
|
}) => void;
|
|
63
|
-
export type PreferenceScope = 'global' | 'project';
|
|
64
|
-
export type PreferenceActionNotice = {
|
|
65
|
-
kind: 'idle';
|
|
66
|
-
} | {
|
|
67
|
-
kind: 'pending';
|
|
68
|
-
message: string;
|
|
69
|
-
} | {
|
|
70
|
-
kind: 'success';
|
|
71
|
-
message: string;
|
|
72
|
-
} | {
|
|
73
|
-
kind: 'error';
|
|
74
|
-
message: string;
|
|
75
|
-
};
|
package/dist/tui/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../src/tui/types.ts"],"sourcesContent":["import type { RGBA } from '@opentui/core';\nimport type { JSX } from 'solid-js';\nimport type { PluginStatusSnapshot } from '../server.js';\n\nexport type StatusState =\n | {\n kind: 'loading';\n }\n | {\n kind: 'ready';\n snapshot: PluginStatusSnapshot;\n }\n | {\n kind: 'error';\n message: string;\n };\n\nexport type WizardTheme = {\n text: string | RGBA | undefined;\n textMuted: string | RGBA | undefined;\n warning: string | RGBA | undefined;\n};\n\nexport type TuiPluginApi = {\n theme: {\n current: WizardTheme;\n };\n ui?: {\n dialog?: {\n replace?: (render: () => JSX.Element, onClose?: () => void) => void;\n clear?: () => void;\n setSize?: (size: 'medium' | 'large' | 'xlarge') => void;\n };\n };\n renderer?: {\n requestRender?: () => void;\n };\n slots: {\n register: (slot: TuiSlotPlugin) => void;\n };\n state: {\n path: {\n worktree: string;\n directory: string;\n };\n };\n};\n\nexport type TuiSlotContext = unknown;\n\nexport type TuiSlotPlugin = {\n order: number;\n slots: {\n home_bottom: () => JSX.Element;\n sidebar_content: (ctx: TuiSlotContext, value: { session_id: string }) => JSX.Element;\n };\n};\n\nexport type TuiPlugin = (api: TuiPluginApi) => void | Promise<void>;\n\nexport type PublishedSkillSummary = NonNullable<PluginStatusSnapshot['catalog']>['skills'][number];\nexport type
|
|
1
|
+
{"version":3,"names":[],"sources":["../../src/tui/types.ts"],"sourcesContent":["import type { RGBA } from '@opentui/core';\nimport type { JSX } from 'solid-js';\nimport type { PluginStatusSnapshot } from '../server.js';\n\nexport type StatusState =\n | {\n kind: 'loading';\n }\n | {\n kind: 'ready';\n snapshot: PluginStatusSnapshot;\n }\n | {\n kind: 'error';\n message: string;\n };\n\nexport type WizardTheme = {\n text: string | RGBA | undefined;\n textMuted: string | RGBA | undefined;\n warning: string | RGBA | undefined;\n};\n\nexport type TuiPluginApi = {\n theme: {\n current: WizardTheme;\n };\n ui?: {\n dialog?: {\n replace?: (render: () => JSX.Element, onClose?: () => void) => void;\n clear?: () => void;\n setSize?: (size: 'medium' | 'large' | 'xlarge') => void;\n };\n };\n renderer?: {\n requestRender?: () => void;\n };\n slots: {\n register: (slot: TuiSlotPlugin) => void;\n };\n state: {\n path: {\n worktree: string;\n directory: string;\n };\n };\n};\n\nexport type TuiSlotContext = unknown;\n\nexport type TuiSlotPlugin = {\n order: number;\n slots: {\n home_bottom: () => JSX.Element;\n sidebar_content: (ctx: TuiSlotContext, value: { session_id: string }) => JSX.Element;\n };\n};\n\nexport type TuiPlugin = (api: TuiPluginApi) => void | Promise<void>;\n\nexport type PublishedSkillSummary = NonNullable<PluginStatusSnapshot['catalog']>['skills'][number];\nexport type RefreshStatus = (options?: { showLoading?: boolean }) => void;\n"],"mappings":"","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { effect as _$effect } from "@opentui/solid";
|
|
2
|
-
import { insert as _$insert } from "@opentui/solid";
|
|
3
|
-
import { setProp as _$setProp } from "@opentui/solid";
|
|
4
|
-
import { createElement as _$createElement } from "@opentui/solid";
|
|
5
|
-
import { compactStatusMessage } from '../formatting.js';
|
|
6
|
-
export const PreferenceActionNoticeRow = props => {
|
|
7
|
-
if (props.notice.kind === 'idle') return null;
|
|
8
|
-
return (() => {
|
|
9
|
-
var _el$ = _$createElement("text");
|
|
10
|
-
_$setProp(_el$, "wrapMode", "none");
|
|
11
|
-
_$setProp(_el$, "overflow", "hidden");
|
|
12
|
-
_$insert(_el$, () => compactStatusMessage(props.notice.message));
|
|
13
|
-
_$effect(_$p => _$setProp(_el$, "fg", props.notice.kind === 'error' ? props.theme.warning : props.theme.textMuted, _$p));
|
|
14
|
-
return _el$;
|
|
15
|
-
})();
|
|
16
|
-
};
|
|
17
|
-
//# sourceMappingURL=preference-action-notice-row.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["compactStatusMessage","PreferenceActionNoticeRow","props","notice","kind","_el$","_$createElement","_$setProp","_$insert","message","_$effect","_$p","theme","warning","textMuted"],"sources":["../../../src/tui/components/preference-action-notice-row.tsx"],"sourcesContent":["import { compactStatusMessage } from '../formatting.js';\nimport type { PreferenceActionNotice, TuiPluginApi } from '../types.js';\n\nexport const PreferenceActionNoticeRow = (props: {\n notice: PreferenceActionNotice;\n theme: TuiPluginApi['theme']['current'];\n}) => {\n if (props.notice.kind === 'idle') return null;\n\n return (\n <text\n fg={props.notice.kind === 'error' ? props.theme.warning : props.theme.textMuted}\n wrapMode=\"none\"\n overflow=\"hidden\"\n >\n {compactStatusMessage(props.notice.message)}\n </text>\n );\n};\n"],"mappings":";;;;AAAA,SAASA,oBAAoB,QAAQ,kBAAkB;AAGvD,OAAO,MAAMC,yBAAyB,GAAIC,KAGzC,IAAK;EACJ,IAAIA,KAAK,CAACC,MAAM,CAACC,IAAI,KAAK,MAAM,EAAE,OAAO,IAAI;EAE7C;IAAA,IAAAC,IAAA,GAAAC,eAAA;IAAAC,SAAA,CAAAF,IAAA,cAGa,MAAM;IAAAE,SAAA,CAAAF,IAAA,cACN,QAAQ;IAAAG,QAAA,CAAAH,IAAA,QAEhBL,oBAAoB,CAACE,KAAK,CAACC,MAAM,CAACM,OAAO,CAAC;IAAAC,QAAA,CAAAC,GAAA,IAAAJ,SAAA,CAAAF,IAAA,QAJvCH,KAAK,CAACC,MAAM,CAACC,IAAI,KAAK,OAAO,GAAGF,KAAK,CAACU,KAAK,CAACC,OAAO,GAAGX,KAAK,CAACU,KAAK,CAACE,SAAS,EAAAH,GAAA;IAAA,OAAAN,IAAA;EAAA;AAOrF,CAAC","ignoreList":[]}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { PreferenceScope, SkillDialogRow, TuiPluginApi } from '../types.js';
|
|
2
|
-
export declare const SkillCatalogRow: (props: {
|
|
3
|
-
row: SkillDialogRow;
|
|
4
|
-
theme: TuiPluginApi["theme"]["current"];
|
|
5
|
-
onIgnore: (row: SkillDialogRow) => void;
|
|
6
|
-
onInstall: (row: SkillDialogRow, preferenceScope: PreferenceScope) => void;
|
|
7
|
-
onUninstall: (row: SkillDialogRow) => void;
|
|
8
|
-
}) => any;
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import { effect as _$effect } from "@opentui/solid";
|
|
2
|
-
import { memo as _$memo } from "@opentui/solid";
|
|
3
|
-
import { createTextNode as _$createTextNode } from "@opentui/solid";
|
|
4
|
-
import { insertNode as _$insertNode } from "@opentui/solid";
|
|
5
|
-
import { insert as _$insert } from "@opentui/solid";
|
|
6
|
-
import { setProp as _$setProp } from "@opentui/solid";
|
|
7
|
-
import { createElement as _$createElement } from "@opentui/solid";
|
|
8
|
-
import { compactSkillDescription, compactSkillMeta, compactSkillName } from '../formatting.js';
|
|
9
|
-
import { getRowStateLabel, getSkillDescription, getSkillDisplayName, getSkillMeta } from '../skill-helpers.js';
|
|
10
|
-
export const SkillCatalogRow = props => {
|
|
11
|
-
const skill = props.row.skill;
|
|
12
|
-
const description = getSkillDescription(skill);
|
|
13
|
-
const canUninstall = skill.assignmentSource === 'USER_GLOBAL' || skill.assignmentSource === 'USER_WORKSPACE';
|
|
14
|
-
return (() => {
|
|
15
|
-
var _el$ = _$createElement("box"),
|
|
16
|
-
_el$2 = _$createElement("box"),
|
|
17
|
-
_el$3 = _$createElement("text"),
|
|
18
|
-
_el$4 = _$createElement("b"),
|
|
19
|
-
_el$5 = _$createTextNode(` (`),
|
|
20
|
-
_el$7 = _$createTextNode(`)`),
|
|
21
|
-
_el$8 = _$createElement("box"),
|
|
22
|
-
_el$9 = _$createElement("text");
|
|
23
|
-
_$insertNode(_el$, _el$2);
|
|
24
|
-
_$insertNode(_el$, _el$9);
|
|
25
|
-
_$setProp(_el$, "width", "100%");
|
|
26
|
-
_$setProp(_el$, "flexDirection", "column");
|
|
27
|
-
_$setProp(_el$, "overflow", "hidden");
|
|
28
|
-
_$setProp(_el$, "marginBottom", 1);
|
|
29
|
-
_$insertNode(_el$2, _el$3);
|
|
30
|
-
_$insertNode(_el$2, _el$8);
|
|
31
|
-
_$setProp(_el$2, "width", "100%");
|
|
32
|
-
_$setProp(_el$2, "flexDirection", "row");
|
|
33
|
-
_$setProp(_el$2, "justifyContent", "space-between");
|
|
34
|
-
_$setProp(_el$2, "overflow", "hidden");
|
|
35
|
-
_$insertNode(_el$3, _el$4);
|
|
36
|
-
_$insertNode(_el$3, _el$5);
|
|
37
|
-
_$insertNode(_el$3, _el$7);
|
|
38
|
-
_$setProp(_el$3, "wrapMode", "none");
|
|
39
|
-
_$setProp(_el$3, "overflow", "hidden");
|
|
40
|
-
_$insert(_el$4, () => compactSkillName(getSkillDisplayName(skill)));
|
|
41
|
-
_$insert(_el$3, () => getRowStateLabel(props.row), _el$7);
|
|
42
|
-
_$setProp(_el$8, "flexDirection", "row");
|
|
43
|
-
_$setProp(_el$8, "flexShrink", 0);
|
|
44
|
-
_$insert(_el$8, (() => {
|
|
45
|
-
var _c$ = _$memo(() => props.row.state === 'installable');
|
|
46
|
-
return () => _c$() ? [(() => {
|
|
47
|
-
var _el$0 = _$createElement("box"),
|
|
48
|
-
_el$1 = _$createElement("text");
|
|
49
|
-
_$insertNode(_el$0, _el$1);
|
|
50
|
-
_$setProp(_el$0, "onMouseUp", () => props.onInstall(props.row, 'global'));
|
|
51
|
-
_$setProp(_el$0, "flexShrink", 0);
|
|
52
|
-
_$insertNode(_el$1, _$createTextNode(`GLOBAL SCOPE`));
|
|
53
|
-
_$setProp(_el$1, "wrapMode", "none");
|
|
54
|
-
_$effect(_$p => _$setProp(_el$1, "fg", props.theme.textMuted, _$p));
|
|
55
|
-
return _el$0;
|
|
56
|
-
})(), (() => {
|
|
57
|
-
var _el$11 = _$createElement("text");
|
|
58
|
-
_$insertNode(_el$11, _$createTextNode(` / `));
|
|
59
|
-
_$setProp(_el$11, "wrapMode", "none");
|
|
60
|
-
_$effect(_$p => _$setProp(_el$11, "fg", props.theme.textMuted, _$p));
|
|
61
|
-
return _el$11;
|
|
62
|
-
})(), (() => {
|
|
63
|
-
var _el$13 = _$createElement("box"),
|
|
64
|
-
_el$14 = _$createElement("text");
|
|
65
|
-
_$insertNode(_el$13, _el$14);
|
|
66
|
-
_$setProp(_el$13, "onMouseUp", () => props.onInstall(props.row, 'project'));
|
|
67
|
-
_$setProp(_el$13, "flexShrink", 0);
|
|
68
|
-
_$insertNode(_el$14, _$createTextNode(`PROJECT SCOPE`));
|
|
69
|
-
_$setProp(_el$14, "wrapMode", "none");
|
|
70
|
-
_$effect(_$p => _$setProp(_el$14, "fg", props.theme.textMuted, _$p));
|
|
71
|
-
return _el$13;
|
|
72
|
-
})()] : [(() => {
|
|
73
|
-
var _el$16 = _$createElement("box"),
|
|
74
|
-
_el$17 = _$createElement("text");
|
|
75
|
-
_$insertNode(_el$16, _el$17);
|
|
76
|
-
_$setProp(_el$16, "onMouseUp", () => props.onIgnore(props.row));
|
|
77
|
-
_$setProp(_el$16, "flexShrink", 0);
|
|
78
|
-
_$setProp(_el$17, "wrapMode", "none");
|
|
79
|
-
_$insert(_el$17, () => props.row.ignored ? 'Unignore' : 'Ignore');
|
|
80
|
-
_$effect(_$p => _$setProp(_el$17, "fg", props.theme.textMuted, _$p));
|
|
81
|
-
return _el$16;
|
|
82
|
-
})(), canUninstall ? [(() => {
|
|
83
|
-
var _el$18 = _$createElement("text");
|
|
84
|
-
_$insertNode(_el$18, _$createTextNode(` / `));
|
|
85
|
-
_$setProp(_el$18, "wrapMode", "none");
|
|
86
|
-
_$effect(_$p => _$setProp(_el$18, "fg", props.theme.textMuted, _$p));
|
|
87
|
-
return _el$18;
|
|
88
|
-
})(), (() => {
|
|
89
|
-
var _el$20 = _$createElement("box"),
|
|
90
|
-
_el$21 = _$createElement("text");
|
|
91
|
-
_$insertNode(_el$20, _el$21);
|
|
92
|
-
_$setProp(_el$20, "onMouseUp", () => props.onUninstall(props.row));
|
|
93
|
-
_$setProp(_el$20, "flexShrink", 0);
|
|
94
|
-
_$insertNode(_el$21, _$createTextNode(`Uninstall`));
|
|
95
|
-
_$setProp(_el$21, "wrapMode", "none");
|
|
96
|
-
_$effect(_$p => _$setProp(_el$21, "fg", props.theme.textMuted, _$p));
|
|
97
|
-
return _el$20;
|
|
98
|
-
})()] : null];
|
|
99
|
-
})());
|
|
100
|
-
_$setProp(_el$9, "wrapMode", "none");
|
|
101
|
-
_$setProp(_el$9, "overflow", "hidden");
|
|
102
|
-
_$insert(_el$9, () => compactSkillMeta(getSkillMeta(skill, props.row.state)));
|
|
103
|
-
_$insert(_el$, description ? (() => {
|
|
104
|
-
var _el$23 = _$createElement("text");
|
|
105
|
-
_$setProp(_el$23, "wrapMode", "none");
|
|
106
|
-
_$setProp(_el$23, "overflow", "hidden");
|
|
107
|
-
_$insert(_el$23, () => compactSkillDescription(description));
|
|
108
|
-
_$effect(_$p => _$setProp(_el$23, "fg", props.theme.text, _$p));
|
|
109
|
-
return _el$23;
|
|
110
|
-
})() : null, null);
|
|
111
|
-
_$effect(_p$ => {
|
|
112
|
-
var _v$ = props.row.ignored ? props.theme.textMuted : props.theme.text,
|
|
113
|
-
_v$2 = props.theme.textMuted;
|
|
114
|
-
_v$ !== _p$.e && (_p$.e = _$setProp(_el$3, "fg", _v$, _p$.e));
|
|
115
|
-
_v$2 !== _p$.t && (_p$.t = _$setProp(_el$9, "fg", _v$2, _p$.t));
|
|
116
|
-
return _p$;
|
|
117
|
-
}, {
|
|
118
|
-
e: undefined,
|
|
119
|
-
t: undefined
|
|
120
|
-
});
|
|
121
|
-
return _el$;
|
|
122
|
-
})();
|
|
123
|
-
};
|
|
124
|
-
//# sourceMappingURL=skill-catalog-row.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["compactSkillDescription","compactSkillMeta","compactSkillName","getRowStateLabel","getSkillDescription","getSkillDisplayName","getSkillMeta","SkillCatalogRow","props","skill","row","description","canUninstall","assignmentSource","_el$","_$createElement","_el$2","_el$3","_el$4","_el$5","_$createTextNode","_el$7","_el$8","_el$9","_$insertNode","_$setProp","_$insert","_c$","_$memo","state","_el$0","_el$1","onInstall","_$effect","_$p","theme","textMuted","_el$11","_el$13","_el$14","_el$16","_el$17","onIgnore","ignored","_el$18","_el$20","_el$21","onUninstall","_el$23","text","_p$","_v$","_v$2","e","t","undefined"],"sources":["../../../src/tui/components/skill-catalog-row.tsx"],"sourcesContent":["import { compactSkillDescription, compactSkillMeta, compactSkillName } from '../formatting.js';\nimport {\n getRowStateLabel,\n getSkillDescription,\n getSkillDisplayName,\n getSkillMeta,\n} from '../skill-helpers.js';\nimport type { PreferenceScope, SkillDialogRow, TuiPluginApi } from '../types.js';\n\nexport const SkillCatalogRow = (props: {\n row: SkillDialogRow;\n theme: TuiPluginApi['theme']['current'];\n onIgnore: (row: SkillDialogRow) => void;\n onInstall: (row: SkillDialogRow, preferenceScope: PreferenceScope) => void;\n onUninstall: (row: SkillDialogRow) => void;\n}) => {\n const skill = props.row.skill;\n const description = getSkillDescription(skill);\n const canUninstall = skill.assignmentSource === 'USER_GLOBAL' || skill.assignmentSource === 'USER_WORKSPACE';\n\n return (\n <box width=\"100%\" flexDirection=\"column\" overflow=\"hidden\" marginBottom={1}>\n <box width=\"100%\" flexDirection=\"row\" justifyContent=\"space-between\" overflow=\"hidden\">\n <text fg={props.row.ignored ? props.theme.textMuted : props.theme.text} wrapMode=\"none\" overflow=\"hidden\">\n <b>{compactSkillName(getSkillDisplayName(skill))}</b>\n {' '}({getRowStateLabel(props.row)})\n </text>\n <box flexDirection=\"row\" flexShrink={0}>\n {props.row.state === 'installable' ? (\n <>\n <box onMouseUp={() => props.onInstall(props.row, 'global')} flexShrink={0}>\n <text fg={props.theme.textMuted} wrapMode=\"none\">\n GLOBAL SCOPE\n </text>\n </box>\n <text fg={props.theme.textMuted} wrapMode=\"none\">\n {' / '}\n </text>\n <box onMouseUp={() => props.onInstall(props.row, 'project')} flexShrink={0}>\n <text fg={props.theme.textMuted} wrapMode=\"none\">\n PROJECT SCOPE\n </text>\n </box>\n </>\n ) : (\n <>\n <box onMouseUp={() => props.onIgnore(props.row)} flexShrink={0}>\n <text fg={props.theme.textMuted} wrapMode=\"none\">\n {props.row.ignored ? 'Unignore' : 'Ignore'}\n </text>\n </box>\n {canUninstall ? (\n <>\n <text fg={props.theme.textMuted} wrapMode=\"none\">\n {' / '}\n </text>\n <box onMouseUp={() => props.onUninstall(props.row)} flexShrink={0}>\n <text fg={props.theme.textMuted} wrapMode=\"none\">\n Uninstall\n </text>\n </box>\n </>\n ) : null}\n </>\n )}\n </box>\n </box>\n <text fg={props.theme.textMuted} wrapMode=\"none\" overflow=\"hidden\">\n {compactSkillMeta(getSkillMeta(skill, props.row.state))}\n </text>\n {description ? (\n <text fg={props.theme.text} wrapMode=\"none\" overflow=\"hidden\">\n {compactSkillDescription(description)}\n </text>\n ) : null}\n </box>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { PreferenceActionNotice, PreferenceScope, SkillDialogRow, StatusState, TuiPluginApi } from '../types.js';
|
|
2
|
-
export declare const WizardSkillsDialogContent: (props: {
|
|
3
|
-
status: () => StatusState;
|
|
4
|
-
actionNotice: () => PreferenceActionNotice;
|
|
5
|
-
theme: TuiPluginApi["theme"]["current"];
|
|
6
|
-
onIgnoreSkill: (row: SkillDialogRow) => void;
|
|
7
|
-
onInstallSkill: (row: SkillDialogRow, preferenceScope: PreferenceScope) => void;
|
|
8
|
-
onUninstallSkill: (row: SkillDialogRow) => void;
|
|
9
|
-
}) => any;
|