@aexol/opencode-wizard 0.3.10 → 0.3.13
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 +4 -1
- package/dist/graphql-operations.d.ts +5 -4
- package/dist/graphql-operations.js +27 -2
- package/dist/graphql-operations.js.map +1 -1
- package/dist/plugin-tools.d.ts +3 -0
- package/dist/plugin-tools.js +12 -9
- package/dist/plugin-tools.js.map +1 -1
- package/dist/published-skills-system-note.js +1 -1
- package/dist/published-skills-system-note.js.map +1 -1
- package/dist/published-skills-transform.d.ts +22 -4
- package/dist/published-skills-transform.js +21 -5
- package/dist/published-skills-transform.js.map +1 -1
- package/dist/server/client.d.ts +11 -4
- package/dist/server/client.js +89 -6
- package/dist/server/client.js.map +1 -1
- package/dist/server/preferences.js +2 -1
- package/dist/server/preferences.js.map +1 -1
- package/dist/server/runtime.d.ts +1 -1
- package/dist/server/runtime.js +178 -27
- package/dist/server/runtime.js.map +1 -1
- package/dist/server/status.js +6 -2
- package/dist/server/status.js.map +1 -1
- package/dist/server/types.d.ts +17 -4
- package/dist/server/types.js.map +1 -1
- package/dist/smoke-published-skills.js +6 -3
- package/dist/smoke-published-skills.js.map +1 -1
- package/dist/tui/components/skill-picker-dialog.d.ts +7 -0
- package/dist/tui/components/skill-picker-dialog.js +94 -0
- package/dist/tui/components/skill-picker-dialog.js.map +1 -0
- package/dist/tui/components/status-content.d.ts +4 -0
- package/dist/tui/components/status-content.js +145 -20
- package/dist/tui/components/status-content.js.map +1 -1
- package/dist/tui/plugin.js +36 -69
- package/dist/tui/plugin.js.map +1 -1
- package/dist/tui/skill-helpers.d.ts +15 -2
- package/dist/tui/skill-helpers.js +82 -20
- package/dist/tui/skill-helpers.js.map +1 -1
- package/dist/tui/slots.js +13 -3
- package/dist/tui/slots.js.map +1 -1
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["MAX_LISTED_SKILLS","getInstallableNotInstalledSkills","snapshot","installableSkills","installableCatalog","skills","length","activeSkillSlugs","Set","catalog","map","skill","skillSlug","ignoredSkillSlugs","ignoredPublishedSkills","filter","has","getUserRoleLabel","authState","role","status","getUserRoleRow","label","value","compactSkillName","name","skillName","trim","artifactName","toEffectiveSkillLabel","assignmentSource","includes","contextKind","getSkillListRows","activeRows","availableRows","ignoredRows","rows","slice","getSkillActionRows"],"sources":["../../src/tui/skill-helpers.ts"],"sourcesContent":["import type { PluginStatusSnapshot } from '../server.js';\nimport type { PublishedSkillSummary } from './types.js';\n\nconst MAX_LISTED_SKILLS = 6;\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\nexport type SkillListRow = {\n label: string;\n value: string;\n};\n\nconst getUserRoleLabel = (snapshot: PluginStatusSnapshot): string => {\n if (snapshot.authState.role) return snapshot.authState.role;\n if (snapshot.authState.status === 'authenticated') return 'USER';\n\n return 'none';\n};\n\nexport const getUserRoleRow = (snapshot: PluginStatusSnapshot): SkillListRow => ({\n label: 'role',\n value: getUserRoleLabel(snapshot),\n});\n\nconst compactSkillName = (skill: PublishedSkillSummary): string => {\n const name = skill.skillName.trim() || skill.artifactName.trim() || skill.skillSlug;\n if (name === skill.skillSlug) return name;\n\n return `${name} (${skill.skillSlug})`;\n};\n\nconst toEffectiveSkillLabel = (skill: PublishedSkillSummary): string => {\n if (skill.assignmentSource.includes('USER')) return 'user';\n if (skill.contextKind === 'global') return 'global';\n if (skill.contextKind === 'project') return 'project';\n\n return 'active';\n};\n\nexport const getSkillListRows = (snapshot: PluginStatusSnapshot): SkillListRow[] => {\n const activeRows = (snapshot.catalog?.skills ?? []).map((skill) => ({\n label: toEffectiveSkillLabel(skill),\n value: compactSkillName(skill),\n }));\n const availableRows = getInstallableNotInstalledSkills(snapshot).map((skill) => ({\n label: 'available',\n value: compactSkillName(skill),\n }));\n const ignoredRows = snapshot.ignoredPublishedSkills.skills.map((skill) => ({\n label: 'ignored',\n value: compactSkillName(skill),\n }));\n const rows = [...activeRows, ...availableRows, ...ignoredRows];\n if (rows.length <= MAX_LISTED_SKILLS) return rows;\n\n return [\n ...rows.slice(0, MAX_LISTED_SKILLS),\n {\n label: 'more',\n value: `${rows.length - MAX_LISTED_SKILLS} hidden · use opencode_wizard_published_skills_fetch`,\n },\n ];\n};\n\nexport const getSkillActionRows = (snapshot: PluginStatusSnapshot): SkillListRow[] => [getUserRoleRow(snapshot)];\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["MAX_PICKER_SKILLS","getInstallableNotInstalledSkills","snapshot","installableSkills","installableCatalog","skills","length","activeSkillSlugs","Set","catalog","map","skill","skillSlug","ignoredSkillSlugs","ignoredPublishedSkills","filter","has","getSkillCatalogSummary","loadedSkillCount","publishedSkillCount","workspaceSkillCount","assignmentCounts","project","userSkillCount","user","globalSkillCount","global","getUserRoleLabel","authState","role","status","getUserRoleRow","label","value","compactSkillName","name","skillName","trim","artifactName","toEffectiveSkillLabel","assignmentSource","includes","contextKind","getSkillListRows","options","rows","canOpenPicker","getSkillActionRows","normalizePickerText","toLowerCase","getSkillSearchText","artifactDescription","whenToUse","recommendationReason","identifiers","tags","flatMap","tag","slug","facet","Boolean","join","getPickerLabel","getSkillToolHint","toPickerRow","description","item","find","toolHint","relevance","getPickerSkills","getSkillPickerRows","query","normalizedQuery","tokens","split","searchText","every","token","sort","left","right","leftRelevance","rightRelevance","localeCompare","slice","getSkillPickerCommands","onSelect","row","title","category","suggested","undefined"],"sources":["../../src/tui/skill-helpers.ts"],"sourcesContent":["import type { PluginStatusSnapshot } from '../server.js';\nimport type { PublishedSkillSummary, TuiCommand } from './types.js';\n\nconst MAX_PICKER_SKILLS = 24;\n\ntype SkillListOptions = {\n canOpenPicker?: boolean;\n};\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\nexport type SkillListRow = {\n label: string;\n value: string;\n};\n\nexport type SkillPickerRow = SkillListRow & {\n skillSlug: string;\n description: string;\n toolHint: string;\n relevance: number | null;\n};\n\nexport const getSkillCatalogSummary = (snapshot: PluginStatusSnapshot): string => {\n const catalog = snapshot.catalog;\n const loadedSkillCount = catalog?.publishedSkillCount ?? 0;\n const workspaceSkillCount = catalog?.assignmentCounts?.project ?? 0;\n const userSkillCount = catalog?.assignmentCounts?.user ?? 0;\n const globalSkillCount = catalog?.assignmentCounts?.global ?? 0;\n\n return `${loadedSkillCount} loaded · ${workspaceSkillCount} workspace · ${userSkillCount} user · ${globalSkillCount} global`;\n};\n\nconst getUserRoleLabel = (snapshot: PluginStatusSnapshot): string => {\n if (snapshot.authState.role) return snapshot.authState.role;\n if (snapshot.authState.status === 'authenticated') return 'unknown';\n\n return 'none';\n};\n\nexport const getUserRoleRow = (snapshot: PluginStatusSnapshot): SkillListRow => ({\n label: 'role',\n value: getUserRoleLabel(snapshot),\n});\n\nconst compactSkillName = (skill: PublishedSkillSummary): string => {\n const name = skill.skillName.trim() || skill.artifactName.trim() || skill.skillSlug;\n if (name === skill.skillSlug) return name;\n\n return `${name} (${skill.skillSlug})`;\n};\n\nconst toEffectiveSkillLabel = (skill: PublishedSkillSummary): string => {\n if (skill.assignmentSource.includes('USER')) return 'user';\n if (skill.contextKind === 'global') return 'global';\n if (skill.contextKind === 'project') return 'project';\n\n return 'active';\n};\n\nexport const getSkillListRows = (snapshot: PluginStatusSnapshot, options: SkillListOptions = {}): SkillListRow[] => {\n const rows: SkillListRow[] = [\n options.canOpenPicker\n ? { label: 'open', value: '/wizard-skills' }\n : { label: 'fetch', value: 'opencode_wizard_published_skills_fetch' },\n ];\n\n if (getInstallableNotInstalledSkills(snapshot).length === 0 && snapshot.ignoredPublishedSkills.skills.length === 0) return rows;\n\n return [\n ...rows,\n {\n label: 'manage',\n value: 'opencode_wizard_published_skill_preference_set',\n },\n ];\n};\n\nexport const getSkillActionRows = (snapshot: PluginStatusSnapshot): SkillListRow[] => [getUserRoleRow(snapshot)];\n\nconst normalizePickerText = (value: string | null | undefined): string => value?.trim().toLowerCase() ?? '';\n\nconst getSkillSearchText = (skill: PublishedSkillSummary): string =>\n [\n skill.skillSlug,\n skill.skillName,\n skill.artifactName,\n skill.artifactDescription,\n skill.whenToUse,\n skill.recommendationReason,\n ...skill.identifiers,\n ...skill.tags.flatMap((tag) => [tag.slug, tag.label, tag.facet?.slug, tag.facet?.label]),\n ]\n .map(normalizePickerText)\n .filter(Boolean)\n .join(' ');\n\nconst getPickerLabel = (skill: PublishedSkillSummary): string => {\n if (skill.contextKind === 'installable') return 'available';\n return toEffectiveSkillLabel(skill);\n};\n\nconst getSkillToolHint = (skill: PublishedSkillSummary, label: string): string => {\n if (label === 'available') {\n return `read-only: install with opencode_wizard_published_skill_preference_set skill=${skill.skillSlug}`;\n }\n\n if (label === 'ignored') {\n return `read-only: unignore with opencode_wizard_published_skill_preference_set skill=${skill.skillSlug}`;\n }\n\n return `read-only: fetch body with opencode_wizard_published_skills_fetch skill=${skill.skillSlug}`;\n};\n\nconst toPickerRow = (skill: PublishedSkillSummary, label: string): SkillPickerRow => ({\n label,\n value: compactSkillName(skill),\n skillSlug: skill.skillSlug,\n description: [skill.recommendationReason, skill.whenToUse, skill.artifactDescription]\n .map((item) => item?.trim())\n .find((item): item is string => Boolean(item)) ?? '',\n toolHint: getSkillToolHint(skill, label),\n relevance: skill.relevance ?? null,\n});\n\nconst getPickerSkills = (snapshot: PluginStatusSnapshot): Array<{ skill: PublishedSkillSummary; label: string }> => [\n ...(snapshot.catalog?.skills ?? []).map((skill) => ({ skill, label: getPickerLabel(skill) })),\n ...getInstallableNotInstalledSkills(snapshot).map((skill) => ({ skill, label: 'available' })),\n ...snapshot.ignoredPublishedSkills.skills.map((skill) => ({ skill, label: 'ignored' })),\n];\n\nexport const getSkillPickerRows = (snapshot: PluginStatusSnapshot, query = ''): SkillPickerRow[] => {\n const normalizedQuery = normalizePickerText(query);\n const tokens = normalizedQuery.split(/\\s+/u).filter(Boolean);\n\n return getPickerSkills(snapshot)\n .filter(({ skill }) => {\n if (tokens.length === 0) return true;\n const searchText = getSkillSearchText(skill);\n return tokens.every((token) => searchText.includes(token));\n })\n .sort((left, right) => {\n const leftRelevance = left.skill.relevance ?? -1;\n const rightRelevance = right.skill.relevance ?? -1;\n if (leftRelevance !== rightRelevance) return rightRelevance - leftRelevance;\n return left.skill.skillSlug.localeCompare(right.skill.skillSlug);\n })\n .slice(0, MAX_PICKER_SKILLS)\n .map(({ skill, label }) => toPickerRow(skill, label));\n};\n\nexport const getSkillPickerCommands = (snapshot: PluginStatusSnapshot, onSelect?: (row: SkillPickerRow) => void): TuiCommand[] =>\n getSkillPickerRows(snapshot).map((row) => ({\n value: `opencode-wizard.skill-picker.${row.label}.${row.skillSlug}`,\n title: `Wizard skill: ${row.value}`,\n description: [row.label, row.relevance === null ? null : `relevance ${row.relevance}`, row.description, row.toolHint]\n .filter((item): item is string => Boolean(item))\n .join(' · '),\n category: 'Wizard skills',\n suggested: row.relevance !== null && row.relevance >= 80,\n onSelect: onSelect ? () => onSelect(row) : undefined,\n }));\n"],"mappings":"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","ignoreList":[]}
|
package/dist/tui/slots.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import { createElement as _$createElement } from "@opentui/solid";
|
|
2
1
|
import { createComponent as _$createComponent } from "@opentui/solid";
|
|
3
2
|
import { Panel } from './components/common.js';
|
|
4
|
-
import { SkillsRows } from './components/status-content.js';
|
|
3
|
+
import { SidebarSkillsRows, SkillsRows } from './components/status-content.js';
|
|
5
4
|
export const createWizardStatusSlot = (api, status, _refreshStatus) => ({
|
|
6
5
|
order: 240,
|
|
7
6
|
slots: {
|
|
@@ -17,7 +16,18 @@ export const createWizardStatusSlot = (api, status, _refreshStatus) => ({
|
|
|
17
16
|
});
|
|
18
17
|
}
|
|
19
18
|
}),
|
|
20
|
-
sidebar_content: (_ctx, _value) => _$
|
|
19
|
+
sidebar_content: (_ctx, _value) => _$createComponent(Panel, {
|
|
20
|
+
title: "Wizard Skills",
|
|
21
|
+
get theme() {
|
|
22
|
+
return api.theme.current;
|
|
23
|
+
},
|
|
24
|
+
get children() {
|
|
25
|
+
return _$createComponent(SidebarSkillsRows, {
|
|
26
|
+
api: api,
|
|
27
|
+
status: status
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
})
|
|
21
31
|
}
|
|
22
32
|
});
|
|
23
33
|
//# sourceMappingURL=slots.js.map
|
package/dist/tui/slots.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Panel","SkillsRows","createWizardStatusSlot","api","status","_refreshStatus","order","slots","home_bottom","_$createComponent","title","theme","current","children","sidebar_content","_ctx","_value"
|
|
1
|
+
{"version":3,"names":["Panel","SidebarSkillsRows","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 { SidebarSkillsRows, 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 <SidebarSkillsRows api={api} status={status} />\n </Panel>\n ),\n },\n});\n"],"mappings":";AACA,SAASA,KAAK,QAAQ,wBAAwB;AAC9C,SAASC,iBAAiB,EAAEC,UAAU,QAAQ,gCAAgC;AAE9E,OAAO,MAAMC,sBAAsB,GAAGA,CACpCC,GAAiB,EACjBC,MAAyB,EACzBC,cAA6B,MACV;EACnBC,KAAK,EAAE,GAAG;EACVC,KAAK,EAAE;IACLC,WAAW,EAAEA,CAAA,KAAAC,iBAAA,CACVV,KAAK;MAACW,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,CACnEV,KAAK;MAACW,KAAK;MAAA,IAAiBC,KAAKA,CAAA;QAAA,OAAER,GAAG,CAACQ,KAAK,CAACC,OAAO;MAAA;MAAA,IAAAC,SAAA;QAAA,OAAAJ,iBAAA,CAClDT,iBAAiB;UAACG,GAAG,EAAEA,GAAG;UAAEC,MAAM,EAAEA;QAAM;MAAA;IAAA;EAGjD;AACF,CAAC,CAAC","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@aexol/opencode-wizard",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.13",
|
|
4
4
|
"description": "OpenCode plugin for opencode-wizard published skills",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"oc-plugin": [
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"dist"
|
|
22
22
|
],
|
|
23
23
|
"scripts": {
|
|
24
|
-
"release:check": "npm run typecheck && npm run test",
|
|
24
|
+
"release:check": "npm run typecheck && npm run test && npm pack --dry-run",
|
|
25
25
|
"build": "node ./build.mjs",
|
|
26
26
|
"test": "npm run build && node --test \"test/**/*.test.mjs\"",
|
|
27
27
|
"typecheck": "tsc --noEmit -p tsconfig.json",
|